CANopen information
TR-Electronic GmbH 2010, All Rights Reserved
Printed in the Federal Republic of Germany
Page 110 of 183
TR - ELA - BA - DGB - 0016 - 04
01/20/2017
3.5 Transmission of SDO messages
The transmission of SDO messages is
done by the CMS “Multiplexed Domain”
protocol (CIA DS202-2).
With SDOs objects from the object dictionary can be read or written. It is an
acknowledged service. The so-called
SDO
client
specifies in its request the
parameter, the access method (read/write) and if necessary the value. The so-called
SDO
server
performs the write or read access and answers the request with a
response. In the error case an error code gives information about the cause of error.
Transmit-
SDO and Receive-SDO are distinguished by their function codes.
The measuring system (slave) corresponds to the SDO server and uses the following
function codes:
Function codes
COB-ID
Meaning
11 (1011 bin)
0x580 + Node ID
Slave
SDO Client
12 (1100 bin)
0x600 + Node ID
SDO Client
Slave
Table 1: COB-IDs for Service Data Object (SDO)
3.5.1 SDO message format
The data field with max. 8 byte length of a CAN message is used by a SDO as follows:
CCS
Index
Sub-Index
Data
Byte 0
Byte 1
Low
Byte 2
High
Byte 3
Byte 4
Byte 5
Byte 6
Byte 7
Table 2: SDO message
The
client command specifier
(
CCS
) identifies whether the SDO is to be read or
written. In addition with a writing order, the number of bytes which can be written is
encoded in the CCS.
At the SDO response the CCS reports whether the request was successful. In the
case of a reading order the CCS gives additionally information about the number of
bytes, which could be read:
CCS
Meaning
Valid for
0x22
Writing request
SDO Request
0x23
Write 4 bytes
SDO Request
0x2B
Write 2 bytes
SDO Request
0x2F
Write 1 byte
SDO Request
0x60
Writing successfully
SDO Response
0x80
Error
SDO Response
0x40
Reading request
SDO Request
0x43
4 byte data read
SDO response upon reading request
0x4B
2 byte data read
SDO response upon reading request
0x4F
1 byte data read
SDO response upon reading request
Table 3: SDO command codes
In the case of an error (SDO response CCS = 0x80) the data field contains a 4-byte
error code, which gives information about the error cause. Meaning of the error codes
see table Table 16 on page 180.