CANopen gateway
Wieland Electric GmbH | BA000970 | 07/2019 [9855]
141
SDO communication
78671883
SDOs are service data objects. They contain a wide spectrum of different data. This includes configu-
ration as well as input and output data.
Contrary to PDO communication, the receipt of each SDO is answered at protocol level,
i.e. the receiving device sends a confirmation.
This CANopen PCS implementation supports the following protocols:
• 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 to server N. The 16-bit index an the sub-index for the SDO to be written
form part of this message. In addition, the request contains 4 data bytes with the data to be written.
Table 101: Write SDO
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-Subindex
The server then responds with a confirmation:
Table 102: SDO write confirmation
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 contain zeros.
SDO Upload Expedited (read SDO)
The client requests the content of an SDO by submitting a request to server N. The 16-bit index and
the sub-index for the SDO to be read form part of this message. Byte 1 to 4 in the read request con-
tain zeros.
Table 103: Read SDO
CAN ID
DLC
Data
600h + N
8
40h
SDO_L SDO_H SUB
Byte 1
Byte 2
Byte 3
Byte 4
The server responds with the following message. Bytes 1 to 4 contain the value of the requested ob-
ject.
Table 104: SDO read confirmation
CAN ID
DLC
Data
580h + N
8
42h
SDO_L SDO_H SUB
Byte 1
Byte 2
Byte 3
Byte 4
The CANopen data types UDINT and UINT
In order to transmit the data types UDINT or UINT, the data must be in Intel format. For example, the
32-bit value 12345678h in data bytes 5, 6, 7 and 8 must be transmitted in the following order: [5] =
78, [6] = 56, [7] = 34, [8] = 12.
10.9