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 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.


Each EtherCAT device is controlled by the State Machine.

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 (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

SOMANET supports EtherCAT PDO Configuration for up to 20 objects.

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.