Experimental Physics and Industrial Control System
|
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
<2015>
2016
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
<2015>
2016
2017
2018
2019
2020
2021
2022
2023
2024
|
ANJ, 16 Dec 2015 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|