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
|