EtherCAT State Machine
The EtherCAT State Machine (ESM) is required on all EtherCAT devices. The ESM in general
- defines 5 communication states of the slave device
- Init, Pre-Operational, Safe-Operational, Operational
- Bootstrap is an optional state for firmware upload
- specifies initialization and error handling of the slave device
- identifies the current communication relationship between the master and slave device
- requested and current state are accessed through the AL Control and AL Status registers
The ESM states can be transitioned as shown
Init State
- No communication to the application layer is allowed
- master only has communication to the data link registers (slave device eeprom, addressing, etc)
Pre-Operational State
- Mailbox (SDO) communication to the application layer is available
- No Process Data (PDO) communication.
- PDO register mapping should be completed. Transition to Safe-Operation will configure mapping.
Safe-Operational State
- Mailbox (SDO) communication to the application layer is available
- Slave output (tx) Process Data (PDO) communication is evaluated
Operational State
- All communication is commenced and valid
PDO Mappings
The Cool Muscle EtherCAT slave uses dynamic switching between modes and as such there is a single fixed PDO configuration.
All position, speed and acceleration data reference units. Units are defined as encoder counts. There are 50,000 encoder counts per revolution of the motor.
RxPDO
The RxPDO is the PDO received by the motor/slave device
Object | Name | Units | Data Type | Applicable Modes of Operation | Description |
---|---|---|---|---|---|
0x6040 | Controlword | - | UINT16 | All | The Controlword is used to control the state of the mode of operation. |
0x60FE | Digital outputs | - | UINT16 | All | Set the state of the digital outputs |
0x607A | Target position | units | INT32 | CSP | Set the target position of the motor |
0x60FF | Target speed | units/ms units/s | INT32 | CSV PV | Set the target speed of the motor. Note PV mode and CSV mode have different units. |
0x6060 | Modes of operation | - | INT8 | All | Set the required mode of operation |
TxPDO
The TxPDO is the PDO transmitted by the motor/slave device
Object | Name | Units | Data Type | Applicable Modes of Operation | Description |
---|---|---|---|---|---|
0x6041 | Statusword | - | UINT16 | All | The Statusword describes the current state of the mode of operation. |
0x603F | Error Code | - | UINT16 | All | The actual error code currently active. |
0x6064 | Position Actual Value | units | INT32 | All | The value of the motor's actual position |
0x606C | Speed Actual Value | units/ms | INT32 | All | The value of the motor's actual speed |
0x6077 | Torque Actual Value | 0.1% rated torque | INT16 | All | The value of the motor's actual peak torque |
0x60FD | Digital Inputs | - | UINT16 | All | Digital inputs status |
0x2301 | Temperature | °c | INT16 | All | The actual motor temperature in °c. |
0x6079 | DC Voltage | 0.1VDC | INT16 | All | The actual DC 24V DC bus voltage |
0x6061 | Modes of operation display | - | INT8 | All | The mode of operation currently running. |
Overview
Content Tools