![Helmholz 700-672-PNC01 Manual Download Page 16](http://html1.mh-extra.com/html/helmholz/700-672-pnc01/700-672-pnc01_manual_2122269016.webp)
PN/CAN Gateway, PROFINET/CANopen Slave | Version 2 | 1/26/2021
16
5.3
The CANopen protocol
The CANopen® protocol is a layer 7 (application layer) protocol based on the CAN bus. CAN bus layers
1 and 2 (physical layer and data link layer) are used by the CAN bus unchanged.
The service elements provided by the application layer make it possible to implement applications
that are distributed throughout the network. CANopen communication profiles and standards are
administered by the CIA (CAN in Automation e.V.). The standard DS 301 "CANopen application layer
and communication profile" is relevant for the PN/CAN Gateway. This is available at CAN in
Automation's website (http://www.can-cia.org).
The CANopen standards assign a fixed definition to the 11-bit identifier and the 8 data bytes of a CAN
bus frame. Each device in a CANopen network has a configurable node ID (module number, 1–127).
5.3.1
CANopen objects
Data exchange with a CANopen device takes place either via established service data objects (SDOs) or
freely configurable process data objects (PDOs).
Every CANopen device has a fixed directory of SDOs (object directory) that are addressed with an
index (16 bits) and a sub-index (8 bits).
Example:
Index 0x1000 / sub-index 0 = "Device type", 32-bit unsigned
SDOs with a width of 8/16/32 bits can be read and written with one CANopen frame, Longer SDOs
(e.g. strings) are transferred using multiple frames.
SDOs can be processed as soon as a CANopen device is ready for operation. The "SDO request" and
"SDO response" functions are available for SDOs. The object number (index and sub-index), the access
mode and type are stored in the first four bytes of the CAN frame. The last four bytes of the CAN frame
then contain the value for the SDO.
Byte 0
Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Byte 6
Byte 7
Command
specifier
16 SDO index
8 bit SDO
sub-index
1-4 bytes of parameter data
PDOs contain the operating values of a CANopen device for cyclical process operations. Each
CANopen device can manage multiple PDOs (according to the specification, the COB identifier for
the first four transmission PDOs and four reception PDOs are defined).
Each of these PDOs will have its own COB-ID. Any information of the CANopen device can be
mapped for reading and writing in the up to 8 data bytes. The values from the object dictionary
(SDOs) are always the values mapped.
PDOs are automatically mapped at the startup by most CANopen device (default mapping). The
assignment can generally be changed via defined SDOs when the device supports this.