EtherCAT devices contain a lot of data items (objects) that may need to be accessed for configuration and during normal operation. The device manufacturer creates the objects. The objects vary by device and there often is a lot of commonality between devices.
The Object Dictionary is a list of data (objects) accessible in an EtherCAT device. The Object Dictionary provides the data types and accessibility of the objects, such as read-only, read/write, etc. The RMC supports the CANopen over EtherCAT (CoE) protocol, which is supported by most EtherCAT devices. CoE defines the addressing (Index) and data type of the objects. The RMC does not directly support SERCOS over EtherCAT (SoE), which uses a different addressing method.
The CoE Object Dictionary is useful for finding data to include in the PDO Mapping, in the Init commands, and in SDO communication in user programs (SDO will be supported in a future release).
The CoE Object Dictionary provides a description of all the objects, not the actual data values in those objects. To view the real-time values of the objects, use the EtherCAT Diagnostics CoE Object Dictionary tab, or add objects to PDO mappings and view those values in the EtherCAT Diagnostics Process Data tab.
Where to Find the Object Dictionary
The Object Dictionary can be found in these places:
Manufacturers documentation:
EtherCAT SubDevice manufacturers typically provide user manuals that includes the Object Dictionary of the SubDevice.
RMCTools EtherCAT Editor:
The RMCTools EtherCAT Editor will include a CoE Object Dictionary tab for a SubDevice, if the SubDevice supports CoE and the SubDevice manufacturer has included the Object dictionary in the ESI file.
RMCTools EtherCAT Diagnostics:
The RMCTools EtherCAT Diagnostics will include an CoE Object Dictionary tab for a SubDevice, if the SubDevice supports CoE and the SubDevice manufacturer has included the Object dictionary in the ESI file or in the SubDevice.
The EtherCAT Diagnostics CoE Object Dictionary tab offers two options: view the object dictionary from the ESI file, or view from the SubDevice. Sometimes, one view will contain more objects than the other.
Dictionary Structure
In the CoE Object Dictionary, each item has a 16-bit address (Index), for example 0x2306. The “0x” means the address is given as a hexadecimal number.
The Index value gives an idea of what kind of data it is:
Object Index Range |
Description |
0x1000 - 0x1FFF |
Settings to configure the communication features of a SubDevice. You normally do not have to pay attention to these. |
0x2000 – 0x5FFF |
Vendor-specific objects These objects are defined by the device vendor. Therefore, they will be different between devices. |
0x6000 – 0x9FFF |
Profile-specific objects These objects are defined by a standard application profile. If the device uses a standard profile, such as CiA-402 for drives, or CiA-408 for valves, these indexes will be populated and will be similar between such devices. |
When you choose data from the Object Dictionary to be used in PDO data, you will typically be choosing data from the 0x2000 – 0x5FFF range or the 0x6nnn range.
Object Data Format
Each data item, or object, in the Object Dictionary can be a single data item of any data type, or can be a structure containing many data items, each addressed with an 8-bit subindex.
Objects consisting of one data item
If the object consists of only a single data item, that item is addressed with the Index, followed by a semicolon and a Subindex of zero.
Example:
The CiA402 standard defines the Index for Position actual value to be 0x6064 and the data type is a 32-bit signed integer. This is a single data item, so it is addressed with the index and a subindex of zero: 0x6064:00
Objects consisting of many data items
If the object consists of many items, each item within the object is addressed with the Index followed by a semicolon and the Subindex of that item. The first subindex of zero is an 8-bit value that contains the number of subindexes that object contains (in addition to subindex zero). An object can contain up to 255 items.
Example:
The CiA402 standard defines the Index for Position range limit to be 0x607B, and it contains two items. The addressing of those items are:
0x607B:00 – Subindex 0. The data type of subindex 0 is USINT, an 8-bit unsigned integer. The value of this index in this case is 2, which indicates two subindex items (in addition to subindex zero).
0x607B:01 – Subindex 1, data type DINT. The minimum position value of the range.
0x607B:02 – Subindex 2, data type DINT. The maximum position value of the range.
In the EtherCAT Diagnostics, on the CoE Object Dictionary tab, the index zero value is displayed on the same line as the item:
The SubIndex 1 and 2 items are clearly listed below the main entry.
Flags
In RMCTools, the CoE Object Dictionary includes a Flags column that provides the following information about each object:
RX TX B S (aa bb cc)
RX: if this flag is set, this SubDevice object can be assigned as an RXPDO (RMC Output)
TX: if this flag is set, this SubDevice object can be assigned as an TXPDO (RMC Input)
B: Backup flag
S: Settings flag
aa: Access rights for this object in the PreOp state (RO, WO, RW)
bb: Access rights for this object in the SafeOp state (RO, WO, RW)
cc: Access rights for this object in the Op state (RO, WO, RW)
See Also
EtherCAT Editor CoE Object Dictionary tab | EtherCAT Diagnostics CoE Object Dictionary tab
Copyright © 2024 Delta Computer Systems, Inc. dba Delta Motion