EtherCAT System Documentation

CoE interface – parameter management in the EtherCAT system



Many different devices are used in an automation environment. These devices can be used separately or together in a group on a bus system. Such devices can be controllers, shaft encoders, servo drives, motors, I/O modules or sensors among other things.

Depending upon complexity, such a device must be parameterizable/adjustable for the respective requirement. Parameterization is perhaps not necessary in the case of a simple digital 24 V input with a fixed switching threshold and delay; in the case of a rotary encoder, however, it will not be possible to do without it (e.g. number of lines, absolute or relative, data format, etc.)

On top of that it can be of interest to store data in the device during production or operation.
The manufacturer could store production data such as device name, serial number, firmware version, calibration data or date of manufacture, if necessary provided with protection against access or amendment.
The user could store user calibration data and the application-specific settings in the device.

In order to create a user-friendly interface for device operation, different organizations have created various standards in which the following are defined:

The device classes that exist (e.g.: class ‘rotary encoder’, ‘analogue input module’)
The parameters that each representative of such a class has (obligatory and optional elements)
The place where these parameters are to be found and the mechanism with which they are to be changed.

EtherCAT follows the so called CoE standard here: Can-Application-protocol-over-EtherCAT.



The CiA organization (CAN in Automation) pursues among other things the goal of creating order and exchangeability between devices of the same type by the standardization of device descriptions. For this purpose so-called profiles are defined, which conclusively describe the changeable and unchangeable parameters of a device. Such a parameter encompasses at least the following characteristics:

Index number – for the unambiguous identification of all parameters. The index number is divided into a main index and a subindex in order to mark and arrange associated parameters.
- Main index
- Subindex, offset by a colon ‘:’
Official name – in the form of an understandable, self-descriptive text
Specification of changeability, e.g. whether it can only be read or can also be written
A value – depending upon the parameter the value can be a text, a number or another parameter index.

Sample: the parameter ‘Vendor ID’ might have the index number 0x4120:01 and the numerical value ‘2’ as the ID of a Beckhoff device.
Since hexadecimal values are favored in the machine environment, the parameter is thus represented from the user’s point of view as


with the property RO (read only), because the vendor ID should not be changed by the user.

Such a list of parameters, the whole of the device-specific CoE directory, can become very extensive. The first entries of a Beckhoff EL3152 analog input terminal appear as follows in the TwinCAT System Manager:

EL3152 CoE directory

The index numbers are specified in the profile; they begin in EtherCAT with 0x1000, because the underlying entries do not have to be displayed.


CoE directory – availability

An EtherCAT device can have a CoE directory, but does not need to have one. Simple slaves need no parameter directory or do not have the controller required for administration. On the other hand, the EtherCAT master (like TwinCAT) as a software EtherCAT device can also manage a CoE directory.

If present, the CoE directory is in operation from the PREOP state.

The object directory can be read via the SDO information service (Service Data Objects).


CoE directory – localization in the EtherCAT Slave

The CoE directory as a parameter system must be administrated in the device in the firmware (FW) in the local controller. This is the so-called online directory, because it is only available to the user if the EtherCAT slave is in operation with operating voltage supplied and, if applicable, can be manipulated via EtherCAT communication.

So that the parameters can be viewed and changed in advance without the presence of a slave, a default copy of the entire directory is usually stored in the device description file ESI (XML). This is called the offline directory. Changes in this directory do not affect the later operation of the slave with TwinCAT. The xml files can be obtained from the Beckhoff website in the Download area.

The TwinCAT system manager 2.11 can display both lists and marks this:

Online/Offline display
In the online directory
In the offline directory
the actual current slave list is read. This may take several seconds, depending on the size and cycle time
the offline list from the ESI file is displayed. In this case modifications are not meaningful or possible.
the actual identity is displayed
the configured status is shown under Identity
the firmware and hardware version of the equipment according to the electronic information is displayed
no firmware or hardware version is displayed, since these are features of the physical device
a green online is visible in the TwinCAT System Manager, CoE Online tab
a red offline is visible in the TwinCAT System Manager, CoE Online tab


Different CoE parameter types are possible, including string (text), integer numbers, Boolean values or larger byte fields. They can be used to describe a wide range of features. Examples of such parameters include manufacturer ID, serial number, process data settings, device name, calibration values for analog measurement or passwords.

The ranges in the Slave CoE that are important for the application-oriented EtherCAT fieldbus user are

0x1000: This is where fixed identity information for the device is stored, including name, manufacturer, serial number etc., plus information about the current and available process data configurations.
0x8000: This is where the operational and functional parameters for all channels are stored, such as filter settings or output frequency.

The following ranges are also of interest

0x4000: In some EtherCAT devices the channel parameters are stored here (as an alternative to the 0x8000 range).
0x6000: Input PDOs ("input" from the perspective of the EtherCAT master)
0x7000: Output PDOs ("output" from the perspective of the EtherCAT master)

Channel-based order

The CoE directory is located in EtherCAT devices that usually encompass several functionally equivalent channels. e.g. a 4-channel 0 – 10 V analog input terminal also has 4 logical channels and thus 4 identical sets of parameter data for the channels. In order to avoid having to list each channel in the documentation, the placeholder "n" tends to be used for the individual channel numbers.

In the CoE system 16 indices, each with 255 subindices, are generally sufficient for representing all channel parameters. The channel-based order is therefore arranged in 16dec/10hex steps. The parameter range 0x8000 exemplifies this:

Channel 0: Parameter range 0x8000:00 ... 0x800F:255
Channel 1: Parameter range 0x8010:00 ... 0x801F:255
Channel 2: Parameter range 0x8020:00 ... 0x802F:255

This is generally written as 0x80n0.


CoE directory – changes of value

Several parameters, in particular the setting parameters of the slave, are variable and can be written by the user from the fieldbus side. This can be done in write or read mode

via the system manager (Fig. Manual insertion of a start-up entry) by the operator clicking on it.
The values are then changed directly in the online-connected slave.
This is useful for commissioning of the system/slaves. Click on the row of the index to be parameterized and enter a value in the "SetValue" dialog.
from the control system/PLC via ADS, e.g. through blocks from the TcEtherCAT.lib library
This is recommended for modifications while the system is running or if no System Manager or operating staff are available.
during the EtherCAT startup through predefined commands, the so-called startup list.
The TwinCAT configuration is usually created in advance without EtherCAT slaves actually being present. Then it should be possible before commissioning to adjust known properties such as filter settings offline in order to accelerate commissioning.

CoE directory – startup list

Start-up list
Changes made to the local CoE directory of the EtherCAT slaves are lost with the old device in case of exchange. If a device is replaced with a new Beckhoff device, it will have the default settings. It is therefore advisable to link all changes in the CoE list of an EtherCAT slave with the Startup list of the slave, which is processed whenever the EtherCAT fieldbus is started. In this way a replacement EtherCAT slave can automatically be parameterized with the specifications of the user.
If EtherCAT slaves are used which are unable to store local CoE values permanently, the Startup list must be used.

The startup list is used for these cases: the values here, which are entered by the user, are transmitted to the respective slave upon each EtherCAT state transition/start. A startup entry consists of

Time: the state transition in which the command is sent
PS (PREOP-->SAFEOP) is usually the correct choice, since an EtherCAT slave then switches to operative input mode.
Index: Subindex

The order of the entries is not taken into account: all entries to which a state transition applies are handed over simultaneously as asynchronous commands to the EtherCAT system and executed there, as soon as the bus load allows.

No check is made of whether an identical entry is already present in the slave.



In the following, the user scaling is activated in the startup list of an EL3152. Entries required for operation that already exist in the list are marked with a grey background.

Upon right-clicking on the surface, the following dialog appears:

Manual insertion of a startup entry

The corresponding values are adopted upon clicking the entry 0x8000:01; 01 is entered in Data as the desired value. The entry ‘P->S’ marks the time of the execution.

Changed startup list

Entries created by the user are marked with a light blue background.


CoE directory - data management

Data management
If slave CoE parameters are modified online, Beckhoff devices store any changes in a fail-safe manner in the EEPROM, i.e. the modified CoE parameters are still available after a restart.
The situation may be different with other manufacturers.
If EtherCAT slaves are used which are unable to store local CoE values permanently, the Startup list must be used.

Summary of the characteristics

Not every EtherCAT device must have a CoE directory
If a CoE directory is present, it is administrated, prepared for querying and writing and stored in the device by the controller.
The EtherCAT master can be used for viewing/querying/changing, or a local user interface on the device (keypad, screen) allows access.
Changed settings are stored fail-safe in Beckhoff devices.
If the device is later exchanged, however, the settings that have been changed from the series standard are lost. The EtherCAT master can then load the changed CoE parameters into the new device at startup, if it is set up appropriately.
So that a CoE directory is available offline during the preparation for configuration, it can be contained in the device description as a copy.
The extent to which the CoE directory is supported depends on the capabilities of the EtherCAT master.