Delta Electronics High-Speed PCI 12-Axis Motion Control Card PCI-DMC-A01 User Manual
Page 188

Chapter 8 Using SDO Protocol API | PCI-DMC-A01 / PCI-DMC-B01
8-2
Revised March, 2012
8.1 CANopen
SDO
protocol
※Sample SDO Packet Format for CANopen 1 – Index Read/Write successful
When Index read is “Successful”, the return value is in the following format:
Table 8.2
Field
name:
Datatype Index low Index high Sub index
Data1
Data2 Data3
Data4
Command
0x40
0x64
0x60
0x00 0x00
0x00 0x00 0x00
Return
0x43
0x64
0x60
0x00
0x11
0x22
0x33
0x44
Table description:
(1) Read Feedback PUU (CANopen's Index is set as 0x6064 and SubIdx set as 0x00).
(2) Datatype is set as 0x40 to indicate read.
(3) Datatype is then returned as 0x43.
If the returned Datatype is 0x43, then the data received is 32bit [Data1~Data4 all valid].
If value is 0x4b, then the data received is 16bit [Data1~Data2 are valid].
If value is 0x4f, then the data received is 8bit [Data1 is valid].
(4) Data1~Data4 fields are read from the low Word first. Higher invalid data are all 0.
The value returned by the above table to indicate that it has received Feedback PUU is
therefore 0x44332211.
When Index write is “Success”, the return value is in the following format:
Table 8.3
Field
name:
Datatype Index low Index high Sub index
Data1
Data2
Data3
Data4
Command 0x2b 0x40
0x60
0x00 0x08 0x00 0x00 0x00
Return
0x60
0x40
0x60
0x00
0x00
0x00
0x00
0x00
Table description:
(1) Write control code ControlWord (CANopen's Index is set as 0x6040 and SubIdx set as
0x00).
(2) Datatype set to 0x2b to indicate write.
(3) If entered Datatype value is 0x23 this means the data being written is 32bit [Data1~Data4
all valid].
Input value of 0x2b means data being written is 16bit [Data1~Data2 are valid].
Input value of 0x2f means data being written 8bit [Data1 is valid].
(4) If the returned Datatype is 0x60, this means the write was successful; Data1 ~ Data4
returned at this time are not applicable.