EtherCAT基础概念:主站与从站、拓扑结构、帧格式、通信原理

一、主站与从站:谁在指挥,谁在执行

EtherCAT(Ethernet for Control Automation Technology)采用经典的主从式通信架构。网络中只有一个主站(Master),通常运行在工业PC、PLC或专用运动控制器上,负责发起所有通信、管理网络配置、处理诊断信息。其余节点均为从站(Slave),例如伺服驱动器、I/O模块、阀岛、编码器接口等,它们不主动发送数据,只在帧经过时读取或写入属于自己的数据。

从站内部的核心是ESC(EtherCAT Slave Controller)芯片,它负责硬件级帧处理。主站与从站之间通过标准以太网物理层(100BASE-TX)连接,但通信逻辑完全不同于普通以太网——从站不解析IP地址,而是由ESC在硬件层面“边传边取”,实现纳秒级延迟。

关键认知:EtherCAT从站不是“网络设备”,而是“过程数据存储器”。主站发送的报文会依次穿过每个从站,每个从站在几纳秒内完成数据提取与插入,然后将帧继续向下传递。

二、拓扑结构:线形为主,灵活扩展

EtherCAT最常用的拓扑是线形(Daisy Chain)结构,即主站网口1连接第一个从站,第一个从站的第二个网口连接第二个从站,依此类推,最后一个从站可接回主站网口2形成环形冗余。这种结构极大节省了交换机成本和布线复杂度。

除线形外,还支持星形(通过EtherCAT端子模块扩展)、树形(从站自带分支)以及菊花链混合组网。所有拓扑在逻辑上仍表现为一个连续的帧传输链,因此无需配置IP地址,只需为每个从站分配唯一的位置编号(站地址)。

EtherCAT主站 工业PC / PLC Port0 Port1 从站1 伺服驱动器 站地址: 1001 从站2 I/O模块 站地址: 1002 从站3 阀岛 站地址: 1003 环形冗余回路(可选) → 帧下行 → 帧下行 帧经过每个从站时:读取→插入→转发

三、帧格式:一个帧,服务所有从站

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的通信过程可概括为“飞过式”处理。主站发送帧后,帧依次经过每个从站:

  1. 从站ESC检查子报文中的地址是否匹配自身配置地址或位置。
  2. 若匹配,ESC在硬件中直接读取或写入对应数据,同时将WKC加1。
  3. 帧从从站第一个网口进入,几乎无延迟地从第二个网口发出(延迟仅约1μs)。
  4. 最后一个从站将帧返回主站(或通过环形回路返回),主站解析WKC确认通信结果。
性能数据参考:1000个数字量I/O点的刷新周期可小于30μs;100个伺服轴的同步抖动小于1μs。这正是得益于硬件级帧转发,而非软件协议栈处理。

五、典型配置案例: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)功能同步所有轴,确保插补周期精确同步。

六、常见误区与复盘

误区1:认为EtherCAT需要IP地址。EtherCAT不使用IP协议,从站无需IP。若在配置软件中看到IP设置,那通常是主站网卡自身的IP,仅用于调试。
误区2:混淆“站地址”与“物理位置”。站地址是逻辑编号,可通过配置软件重新分配;物理位置由网线连接顺序决定。重新上电后,若未配置EEPROM自动加载,从站会恢复默认地址。
误区3:忽视WKC校验。WKC值不匹配时,主站会报通信错误。例如,一个写命令期望WKC增加1,但实际增加了2,说明有两个从站响应了同一地址——这是地址冲突的典型表现。

复盘建议:在调试EtherCAT网络时,首先使用主站软件的“扫描”功能读取实际拓扑,对比配置表检查站地址和顺序;然后查看每个从站的AL状态(Init→Pre-Op→Safe-Op→Op),确保所有从站进入Op状态后再启动运动任务。若出现通信中断,优先检查网线屏蔽层接地、从站供电以及是否使用了非屏蔽网线。