跳到主要内容

SDO 命令字与 Abort 速查

本表只覆盖课程使用的 expedited SDO,也就是数据最多 4 字节、可在一次请求和一次响应中完成的访问。

读取请求

命令字用途
0x40expedited upload 请求,也就是 Client 读取 Server 对象

请求 DATA:

40 Index低字节 Index高字节 Sub-index 00 00 00 00

例如读取 0x6064:00

40 64 60 00 00 00 00 00

读取成功响应

命令字有效数据长度数据位置
0x4F1 字节DATA[4]
0x4B2 字节DATA[4..5]
0x473 字节DATA[4..6]
0x434 字节DATA[4..7]
0x42expedited,但响应未明确给出长度结合对象数据类型判断

响应中的 DATA[1..3] 仍要与请求的 Index、Sub-index 一致。

写入请求

命令字有效数据长度示例
0x2F1 字节INTEGER8 模式
0x2B2 字节UNSIGNED16 Controlword
0x234 字节INTEGER32 Target position

2 字节写入格式:

2B Index低 Index高 Sub-index 值低字节 值高字节 00 00

0x6040:00 = 0x000F

2B 40 60 00 0F 00 00 00

写入成功响应

命令字含义
0x60download 成功;仍需核对 Index 和 Sub-index

写入成功表示对象访问被接受。运动是否执行、状态是否转换,还要读取相应反馈对象。

Abort 响应

命令字DATA[4..7]
0x8032 位小端序 Abort Code

常见 Abort:

Code含义
0x05040000协议超时
0x06010001尝试读取只写对象
0x06010002尝试写只读对象
0x06020000对象不存在
0x06070010数据类型或长度不匹配
0x06090011Sub-index 不存在
0x06090030参数值范围错误
0x08000022当前设备状态不能执行访问

详细排查见SDO Abort 与超时