NMT 与错误控制
NMT(Network Management)决定节点能否收发过程数据
Heartbeat / Node Guarding / EMCY 决定“节点还活着吗、出了什么错”
1. NMT 状态机(从站视角)
经典状态:
1 | 上电/复位 |
| 状态 | SDO | PDO | 典型用途 |
|---|---|---|---|
| Initialization | 否 | 否 | 上电初始化 |
| Pre-Operational | 是 | 否 | 配置 OD、映射 PDO |
| Operational | 是 | 是 | 正常周期运行 |
| Stopped | 否 | 否 | 暂停应用通信 |
主站常用 NMT 命令(概念):
- Start Remote Node
- Stop Remote Node
- Enter Pre-Operational
- Reset Node
- Reset Communication
NMT 帧优先级高(默认 COB-ID 0x000),可针对单节点或全网广播。
NMT / SYNC / EMCY / Heartbeat 的字节级格式见:
10-NMT-SYNC-TIME-EMCY-Heartbeat报文格式.md
2. 推荐启动顺序(工程模板)
1 | 1. 总线通、波特率一致、终端电阻正确 |
常见错误:未配置完就 Start,导致 PDO 映射不对、控制字无效、驱动拒动。
3. Heartbeat(推荐)
3.1 Producer Heartbeat
节点周期性发送自身 NMT 状态(默认 COB-ID 0x700 + Node-ID)。
关键对象:
1017hProducer Heartbeat Time(单位通常为 ms;0 表示关闭)
3.2 Consumer Heartbeat
监视者配置要监视的 Node-ID 与超时:
1016hConsumer Heartbeat Time(数组:Node-ID + 超时)
超时动作由应用决定:停轴、切安全态、告警、尝试复位等。
现代工程优先 Heartbeat,弱化 Node Guarding。
4. Node Guarding(遗留)
主站轮询从站,从站应答并翻转 toggle bit。
缺点:增加总线负载、实现复杂、易与 Heartbeat 混用出错。
新设计尽量只用 Heartbeat。
5. EMCY(Emergency)
设备检测到内部错误时发送紧急对象:
- 默认 COB-ID:
0x080 + Node-ID - 内容通常含:错误码、错误寄存器(
1001h)相关信息、厂商特定字段
主站应:
- 记录 EMCY
- 结合
1001h/1003h与厂商手册解读 - 决定是否 Stop / Reset / 切安全扭矩关闭
EMCY 不是可靠的“安全通道”;功能安全需 SRDO / 安全协议(如相关 Safety 规范)。
6. SYNC 与 TIME(特殊功能对象)
| 对象 | 作用 |
|---|---|
| SYNC | 广播同步事件;同步传输类型的 PDO 在 SYNC 后发送/接收生效 |
| TIME | 时间戳分发(可选) |
同步相关对象示例:
1005hCOB-ID SYNC1006hCommunication cycle period1007hSynchronous window length(若支持)
多轴运动控制里,SYNC 常与 CiA 402 的插补/周期模式配合;精度受 CAN 抖动限制,高要求场景常转向 EtherCAT DC。
7. LSS(CiA 305)简述
当设备出厂 Node-ID=0xFF(未配置)或需现场改波特率时,用 LSS:
- 请求帧:
0x7E5 - 响应帧:
0x7E4 - 可按 Identity(
1018h)选择性配置单个从站
官方说明:
CiA 305 — Layer Setting Services
8. 故障模式速查
| 现象 | 优先检查 |
|---|---|
| 能 SDO 不能 PDO | 是否仍在 Pre-Operational;PDO 映射/COB-ID |
| 节点偶发掉线 | Heartbeat 超时、线缆、供电、终端电阻 |
| 上电后无响应 | 波特率、Node-ID、LSS、硬件 CAN 收发器 |
| 突然停轴 | EMCY、402 状态字故障位、急停输入 |
| 多节点冲突 | COB-ID 重复、Node-ID 冲突 |
下一篇:03-SDO与PDO通信.md
正在加载留言…