CoE(CANopen over EtherCAT,应用层协议)学习笔记

发布时间:2026/8/31 6:06:10
CoE(CANopen over EtherCAT,应用层协议)学习笔记 对象字典每个从站内部用一张表索引子索引组织所有可读写的参数和状态主站通过读写对象字典里的条目来配置和控制从站对象字典 IgH读取方式UINT8 → EC_READ_U8INT8 → EC_READ_S8UINT16 → EC_READ_U16INT16 → EC_READ_S16UINT32 → EC_READ_U32INT32 → EC_READ_S32PDO 映射主站和从站在进入 OP 状态前要协商这一个周期性传输的数据帧里具体放哪些对象字典条目、按什么顺序排列。常见的有 RxPDO主发给从比如 Control Word和 TxPDO从发给主比如 Status Word。默认由厂家的 ESI 文件描述。CoE 层面的状态机如何决定 SDO 和 PDO 何时可用四个状态Init → Pre-Op → Safe-Op → OpSDO 通信从 Pre-Op 状态就可以用PDO周期性过程数据通信要到 Safe-Op 才开始传输但输出值被强制为0/安全值真正生效要到 Op 状态紧急报文与诊断对象从站发生错误如过流、过压、跟随误差过大时会主动通过一个特殊的 CAN-like 报文上报错误码不需要主站轮询CiA 301/402 定义了标准错误码格式厂家会在对象字典的 0x1003Pre-defined Error Field 里维护历史错误列表。SDO 分段传输SDO 每次只能传很少字节如果要传大块数据比如固件升级、批量参数下载需要用分段传输协议按序列号一段段发送并确认并发访问控制同一时刻多个 SDO 请求打到从站从站通常只能串行处理主站侧的协议栈需要做好请求排队避免超时冲突