Welcome to Ars-Informatica  


If you want to build a ship don't herd people together to collect wood and don't assign them tasks and work, but rather teach them to long for the endless immensity of the sea. (Antoine-Marie-Roger de Saint-Exupéry)

Object Dictionary

The Object Dictionary (called "OD" for short) is like a table that holds all network-accessible data. Each CANopen node must implement its own Object Dictionary.

According to the device type (servo motor, etc) there exists a number of draft recomendations that the device should implement. It is not mandatory and each vendor has its own specific entries.

The Object Dictionary is organized as a collection of entries, rather like a table. Each entry has a number called an Index, which is used to access the entry. The Index is 16 bits in size giving a maximum of 65,536 entries. Each entry in the Object Dictionary may have up to 256 Subentries, referenced using an 8-bit value called the Subindex. Each entry has at least one Subentry.

Not all entries in the Object Dictionary are implemented or used, creating gaps in the table. For example, the entries with Indexes 0000h - 09FFh are often not implemented, but the entry with Index 1000h is always implemented.

For example an easy way to scan CANOPEN nodes is to query the entry of each node at Index 1000h.

The rule used is the following: for entries that store only one value, there is only one Subentry at Subindex 00h. Entries that store more than one value must have a Subentry for each value, and store the number of the highest Subentry at Subindex 00h.

The 65,536 possible Indexes are divided up into sections structuring the Object Dictionary:

Index rangeDescription
0001h – 001FhStandard data types
0020h – 003FhComplex data types
0040h – 005FhManufacturer specific data types
0060h – 007FhDevice profile specific standard data types
0080h – 009FhDevice profile specific complex data types
00A0h – 0FFFhReserved for future use
1000h – 1FFFhCommunication Entries
2000h – 5FFFhManufacturer Specific
6000h – 9FFFhDevice Profile Parameters
A000h – FFFFhReserved

The Object Dictionary contains several different types of data. The data may be stored in

The descriptions of the data types used are also stored in the Object Dictionary.

The Object Dictionary stores

  • the configuration information for the CANopen communications used by the node;
  • any manufacturer specific information;
  • various data for device profiles.