EtherCAT基础概念:主站与从站、拓扑结构、帧格式、通信原理
一、主站与从站:谁在指挥,谁在执行
EtherCAT(Ethernet for Control Automation Technology)采用经典的主从式通信架构。网络中只有一个主站(Master),通常运行在工业PC、PLC或专用运动控制器上,负责发起所有通信、管理网络配置、处理诊断信息。其余节点均为从站(Slave),例如伺服驱动器、I/O模块、阀岛、编码器接口等,它们不主动发送数据,只在帧经过时读取或写入属于自己的数据。
从站内部的核心是ESC(EtherCAT Slave Controller)芯片,它负责硬件级帧处理。主站与从站之间通过标准以太网物理层(100BASE-TX)连接,但通信逻辑完全不同于普通以太网——从站不解析IP地址,而是由ESC在硬件层面“边传边取”,实现纳秒级延迟。
二、拓扑结构:线形为主,灵活扩展
EtherCAT最常用的拓扑是线形(Daisy Chain)结构,即主站网口1连接第一个从站,第一个从站的第二个网口连接第二个从站,依此类推,最后一个从站可接回主站网口2形成环形冗余。这种结构极大节省了交换机成本和布线复杂度。
除线形外,还支持星形(通过EtherCAT端子模块扩展)、树形(从站自带分支)以及菊花链混合组网。所有拓扑在逻辑上仍表现为一个连续的帧传输链,因此无需配置IP地址,只需为每个从站分配唯一的位置编号(站地址)。
三、帧格式:一个帧,服务所有从站
EtherCAT的数据交换基于一个以太网帧完成。主站将多个从站的数据打包进同一帧,帧结构如下:
- 以太网头(14字节):目的MAC(通常为广播地址FF:FF:FF:FF:FF:FF)、源MAC、以太网类型(0x88A4)。
- EtherCAT头(2字节):包含数据报长度和类型(1表示命令)。
- 数据报区(最多1486字节):由一个或多个子报文(Datagram)组成,每个子报文对应一组从站。
- FCS(4字节):帧校验序列。
每个子报文内部又包含:命令字节、索引、从站地址、偏移地址、长度、数据区、状态位和工作计数器(WKC)。其中WKC是EtherCAT的精髓——每个从站处理完数据后会将WKC加1,主站通过检查WKC值判断哪些从站正确响应了。
| 子报文段 | 长度 | 说明 |
|---|---|---|
| 命令 | 1字节 | NOP、APRD、APWR、FPWR等 |
| 索引 | 1字节 | 用于帧匹配 |
| 从站地址 | 2字节 | 配置地址或自动增量位置 |
| 偏移地址 | 2字节 | 从站内部寄存器/内存偏移 |
| 长度 | 2字节 | 数据区长度 |
| 数据区 | 0~1486字节 | 实际过程数据 |
| WKC | 2字节 | 工作计数器,从站处理时递增 |
四、通信原理:边传边取,硬件级转发
EtherCAT的通信过程可概括为“飞过式”处理。主站发送帧后,帧依次经过每个从站:
- 从站ESC检查子报文中的地址是否匹配自身配置地址或位置。
- 若匹配,ESC在硬件中直接读取或写入对应数据,同时将WKC加1。
- 帧从从站第一个网口进入,几乎无延迟地从第二个网口发出(延迟仅约1μs)。
- 最后一个从站将帧返回主站(或通过环形回路返回),主站解析WKC确认通信结果。
五、典型配置案例:6轴机器人控制网络
假设一套6轴关节机器人控制系统,包含1个主站控制器、6个伺服驱动器(每个轴一个)、1个末端I/O模块和1个安全继电器模块。推荐配置如下:
主站 EtherCAT端口0 ──→ 轴1伺服 ──→ 轴2伺服 ──→ 轴3伺服
│
↓
轴4伺服 ←── 轴5伺服 ←── 轴6伺服
│
↓
末端I/O模块 ──→ 安全模块 ──→ 主站 EtherCAT端口1
采用环形冗余拓扑,即使中间某根网线断开,主站仍能通过另一方向继续通信。每个伺服驱动器分配站地址1001~1006,I/O模块为1007,安全模块为1008。主站通过分布时钟(DC)功能同步所有轴,确保插补周期精确同步。
六、常见误区与复盘
复盘建议:在调试EtherCAT网络时,首先使用主站软件的“扫描”功能读取实际拓扑,对比配置表检查站地址和顺序;然后查看每个从站的AL状态(Init→Pre-Op→Safe-Op→Op),确保所有从站进入Op状态后再启动运动任务。若出现通信中断,优先检查网线屏蔽层接地、从站供电以及是否使用了非屏蔽网线。