Motion State Machine
The controller's firmware uses a state machine for motion. The motion state machine has three states (Moving, Idle, Error). Transitions between states occur after a command (Start, Resume, Modify, Stop, E-Stop, Abort, Reset) or after an event (Done).
MPIActions can come from the host or the firmware. For safety, there are restrictions on who can generate certain MPIActions:
|
- The firmware can never issue Start.
- The firmware can never issue Resume.
- The firmware can never issue Reset.
- The host can never issue Done.
|
MPIAction |
Originating from Host |
Originating from XMP Firmware |
Start
Resume
Reset
Stop |
mpiMotionXxxxMove*
mpiMotionAction(motion, MPIActionRESUME)
mpiMotionAction(motion, MPIActionRESET)
mpiMotionAction(motion, MPIActionSTOP) |
Never
Never
Never
Event |
E_Stop
Abort |
mpiMotionAction(motion, MPIActionE_STOP)
mpiMotionAction(motion, MPIActionABORT) |
Event
Event |
Done |
Never |
If Settled and In_Position |
* Where Xxxx is the move type.
|