Glossary · Industrial communication
EtherCAT state machine
Also known as: ESM, EtherCAT device state machine
German: EtherCAT-Zustandsmaschine
In EtherCAT, the EtherCAT state machine is the communication state model of every subdevice, controlled by the main device, with the states Init, Pre-Operational, Safe-Operational and Operational, plus the optional Bootstrap state for firmware updates.
- Industrial communication
- Standards
In one sentence
The EtherCAT state machine moves each subdevice through Init, Pre-Operational, Safe-Operational and Operational, plus Bootstrap for firmware.
Example
After power-up, a filler's EtherCAT drives stay in Safe-Operational, sending inputs but holding outputs in a safe state, until the controller has checked their configuration and requests Operational.
How it applies
- Engineering: Each state enables more communication: Init none, Pre-Operational mailbox communication (for example parameter access via CANopen over EtherCAT (CoE)), Safe-Operational cyclic inputs with outputs held in a safe state, Operational inputs and outputs. The main device checks the configuration on each transition.
- Commissioning: A device that refuses a transition reports an AL status code, for example for an invalid process data mapping or a missing sync signal. These codes are the first thing to read when a device "hangs" in Pre-Operational or Safe-Operational.
- Maintenance: Firmware is loaded in Bootstrap, typically with File access over EtherCAT (FoE), and only on devices that support it.
- Documentation: The documentation team documents the device-specific behavior in each state, the meaning of the AL status codes and LED patterns, and what the machine does when a device drops out of Operational. The communication state is not a Safe state of the machine; that is defined by the safety functions.
EtherCAT state machine vs. machine state model
The EtherCAT state machine describes the communication of one device. Machine operating states, such as those in PackML (ISA-TR88.00.02), describe the behavior of the whole machine and are programmed in the controller.