CANopen over EtherCAT (CoE)

CANopen is a fieldbus system and device profile specification for embedded systems used in automation. Among others CANopen defines communication models like master/slave, where the master sends or requests data from the slaves. CANopen over EtherCAT (CoE) 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 is defined in the IEC standard IEC 61800-7-201 for adjustable speed electrical power drive systems.

If you are using TwinCAT as your controller, you will need to import the SOMANET CiA 402 ESI (EtherCAT Slave Information) XML file to your project.


Each CiA 402 device is controlled by the State Machine.

The devices of the motion control system are configured by the Service Data Objects (SDO) while the real-time process data is transferred by Process Data Objects (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 PDO (RxPDO, Master to Slave direction) or transmit PDO (TxPDO, Slave to Master direction).

PDO data is internally updated by the slave (servo drive) at a rate of up to 4kHz and can be accessed by the master (e.g. PLC, Motion Controller) at any desired frequency.

For more information about PDO refer to ETG1000.5 and ETG1000.6

PDO Configuration

SOMANET supports EtherCAT PDO Configuration for up to 20 objects on 4 maps. This allows to use up to 80 objects per direction.

PDO Config allows to change the mapping of the PDO mappings itself. Every PDO mappable object from the object dictionary can be added into a PDO mapping. It is possible to add up to 20 objects to one PDO mapping


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.