EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024 
<== Date ==> <== Thread ==>

Subject: Re: Question about the best practice for integrating a stepper motor Python library into EPICS
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>, Alexander Kessler <alexander.kessler at uni-jena.de>
Date: Thu, 11 May 2023 12:30:51 +0000
Hi Alex,
  • I have an in-house built stepper motor controller and a python library to control it. 
  • It simply opens a TCP socket, sends a command bytecode and queries some state bytes.
Do you mean that the Python library opens a socket to the controller and sends a command bytecode and queries bytes from the hardware?
Or do you mean that external software (like EPICS) opens a socket to the Python library and sends a bytecode?  
In other words is the Python library a socket server, or a socket client?

If the Python library is a socket client then how complex is it?  It might just be easier to replace it with a C++ asynMotorController that sends the bytecode and parses the response.

Mark



From: Tech-talk on behalf of Alexander Kessler via Tech-talk
Sent: Thursday, May 11, 2023 5:44 AM
To: tech-talk at aps.anl.gov
Subject: Question about the best practice for integrating a stepper motor Python library into EPICS

Dear community,

I have an in-house built stepper motor controller and a python library
to control it. It simply opens a TCP socket, sends a command bytecode
and queries some state bytes.
I would like to include the Python code in EPICS as my first productive
EPICS exercise. In C++, I would take EPICS engine module and create a
child class of asyncMotorControler.  But what is the best way to handle
it with Python? Is there an equivalent to C++ parent class on CAPROTO basis?

Thanks and best wishes,

AlexK

--
Alexander Kessler

Helmholtz-Institut-Jena
Fröbelstieg 3, 07743 Jena
phone:    +49-3641-947296
fax:      +49-3641-947299
email:    alexander.kessler at uni-jena.de
web:      http://www.rlp-ioq.uni-jena.de/
           http://www.hi-jena.de

Facility for Antiproton and Ion Research in Europe GmbH (FAIR GmbH) GSI Helmholtzzentrum für Schwerionenforschung GmbH Planckstraße 1, 64291 Darmstadt, Germany, www.fair-center.eu, www.gsi.de

Commercial Register / Handelsregister:
FAIR: Amtsgericht Darmstadt, HRB 89372
GSI: Amtsgericht Darmstadt, HRB 1528
Managing Directors / Geschäftsführung:
Professor Dr. Paolo Giubellino, Jörg Blaurock Chairman of the GSI Supervisory Board / Vorsitzender des GSI-Aufsichtsrats:
Ministerialdirigent Dr. Volkmar Dietz


Replies:
Re: Question about the best practice for integrating a stepper motor Python library into EPICS Ralph Lange via Tech-talk
Re: Question about the best practice for integrating a stepper motor Python library into EPICS Alexander Kessler via Tech-talk

Navigate by Date:
Prev: Question about the best practice for integrating a stepper motor Python library into EPICS Alexander Kessler via Tech-talk
Next: Re: Question about the best practice for integrating a stepper motor Python library into EPICS Ralph Lange via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024 
Navigate by Thread:
Prev: Question about the best practice for integrating a stepper motor Python library into EPICS Alexander Kessler via Tech-talk
Next: Re: Question about the best practice for integrating a stepper motor Python library into EPICS Ralph Lange via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024 
ANJ, 11 May 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·