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: <[email protected]>
To: <[email protected]>
Cc: [email protected]
Date: Fri, 25 Sep 2015 10:23:08 +0000
Ron,

Thanks for the offer, we would very much appreciate this new field in the motor record. I believe that it is generally useful for those controllers that support new target position during a move.

The diffractometer in question has just switched motor controllers from Newport XPS to Delta Tau and I have tried very hard to keep the same API that we had with XPS. The interactions with the client are complex and originally took considerable time to perfect. Hence switching to a new approach that goes outside of the motor record would be risky.

Many thanks,
   Giles...
________________________________
From: Ron Sluiter [[email protected]]
Sent: 24 September 2015 18:11
To: Knap, Giles (DLSLtd,RAL,TEC); [email protected]
Subject: Re: Motor Record monitoring of Demand Value

Hello Giles,

The scenario you describe falls under "Case #3" in the motor record docs.<https://subversion.xray.aps.anl.gov/synApps/motor/trunk/documentation/motorRecord.html#Fields_misc>

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]<mailto:[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.







-- 
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. 
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom



References:
Motor Record monitoring of Demand Value giles.knap
Re: Motor Record monitoring of Demand Value Ron Sluiter

Navigate by Date:
Prev: Re: Unable to build support modules on Windows, with base 3.15.2 Kevin Peterson
Next: Oerlikon leybold MAG.DRIVE iS peter.leicester
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 Ron Sluiter
Next: signal enable/disable in drvSIS3820 driver Hovanes Egiyan
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 ·