1. EtherCAT从站设备扫描与拓扑识别

EtherCAT从站设备扫描与拓扑识别 学习卡片

扫描前的网络准备与工具选择

EtherCAT 从站扫描的本质是主站通过广播寻址读取每个从站的 ESC(EtherCAT Slave Controller) 寄存器,再沿端口逐级发现下游设备。开始扫描前需要确认三件事:

  • 物理连接:主站网卡(或专用 EtherCAT 主站口)接入第一个从站的 IN 端口,从站之间按 OUT → IN 顺序级联,末端从站 OUT 端口悬空或接终端。
  • 链路状态:网卡 Link 灯常亮,从站 RUN/ERR 指示灯无红色常亮。
  • 主站工具:常用 ethercat 命令行工具(IgH EtherCAT Master)、TwinCAT XAE 扫描、或 SOEM 的 slaveinfo 示例。本例以 IgH ethercat 工具链为例,其扫描逻辑与 SOEM 一致。

扫描命令与拓扑识别原理

IgH 主站启动后,执行以下命令完成一次完整扫描:

# 1. 确认主站已加载并识别网卡
ethercat master

# 2. 扫描总线,列出所有从站及其位置
ethercat slaves

# 3. 查看拓扑结构(端口连接关系)
ethercat topology

# 4. 查看从站详细信息(含端口、状态、身份)
ethercat slaves -v

扫描过程中,主站依次执行:广播读 0x0130(DL 状态)确认链路 → 读 0x0000~0x0007(站地址与端口配置)→ 按端口 0x0001~0x0004 逐级发现下游从站。每个从站被分配一个自动增量地址(按发现顺序),同时记录其端口拓扑(哪个端口连接了下一个从站)。

扫描结果中的 Position 是自动增量地址,Port 字段描述该从站的端口连接状态(如 A=IN, B=OUT, C=返回)。拓扑识别依赖这些端口信息重建物理连接顺序。

拓扑结构可视化

下图展示一个典型 4 从站线型拓扑的扫描结果与端口连接关系。主站从站 0 的 IN 端口进入,站 0 的 OUT 连接站 1 的 IN,依次级联,站 3 的 OUT 悬空(末端)。每个从站标注了扫描得到的自动增量地址、厂商 ID 和端口状态。

EtherCAT 扫描拓扑识别结果(4 从站线型) EtherCAT 主站 eth0 / 主站口 IN 从站 0 Pos: 0 Vendor: 0x00000002 Port: IN→OUT OP OUT→IN 从站 1 Pos: 1 Vendor: 0x00000002 Port: IN→OUT OP OUT→IN 从站 2 Pos: 2 Vendor: 0x00000002 Port: IN→OUT OP OUT→IN 从站 3 Pos: 3 末端 OUT 悬空 OP 返回路径(逻辑环回,物理线型) 扫描关键输出: Position(自动增量地址) · Vendor ID · Product Code · Revision · Port 连接状态 · AL Status(INIT/PREOP/SAFEOP/OP)

扫描结果判读与常见异常

执行 ethercat slaves 后,正常输出应列出所有从站,每行包含 Position、State、Flag 和 Name。若扫描结果与预期不符,按以下方向排查:

现象可能原因检查点
只扫描到部分从站中间从站 OUT 端口未连接或线缆故障检查每个从站 OUT→IN 链路,观察端口 Link 灯
从站 State 停留在 INITEEPROM 未加载或 SII 信息缺失执行 ethercat slaves -v 查看 AL Status Code
Position 顺序与物理顺序不一致拓扑中存在分支或环回执行 ethercat topology 查看端口连接图
扫描不到任何从站主站网卡未绑定或 Link 未建立ethercat master 确认主站状态,检查网卡 Link
扫描完成后,建议保存拓扑快照:ethercat slaves -v > topology_snapshot.txt,作为后续配置和排障的基线参考。拓扑识别是 EtherCAT 网络调试的第一步,后续的 PDO 映射、DC 同步和状态机初始化都依赖正确的从站顺序和端口关系。