Closed ajoubertza closed 1 year ago
Hi @ajoubertza,
This is a good point, the version 1.3.2 fix this problem it happens not only with the poweron, the velocity, acceleration and other attributes can not set if the axis has problems.
Roberto
This is a good point, the version 1.3.2 fix this problem
@rhomspuron I guess you referring to this change: https://github.com/ALBA-Synchrotron/sardana-icepap/pull/6. I see how that will prevent this exception happening.
It could also hide real problems that occur after initialisation. However, since we can't really tell when Sardana is busy with the device initialisation there isn't an easy solution.
Closing this, as not longer required.
Having the
PowerOn
attribute memorized can cause a problem when the controller is restarted. Specifically, if the memorized value istrue
, but the IcePAP controller cannot turn on the power. This means the attribute initialisation fails, and the controller gets stuck in Alarm state. The only way to recover is to write a value offalse
to the attribute, and then restart the controller (i.e., Sardana Pool) again.This often occurs after a PLC lockout on the motors, and prevents us homing the motor again.
Not memorizing the attribute solves this problem. In general, we prefer Tango devices that do not try to modify the state of the hardware they control on startup.
Is there a reason the attribute must be memorized?
Example stack trace showing error during Pool startup (Sardana 3.3.5, sardana-icepap 1.0.2):