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  <20212022  2023  2024  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  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Access motor controller target positions of other axes in asynMotorAxis::move
From: Mark L Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>, Laurenz Rettig <rettig at fhi-berlin.mpg.de>
Date: Fri, 12 Nov 2021 13:37:19 +0000
Hi Laurenz,

  • In the communication with the controller, I have to provide the target positions of all axes at once, if I want to get it moving correctly. 

Your asynMotorController class has access to all of the axes.

You can look at the Newport XPS driver for an example of how to do this. 

That driver has the option of "deferred moves".  This means that as each axis is told to move the desired position is cached.  When that flag is cleared then all of the axes begin to move at the same time.  Note that this is tied to the concept of motion "groups" in the XPS, so the implementation may need to be different for your driver.

asynMotorController and asynMotorAxis also support the concept of ProfileMoves.  For this the motion path for each axis is defined in a waveform record.  The time per motion element is also defined, which produces the velocity for each axis in that element.  Then the controller is told to execute that motion profile, so that all the axes can move on a complex trajectory in N space.

Mark




From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Laurenz Rettig via Tech-talk <tech-talk at aps.anl.gov>
Sent: Friday, November 12, 2021 3:58 AM
To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: Access motor controller target positions of other axes in asynMotorAxis::move
 
Hi,

I'm working on a motor driver (Model 3) for a SPECS manipulator
controller. In the communication with the controller, I have to provide
the target positions of all axes at once, if I want to get it moving
correctly. The move function in the asynMotorAxis class only moves one
axis at a time. How can I access the target positions (i.e. the values
of the main motor axes PVs) of the other axes in the
asynMotorAxis::move() function, in order to construct the right command
for the controller? Or is there any better way, like a combined axes
command, or so?

Thanks, Laurenz

--
Dr. Laurenz Rettig                  rettig at fhi-berlin.mpg.de
Emmy Noether Research Group Dynamics of Correlated Materials
Fritz Haber Institute of the Max Planck Society
Department of Physical Chemistry
Faradayweg 4-6                         Tel: +49 30 8413 5225
14195 Berlin, Germany                  Fax: +49 30 8413-5387


Replies:
Re: Access motor controller target positions of other axes in asynMotorAxis::move Laurenz Rettig via Tech-talk
References:
Access motor controller target positions of other axes in asynMotorAxis::move Laurenz Rettig via Tech-talk

Navigate by Date:
Prev: StreamDevice Format Converters Donny Domagoj Cosic via Tech-talk
Next: Re: Access motor controller target positions of other axes in asynMotorAxis::move Laurenz Rettig 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  <20212022  2023  2024 
Navigate by Thread:
Prev: Access motor controller target positions of other axes in asynMotorAxis::move Laurenz Rettig via Tech-talk
Next: Re: Access motor controller target positions of other axes in asynMotorAxis::move Laurenz Rettig 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  <20212022  2023  2024 
ANJ, 12 Nov 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·