跳到主要内容

热插拔

SDK 已专为人形机器人做优化适配

热插拔是 EtherCAT 扩展功能,SDK 默认支持,无需额外配置。
相关文档:Master 事件 | Slave 事件

工作原理

SDK 核心特性:

  • PDO 周期零影响
  • 全自动恢复
  • 支持断电重连, 同型号设备热插拔
  • 单一设备多实例支持
  • 单实例支持冗余环+多分支, 支持车间复杂多设备的复杂布线场景

恢复流程

线缆拔插(地址保留)

从站短暂断开后重连,配置地址仍在 ESC 寄存器中:

恢复时间: 约 3-5 个 PDO 周期(3-5ms @ 1kHz)

断电重连(地址丢失)

从站断电后重新上电,ESC 寄存器全部重置,需要完整重配:

恢复时间: 约 15-25 个 PDO 周期(15-25ms @ 1kHz)

事件通知

从站离线和恢复时会触发事件:

// Master 级别
master.Events.SlaveOffline += (slaveIndex) =>
{
Console.WriteLine($"从站 {slaveIndex} 离线");
};

master.Events.SlaveOnline += (slaveIndex) =>
{
Console.WriteLine($"从站 {slaveIndex} 恢复上线");
};

// Slave 级别
slave.Events.Offline += () => { /* 处理离线 */ };
slave.Events.Online += () => { /* 处理恢复 */ };

常见问题

热插拔期间 PDO 通信是否受影响?

常规情况不受影响。PDO 周期频率和抖动保持不变。
极端满负载情况。将会导致 PDO 周期异常。

支持同时恢复多个从站吗?

支持。多个从站离线时,调度器按轮询顺序逐个恢复。所有从站最终都会被恢复。

断电重连后从站配置会丢失吗?

不会。恢复 FSM 会自动重新写入 SM 和 FMMU 寄存器,并将从站状态恢复到 OP。对于使用 EEPROM 默认 PDO 映射的从站(绝大多数场景),无需额外操作。

备注

如果从站在初始启动时通过 SDO 进行了自定义配置(如自定义 PDO 映射、驱动参数等),这些配置在断电重连后不会被自动重发。应用层需要在 SlaveOnline 事件回调中自行重新下发 SDO 配置。

如果自动配置已经写入自定义的Startup属性则会被自动重发。