SDO Construction Details
CANBus Networking Manual 39
SDO Construction Details
CANOpen SDO frames can easily be created manually and used to send commands
and queries to a Roboteq device. The directives below are a simplified description of the
CANOpen SDO mechanism. For more details please advise the CANOpen standard.
A CANOpen command/query towards a Roboteq device can be analyzed as shown below:
Header DLC
Payload
Byte0
Byte1-2 Byte 3 Bytes4-7bits 4-7 bits2-3 bits0-1
0x600+nd 8 css n xx index subindex data
• nd is the destination node id.
• ccs is the Client Command Specifier, if 2 it is command if 4 it is query.
• n is the Number of bytes in the data part, which do not contain data
• xx not necessary for basic operation. For more details advise CANOpen standard.
• index is the object dictionary index of the data to be accessed
• subindex is the subindex of the object dictionary variable
• data contains the data to be uploaded.
The Response from the roboteq device is as shown below:
Header DLC
Payload
Byte0
Byte1-2 Byte 3 Bytes4-7bits 4-7 bits2-3 bits0-1
0x580+nd 8 css n xx index subindex Data
• nd is the source node id.
• ccs is the Client Command Specifier, if 4 it is query response, 6 it is a successful
response to command, 8 is an error in message received.
• n is the Number of bytes in the data part, which do not contain data
• xx not necessary for the simplistic way. For more details advise CANOpen standard.
• index is the object dictionary index of the data to be accessed.
• subindex is the subindex of the object dictionary variable
• data contains the data to be uploaded. Applicable only if css=4.
SDO Example 1: Set Encoder Counter 2 (C) of node 1 value 10
• nd = 1, since the destination’s node id is 1.
• ccs = 2, since it is a command.
• n = 0 since all 4 bytes of the data are used (signed32).
• index = 0x2003 and subindex = 0x02 according to object dictionary.