CANopen over EtherCAT (CoE)¶
CANopen is a fieldbus system and device profile specification for embedded systems used in automation. CANopen over EtherCAT incorporates specialized profiles for motion control and supports a standardized set of commands to be used for motion control. This set of commands is known as CiA 402 and defined and the IEC standard IEC 61800-7-201:2015 for adjustable speed electrical power drive systems.
If you are using TwinCAT you will need to import the SOMANET CiA 402 ESI (EtherCAT Slave Information) to your project.
Drive State Machine (CiA 402)¶
Each EtherCAT device is controlled by the State Machine. This diagram depicts the transitions of the system’s states according to IEC 61800-7-201
Function |
FSA States |
|||||||
Not ready to switch on |
Switch on disabled |
Ready to switch on |
Switched on |
Operation enabled |
Quick Stop active |
Fault reaction active |
Fault |
|
Brake applied, if present |
Yes |
Yes |
Yes |
Yes |
No |
No |
No |
Yes |
Low-level power applied |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
High-level power applied |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Drive function enabled |
No |
No |
No |
No |
Yes |
Yes |
Yes |
No |
Configuration allowed |
Yes |
Yes |
Yes |
Yes |
No |
No |
No |
Yes |
The devices of the motion control system are configured by the Service Data Objects (SDO) while the process data is transferred by Process Data Objects (PDO).
PDO¶
PDO (Process data objects) are used in EtherCAT to cyclically transfer in real-time control (e.g. target velocity) and status (e.g. current velocity) variables. These variables are identified by their Index and Subindex in the object dictionary. With the help of the PDO mapping, the objects from the object dictionary are assigned to either receive data (RxPDO, Master to Slave direction) or transmit data (TxPDO, Slave to Master direction).
PDO data is updated at a rate of 1kHz. Higher or lower frequencies are available upon request.
The PDO communication follows the producer/consumer principle, so messages transmitted by a device (producer) can be read by all other device (consumers).
For more information about PDO refer to ETG1000.5 and ETG1000.6
PDO Configuration¶
SDO¶
SDO (Service Data Objects) are used to exchange parameters between master and slave devices in a EtherCAT Network. This isn’t done in real-time. They provide read and write access to all entries in the device object dictionary.
Typical examples are:
Configuring the Drive system
Reading error codes
For more information about SDO refer to ETG1000.5 and ETG1000.6.