CANopen internal device structure

- Internal device structure
A CANopen device can be logically structured in three parts. One part provides the CAN interface and another part provides the device's application, which controlls e.g. the Input/Output (I/O) lines of the device in case of an I/O module. The interface between the application and the CAN-interface is implemented in the object dictionary. The object dictionary is unique for any CANopen device. It is comparable to a parameter list and offers the access to the supported configuration- and process data. To gain access to the object dictionary, each CANopen device has to implement a CANopen protocol stack. This CANopen protocol stack is software, which is usually implemented on the same micro-controller that is used by the device's application software.
The CANopen object dictionary

- Object dictionary layout
The object dictionary is the heart of any CANopen device. It is essentially a grouping of objects (parameters) accessible via the network in an ordered pre-defined fashion. Each object within the object dictionary is addressed using a 16-bit index and an 8-bit sub-index. The object dictionary is structured in several index ranges. The objects in the range 1000h to 1FFFh describe the communication behavior of the device. The objects in the index ranges 2000h to 5FFFh and 6000h to 9FFFh describe the application behavior either in a manufacturer specific way or in a standardized way by following a CANopen device or application profile. As the index range for standardized CANopen device and application profiles is divided into eight sections, it is possible to provide up to eight device/application profile implementations within one CANopen device. Network variables and system variables are arranged in the index range A000h to BFFFFh according to the related CiA interface specification.
Possibilities for device designers
In the object dictionary the device designer indicates the supported device functionality by implementing the related objects. The communication behavior is adjusted in the appropriate objects in the index range 1xxxh. Parameters and results required or generated by manufacturer specific device functions, can be indicated in the index range 2000h to 5FFFh. In addition manufacturer specific status information and process data can be represented to the network in that index range.
In case device designers would like to offer their customers the comfortable device control via a standardized CANopen interface on the level of a CANopen device profile, the corresponding parameters and status information is provided in the index range 6000h to 9FFFh as predefined in the related CANopen profile.









