Tango state machines
|
|
---|---|
Hi all, I'm wondering if someone knows of a framework for state machines in Tango similar to EPICS' SNL (https://epics.anl.gov/docs/GSWE/iocs/snl.pdf) or has anyone looked into anything similar in the past? Thank you. |
|
|
---|---|
Hi. Please be so kind and provide an example for the state machine that you are looking for. Is it about the Tango Controls device state or is it about something else? An example will demonstrate what kind of state machine you are looking for, avoid confusion and makes guessing unnecessary. Cheers, Thomas |
|
|
---|---|
Hi, Sorry for the confusion. I'm not talking about the devices' state, but a state machine that is able to read attributes from one or more Tango devices and then can move through different states, with the possibility of also writing attributes (or executing methods) in different Tango devices depending on the state it finds itself on. Let me put the very simple example of a state machine for the homing of a motor: We start from UNKNOWN state. We read from a tango device server an attribute that, when it is set to 1, signals we want to start the homing procedure. We then tell the device server of the motor to move it towards one of its limits therefore going to state MOVING. When it hits it we start moving it to the home position, entering the MOVING TO HOME state, and when it reaches it we stop and the homing is considered finished. Then for any of the moving states if it takes longer than X seconds we move to state FAIL. I hope this helps, Albert. PS: I attach an image of the state machine in case my explanation was too convoluted/confusing. |