跳到主要内容

CoE — 对象字典读写

CoE (CANopen over EtherCAT) 是最常用的参数配置协议, 用于读写从站的 SDO 参数和对象字典。

功能概览

能力说明
SDO 读写通过索引/子索引读写参数, 支持单条目和 CompleteAccess 模式
对象字典浏览树视图列出所有索引/子索引, 按类别分组
启动序列配置状态转换时的自动 SDO 写入
Last SDO Error显示最近一次 SDO 操作的 Abort Code 与中文说明
EMCY 历史接收并保存从站紧急消息历史
CiA402 状态机可视化伺服驱动专用, 显示当前状态与操作模式

配置工具中, 在 CoE Tab 浏览和编辑参数, 在 启动 Tab 配置状态转换时的自动 SDO 写入。

快速开始

  1. 进入 配置工具的 CoE Tab
  2. 等待对象字典加载 (PreOp 及以上状态)
  3. 双击参数行就地编辑, 写入立即生效
  4. 切换到 启动 Tab, 添加状态转换时需要写入的 SDO 参数
  5. 导出 详细信息 Excel, 即可获得对象字典表格和启动序列表格

对象字典浏览

CoE Tab 提供对象字典的树视图。

  • 加载方式 — 进入 PreOp 后首次展开 ODList 节点时自动加载, 加载后缓存, 切换从站不重复读取
  • 分组 — 按对象类别折叠 (通讯参数 0x1xxx / 制造商区 0x2xxx / 设备子协议 0x6xxx 等)
  • 每行显示 — 索引、子索引、名称、数据类型、访问权限、当前值
  • 就地编辑 — 双击可写入的单元格直接发起 SDO 写

某条目首次访问失败 (如从站尚未进入 PreOp), ODList 会显示对应错误占位, 状态切换后右键 重新加载 重试。

启动序列

启动序列用于在状态转换时自动写入 SDO 参数, 确保从站以期望配置进入运行状态。

启动序列支持 6 种状态转换时机:

转换方向典型用途
I→PInit → PreOp初始化邮箱配置
P→SPreOp → SafeOp配置 PDO 映射、操作模式
S→OSafeOp → Op启用控制功能
O→SOp → SafeOp安全停止
S→PSafeOp → PreOp重新配置
P→IPreOp → Init完全重置

每条参数包含: 转换阶段、写入时机 (转换前/后)、索引/子索引、数据。导出 详细信息 Excel 报告时, 启动序列以表格形式包含。

CompleteAccess 模式

部分对象 (如 0x1018 Identity、PDO 映射对象) 支持 CompleteAccess (一次访问整个索引下所有子索引)。

CoE Tab 的 CompleteAccess 开关启用后, SDO 读写一次性传输整个对象的全部子索引, 速度更快、原子性更好。注意:

  • 对象必须声明支持 CompleteAccess, 否则从站返回 Abort Code
  • PDO 映射类对象建议开启, 避免子索引中间状态导致的映射不一致
  • 无法确认时保持关闭, 按子索引逐个访问最稳妥

Last SDO Error 显示

每次 SDO 读写完成后, GUI 在 CoE Tab 底部状态栏显示 Last SDO Error:

字段含义
Abort CodeSDO Abort Code 原始 32 位编码 (如 0x06010002)
说明Abort Code 的中文解释 (如 "尝试写入只读对象")
索引 / 子索引失败的对象位置
时间戳最近一次错误发生时间

成功的操作不覆盖错误显示, 便于排查偶发问题。点击状态栏可清空。

常见 Abort Code:

Abort Code含义
0x05030000Toggle 位错误
0x05040001命令字未知
0x06010000不支持的访问
0x06010002尝试写只读对象
0x06020000对象不存在于对象字典
0x06090011子索引不存在
0x06090030值范围超限
0x08000020数据无法传输或保存到应用

EMCY 紧急消息历史

EtherCAT 从站可通过 CoE 上报 EMCY (Emergency) 紧急消息。GUI 在 CoE Tab 中提供 EMCY 历史 列表:

  • 每条记录包含: 时间戳、Error Code、Error Register、厂商专属字节
  • 按从站独立保存, 切换从站时显示对应历史
  • 可设置每个从站保留的最大记录条数, 超出按 FIFO 丢弃最早记录

右键列表条目可复制原始字节, 便于与 ETG 文档或厂商手册对照。

CiA402 状态机可视化

针对伺服驱动从站 (实现 CiA402 设备子协议), GUI 提供独立的 CiA402 视图。

8 个标准状态:

状态说明
Not Ready To Switch On上电初始化中
Switch On Disabled等待 Shutdown 命令
Ready To Switch On等待 Switch On
Switched On高压已加, 未使能
Operation Enabled使能完成, 按当前模式运行
Quick Stop Active快速停车进行中
Fault Reaction Active故障反应进行中
Fault故障锁定

视图根据 0x6041 Statusword 实时刷新, 绘制状态机图并高亮当前状态, 箭头标注允许的下一步控制字命令。

10 种操作模式:

编号模式
1Profile Position (PP)
3Profile Velocity (PV)
4Profile Torque (PT)
6Homing (HM)
7Interpolated Position (IP)
8Cyclic Sync Position (CSP)
9Cyclic Sync Velocity (CSV)
10Cyclic Sync Torque (CST)

视图显示 0x6060 (Modes of operation) 请求模式与 0x6061 (Modes of operation display) 实际反馈模式, 不一致时高亮提示。

提示

完整 CoE API 请参考: SDK 文档 (其他语言)