4.4.5 Service Data Objects (SDO)
SDOs are used to implement access to the Object Dictionary. The SDOs are required for para-
metrerization and for status polling. Access to an individual object is made with a multiplexer via
the Index and Subindex of the Object Dictionary. The following communication protocols are sup-
ported by S300/S700:
Initiate SDO Download Protocol
Download SDO Segment Protocol
Initiate SDO Upload Protocol
Upload SDO Segment Protocol
Abort SDO Transfer Protocol
The definitions of the individual communication services and protocols can be found in DS301.
Examples of the usage of SDOs can be found in the appendix from page (➜ # 117).
Since an SDO is a confirmed service, the system must always wait for the SDO response tele-
gram before it is allowed to transmit a new telegram.
4.4.5.1 Composition of the Service Data Object
An SDO consists of the following components:
Byte 1 2 3 4 5 6 7 8
Content rw Index Subindex Data
1. The control byte (Byte 1):
The control byte determines whether the SDO should write or read the content of the entry in the
Object Dictionary. A description of the complete Object Dictionary for S300/S700 (➜ # 103).
Data exchange with the S300/S700 is governed by the CMS multiplexed domain protocols stand-
ard, as described in the CAN standard DS 202. To read data, the control byte must be written in
the manner shown below:
Bit 7 6 5 4 3 2 1 0
Content ccs*=2 X X X X X
*ccs → client command specifier (ccs = 2 → initiate upload request)
X → free data
So a value of 0100 0000 (binary) or 40h has to be transmitted in the control byte. The servo amp-
lifier sends back a corresponding response byte:
Bit 7 6 5 4 3 2 1 0
Content scs*=2 X n e s
*scs → server command specifier (scs = 2 → initiate upload response)
n → only valid for e = s = 1
In that case, n contains the number of bytes that do not contain data
X → free data
If reading is successfull, the response byte always has set the bits 0 and 1 (e = s = 1). Encoded
byte length in the SDO response:
0x43 - 4 bytes
0x47 - 3 bytes
0x4B - 2 bytes
0x4F - 1 byte.
If an error occurs, scs is set to 4, the response byte is 0x80 and the error information is in the four
byte data field. The decoding of the error (➜ # 23).
S300-S700 CANopen | 4 CANopen Communciation Profile
Kollmorgen | kdn.kollmorgen.com | December 2019 21