
Operating Instructions
Chapter
6
Flexi Soft Gateways
8012664/XB29/2013-06-11
© SICK AG • Industrial Safety Systems • Germany • All rights reserved
145
Subject to change without notice
Fieldbus gateways
6.2.9
SDO communication
SDOs are Service Data Objects. They contain a wide variety of data. These include, among
other items, data on the planning or input and output data. Unlike the PDO communica-
tion, each reception of an SDO is answered at protocol level, i.e. the receiving device
sends a confirmation.
In this CANopen PCS implementation the following protocols are supported:
SDO download expedited (write SDO)
SDO upload expedited (read SDO)
Upload SDO segment protocol (segmented reading of an SDO)
SDO download expedited (write SDO)
The client sends a request message to server N. The 16 bit index and the sub-index for the
SDO to be written are coded in this message. In addition, the request also contains 4 data
bytes with the data to be written.
CAN ID
DLC
Data
600h + N
8
23h SDO_L
SDO_H
SUB
Byte 1
Byte 2
Byte 3
Byte 4
SDO_L = SDO index low byte
SDO_H = SDO index high byte
SUB =
SDO
sub-index
The server then replies with a confirmation message:
CAN ID
DLC
Data
580h + N
8
60h SDO_L
SDO_H
SUB
Byte 1
Byte 2
Byte 3
Byte 4
Byte 1 to 4 in the write confirmation message contain zeros.
SDO upload expedited (Read SDO)
The client requests the contents of an SDO with a request message to server N. The 16 bit
index and the sub-index for the SDO to be read are coded in this message. Byte 1 to 4 in
the read request message contain zeros.
CAN ID
DLC
Data
600h + N
8
40h SDO_L
SDO_H
SUB
Byte 1
Byte 2
Byte 3
Byte 4
The server will reply with the following message. Byte 1 to 4 contain the value of the
requested object.
CAN ID
DLC
Data
580h + N
8
43h SDO_L
SDO_H
SUB
Byte 1
Byte 2
Byte 3
Byte 4
CANopen data types UDINT and UINT
In order to transfer data types UDINT or UINT, the data must be in Intel format. E.g. the
32 bit value 12345678h must be transferred in the data bytes 5, 6, 7 and 8 in the
following order: [5] = 78, [6] = 56, [7] = 34, [8] = 12.
This applies also to the SDO index in data byte 2 and 3 which has the data type UINT. I.e.
the low byte is transferred in data byte 2 and the high byte is transferred in data byte 3.
Tab. 113: Write SDO
Tab. 114: Write SDO
confirmation
Tab. 115: Read SDO
Tab. 116: Read SDO
confirmation
Note