
Baumer_GIM700DR_CANopen_EN_V1.00_MNL.docx
www.baumer.com
27.04.21
8/32
3.3.3
CANopen service data communication (SDO)
The service data objects correspond to the standards of the CiA. It is possible to access an object via index
and sub-index. The data can be requested or where applicable written into the object.
General information on the SDO
Structure of an
SDO telegram
:
COB-ID
DLC
Command
Object
LSB
Object
MSB
Sub-index Data 0
Data 1
Data 2
Data 3
An SDO-
COB-ID
is composed as follows:
Consumer -> Sensor : 600h + Node-ID
Sensor -> Consumer : 580h + Node-ID
DLC
(data length code) describes the length of the telegram. This is composed as follows:
1 byte c 2 bytes 1 byte sub-index + no. of data
bytes (0…4).
The
command byte
defines whether data is read or set, and how many data bytes are involved.
SDO command
Description
Data length
22h
Download request
Max. 4 Byte
Transmits parameter to sensor
23h
Download request
4 byte
2Bh
Download request
2 byte
2Fh
Download request
1 byte
60h
Download response
-
Confirms receipt to Consumer
40h
Upload request
-
Requests parameter from sensor
42h
Upload response
Max. 4 byte
Parameter to Consumer with max. 4 byte
43h
Upload response
4 byte
4Bh
Upload response
2 byte
4Fh
Upload response
1 byte
80h
Abort message
-
Sensor transmits Error Code to Consumer
An
abort message
indicates an error in the CAN communication. The SDO command byte is 80h. The ob-
ject and sub-index are those of the requested object. The error code is contained in bytes 5…8.
Identifier
DLC
Byte 0
Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Byte 6
Byte 7
580h
+ Node-ID
8
80h
Object
LSB
Object
MSB
Sub-index ErrByte 0
ErrByte 1
ErrByte 2
ErrByte 3
Byte 7...4 results in the SDO abort message (byte 7 = MSB).
The following messages are supported:
05040001h
: Command byte is not supported
06010000h
: Incorrect access to an object
06010001h
: Read access to write only