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: nPoint motor driver
From: Kevin Peterson via Tech-talk <tech-talk at aps.anl.gov>
To: Randall Cayford <rcayford at lbl.gov>
Cc: "Engbretson, Mark S. via Tech-talk" <tech-talk at aps.anl.gov>
Date: Tue, 9 Nov 2021 11:41:52 -0600
Randall,

tl;dr The EPICS nPoint motor driver does not currently provide a way to execute a user-specified wavetable.

I took a closer look at the driver. The controller's wavetable functionality is used internally to implement trapezoidal motion profiles for every point-to-point move.

Specifically, the move method does the following:

1. generates the trapezoidal move profile:


https://github.com/epics-motor/motorNPoint/blob/4d8b0d1cc0dc78315f8dad1279fd53a1e4cac0ce/nPointApp/src/LC400MotorDriver.cpp#L732

2. writes the trapezoidal move profile to the controller:


https://github.com/epics-motor/motorNPoint/blob/4d8b0d1cc0dc78315f8dad1279fd53a1e4cac0ce/nPointApp/src/LC400MotorDriver.cpp#L737-L738

4. runs the loaded waveform:


https://github.com/epics-motor/motorNPoint/blob/4d8b0d1cc0dc78315f8dad1279fd53a1e4cac0ce/nPointApp/src/LC400MotorDriver.cpp#L798

The wavetable records in LC400_auxParameters look like they are mostly used as readbacks. I don't know how helpful the output wavetable records are.

Asyn model-3 motor drivers like the NPoint LC400 driver can implement profileMove methods which allow users to specify desired positions in an EPICS waveform:


https://github.com/epics-modules/motor/blob/6d127cd6f433ff34256a53d6e7ff0309cc741dad/motorApp/Db/profileMoveAxis.template#L32-L42

The profileMove screens in the motor module look very similar to the trajectoryScan screen here (trajectoryScan sequence programs pre-date asyn model-3 motor drivers):

  https://epics-modules.github.io/motor/trajectoryScan.html#MEDM%20screens

Kevin

On 11/8/21 14:47, Randall Cayford wrote:
Thanks Kevin.

I’ve got those records but I’m not clear on what you mean.  None of those PVs appear to set a wavetable entry.  Are you saying that the current implementation only allows keeping the wavetable in the outside program and issuing a series of moves by setting the val motor field, waiting, and setting the next?  So not using the ability of the nPoint to do custom wavetables at all?  Is loading a custom wavetable what you mean by profileMove isn’t implemented?

Randall

References:
nPoint motor driver Randall Cayford via Tech-talk
Re: nPoint motor driver Kevin Peterson via Tech-talk
Re: nPoint motor driver Randall Cayford via Tech-talk

Navigate by Date:
Prev: Re: Re:Re: Re:RE: archiver appliance start failed Han Lee via Tech-talk
Next: RE: EPICS support for the Omega Platinum Series PID Controllers Sobhani, Bayan 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: Re: nPoint motor driver Randall Cayford via Tech-talk
Next: css could not start since java version changed 网易邮件中心 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, 09 Nov 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·