Hi,
It’s possible for a motor to move back to the previous position at IOC init, if using autosave, even if the current position is non-zero. This can happen if you use autosave and restore the positions after IOC
init using the set_pass1_restoreFile function.
For example:
1)
Move the motor to position A
2)
Shutdown the IOC
3)
Move the motor to position B (using some other software)
4)
Start the IOC
5)
Autosave restores position A after IOC init
6)
Motor moves back to position A
The way to get around this (potentially dangerous) behaviour, is to use set_pass0_restoreFile instead. This will restore the position before IOC init, and the motor record device support will handle the logic
that Mark described.
I’m not sure if this is the problem you’re seeing though. If it isn’t, a detailed asyn trace would help, and a copy of the IOC startup file.
Cheers,
Matt
Are you using the EPICS autosave module to save your motor positions? If so, then when you restart EPICS it should restore the previous position automatically. The motor record actually does the
following logic:
-
If the controller position at EPICS startup is non-zero it uses the controller position
-
If the controller position at EPICS startup is 0 it uses the autosaved position
What is causing the motor to move at the end of initialization? That does not normally happen.
Mark
Good Afternoon,
I am new to EPICS and am working on creating a motor controller for the PI E517 motor. I am using EPICS R3.14.12 and Motor 6.5 I have got the device communicating and am able to perform the necessary commands but have
run into a problem with initialization. The problem is that when I restart my EPICS application I might be in the middle of a scan and therefore I don’t want the motor to change its current position (ideally I don’t want to have to move the motor to the same
position). At the moment when I restart the application the motor is returning to a zero position. I suspect that I am not initializing the DVAL field correctly in the MOTOR record, but have not been able to confirm as the motor is moved as soon as the
initialization is complete and before I can monitor. Any feedback or direction would be greatly appreciated.
Regards,
Tonia Batten, P.Eng
Control System Analyst
Canadian Light Source
44 Innovation Blvd.
Saskatoon, SK S7N 2V3
Tel: 306-657-3865
Email: [email protected]
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