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  <20152016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Motor Record monitoring of Demand Value
From: Ron Sluiter <[email protected]>
To: <[email protected]>, <[email protected]>
Date: Thu, 24 Sep 2015 12:11:15 -0500
Hello Giles,

The scenario you describe falls under "Case #3" in the motor record docs.

Since not all motor controllers support a new target position while a move is in progress (e.g. the OMS MAXv simply queues the next move), the only way I could see adding the behavior you are suggesting (i.e., under Case #3 don't wait for the current move to complete before issuing the next move command), would be to add a new motor record characterization field for this new behavior.

Like the CNEN and the GAIN_SUPPORT bit in the MSTA , a new status bit (OVERRIDE_MOVE) would have to be added to the MSTA that the driver sets indicating that this controller supports overriding an active move with a new target position. Then a new, motor characterization field (OVM) would allow the user to request this behavior. That's the infrastructure. Then there is modifying the motor record to implement the behavior.

If you can implement this outside the motor record, that would be preferable. If not, I would consider changing the motor record as outlined above. Let me know your preference.

Ron


On 9/24/2015 6:31 AM, [email protected] wrote:
Hello,

I have a requirement for the motor record to have a mode in which it always immediately sends new demand positions down to the driver (always call move).

I believe at present the NTM behaviour does not include this capability.

I am looking for advice as to the best approach to adding this option in the motor record. Or even better, information on how to achieve this with the existing motor record.

See below for a detailed explanation of the requirement.

Many thanks,
   Giles.



I have implemented an extension to deferred moves in the type 3 driver for the Delta Tau Pmac. This new type of deferred move is coordinated so that all axes start and finish at the same time with the longest move determining the speed of all axes. This uses a pmac coordinate system and motion program to control the axes. It is used for the 6 circle diffractometer on I16, all 6 axes are in the same coordinate system - in a deferred coordinated move the driver passes parameters to the motion program giving the new position one or more axes, then executes the program.

The approach has been very successful except that occasionally the driver does not receive all of the demand positions that the client sends. In one instance this week, this resulted in a crash.

I am guessing this happens because the motor record does not always send a demand value when it sees an axis is moving. Consider the following steps


  1.  a previous move of axes kappa and kphi completes and causes a momentary adjustment in ktheta
  2.  ktheta is polled and its in position state is false, so its motor record DMOV is now false (and will be until the next poll in 1/10 seconds)
  3.  client sets PV -> driver mode = coordinated deferred
  4.  client sets new demand position on kappa
  5.  motor record calls move and the driver records the demanded position
  6.  client sets demand on ktheta
  7.  the new demand is for the same direction as ktheta is currently travelling and further than its current demand so NTM behaviour means that the driver is not called yet
  8.  client sets PV -> driver mode = GO
  9.  the driver sends the demanded positions and executes the motion program - but it has only seen kappa demand and ktheta does not move
  10. 1/10 sec after step 2 ktheta is polled and found to be in position - the demand will now be sent to the driver but all the axes are now under control of the motion program until kappa reaches its target.






Replies:
RE: Motor Record monitoring of Demand Value giles.knap
References:
Motor Record monitoring of Demand Value giles.knap

Navigate by Date:
Prev: RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
Next: Re: alarm severity set by other channel values Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Motor Record monitoring of Demand Value Pearson, Matthew R.
Next: RE: Motor Record monitoring of Demand Value giles.knap
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·