4. EtherCAT主站配置与拓扑优化

在TwinCAT XAE中配置EtherCAT主站,核心工作可以概括为三件事:让主站正确识别从站、让分布式时钟(DC)同步模式与从站能力匹配、让拓扑结构与通信周期目标相匹配。这三件事并非彼此独立——拓扑决定了信号经过的跳数和分支深度,跳数与分支又直接影响DC同步误差和周期抖动。因此,配置与优化必须放在一起考虑。

一、主站配置与从站扫描

在TwinCAT XAE中新建工程后,首先在I/O配置树中右键“Devices”,选择“Scan Devices”,系统会扫描本地网卡并列出可用的EtherCAT主站设备。选中目标网卡(例如Intel I210或I219)后,TwinCAT会将其作为EtherCAT主站实例。此时需要注意:主站网卡应独占使用,避免与Windows网络协议栈共享,否则会引入不可预测的延迟。

主站建立后,右键主站设备选择“Scan Boxes”,TwinCAT会依次读取从站的EEPROM信息,识别厂商ID、产品码、修订号和站别名。扫描完成后,从站会以树形结构出现在配置树中。若某个从站未被识别,常见原因是ESI(EtherCAT Slave Information)XML文件未安装,此时需要将从站厂商提供的XML复制到 TwinCAT\3.1\Config\Io\EtherCAT 目录并重启XAE。

扫描完成后,建议为每个从站设置站别名(Station Alias),而不是依赖上电顺序自动寻址。站别名的优势在于:当某个从站故障更换后,只要新从站写入相同别名,主站无需重新扫描即可恢复原有拓扑映射。站别名通过从站EEPROM写入,可在“EtherCAT”选项卡的“Station Alias”中设置。

二、DC同步模式设置

分布式时钟(Distributed Clocks,DC)是EtherCAT实现高精度同步的关键机制。其原理是:主站选择一个从站作为参考时钟(Reference Clock),通常选择拓扑中第一个支持DC的从站;其余从站作为从时钟,通过测量本地时钟与参考时钟的偏移和漂移,逐步调整本地时钟,使所有从站时钟与参考时钟对齐。

在TwinCAT中设置DC同步模式,需要进入主站的“EtherCAT”选项卡,在“Distributed Clocks”区域选择模式。常见选项包括:

  • DC Off:不使用分布式时钟,各从站独立运行,适用于对同步无要求的场合。
  • DC Sync0:从站以SYNC0信号作为周期中断,主站发送过程数据后,从站在SYNC0触发时刻锁存输出。这是最常用的同步模式。
  • DC Sync1:在SYNC0基础上增加SYNC1,用于需要两个不同相位同步信号的场合,例如某些伺服驱动器的位置锁存与电流环分别同步。

选择DC Sync0后,需要设置同步周期(Sync0 Cycle Time),该值通常与主站任务周期一致。例如主站任务周期为1 ms,则Sync0周期设为1 ms。同时需要设置“Sync0 Shift”,即SYNC0信号相对于主站周期开始的偏移时间,用于补偿从站处理延迟。若从站手册给出“Output Delay”或“Input Delay”参数,可据此计算Shift值。

DC同步是否生效,可以通过观察从站的“DC Status”判断。在TwinCAT的从站“EtherCAT”选项卡中,若“DC Status”显示“Sync0”且“Sync0 Time”稳定,说明同步已建立。若显示“No Sync”或“Sync Error”,则需检查参考时钟选择、Sync0周期设置以及从站是否支持DC。

EtherCAT主站配置与拓扑对通信周期的影响 TwinCAT主站 网卡独占 / 1ms任务 从站1(参考时钟) DC Ref / Sync0 从站2(从时钟) DC Sync0 从站3(从时钟) DC Sync0 帧 帧 帧 返回帧(处理数据回传) 拓扑结构对通信周期的影响对比 线型级联(4级) 主站 从站1 从站2 从站3 跳数:4跳 · 单帧遍历 · 周期抖动小 适用:1ms及以下周期,同步要求高 分支拓扑(带耦合器) 主站 耦合器 支路1 支路2 跳数:3+2 · 分支延迟叠加 · 抖动增大 适用:2ms以上周期,布线灵活优先

三、拓扑结构对通信周期的影响

EtherCAT采用“飞读飞写”机制:主站发送一个以太网帧,该帧依次经过所有从站,每个从站在帧经过时读取自己的输出数据并写入输入数据,帧遍历完所有从站后返回主站。因此,帧的往返时间与从站数量、拓扑跳数以及每个从站的转发延迟直接相关。

在线型级联拓扑中,帧依次经过每个从站,跳数等于从站数量。假设每个从站的转发延迟约为1 μs,4个从站的总延迟约为4 μs,加上线路传播延迟(约5 ns/m),对于100 m线缆,总延迟约0.5 μs。因此,线型拓扑的周期下限主要受从站数量和帧长限制。在1 ms周期下,线型拓扑通常可以稳定运行。

在分支拓扑中,帧需要经过耦合器进入分支,再返回耦合器继续向下。分支深度增加会引入额外的跳数和耦合器处理延迟。例如,一个带两个分支的耦合器,每个分支有2个从站,则帧需要经过:主站→耦合器→分支1从站1→分支1从站2→耦合器→分支2从站1→分支2从站2→耦合器→主站。总跳数约为7跳,延迟约7 μs。若分支深度继续增加,延迟会线性增长。因此,分支拓扑更适合2 ms或更长的周期。

实际调试中,可以通过TwinCAT的“EtherCAT Diagnostics”查看“Frame Time”和“Working Counter”来判断拓扑是否满足周期要求。若Frame Time接近或超过任务周期的80%,则应考虑减少从站数量、缩短线缆长度或改为线型拓扑。

四、多从站级联与分支拓扑调试任务

以下以一个教学示例说明调试过程。假设目标拓扑为:主站→耦合器→分支1(2个从站)→分支2(2个从站),任务周期设为2 ms,DC Sync0周期2 ms。

第一步,按实际物理连接搭建拓扑,确保每个从站的IN端口连接上一级的OUT端口,分支耦合器的分支端口正确连接。第二步,在TwinCAT中扫描从站,确认所有从站均被识别,并检查站别名是否与规划一致。第三步,设置DC Sync0,参考时钟选择耦合器后的第一个从站,Sync0周期设为2 ms,Shift值根据从站手册的Output Delay设置,例如设为200 μs。第四步,激活配置,观察“DC Status”是否显示“Sync0”。第五步,在“EtherCAT Diagnostics”中查看Frame Time,若Frame Time约为15 μs,远小于2 ms周期的80%(即1.6 ms),则拓扑满足要求。

若调试中发现某个从站“Working Counter”异常,通常说明该从站未正确进入OP状态。此时应检查:从站是否支持DC、Sync0周期是否与从站能力匹配、站别名是否冲突、线缆是否接触良好。若Frame Time偏大,可尝试减少分支深度或缩短线缆。

调试提示:在分支拓扑中,建议将DC参考时钟设置在耦合器之后的第一个从站,而不是耦合器本身。因为耦合器通常不参与DC同步,若将其设为参考时钟,可能导致同步误差增大。

五、配置检查清单

检查项预期值/状态异常处理
主站网卡独占已禁用Windows共享在网卡属性中取消TCP/IP绑定
从站扫描全部识别,无黄色问号安装对应ESI XML文件
站别名与规划一致,无冲突重新写入别名并重启从站
DC模式Sync0,周期与任务一致检查从站DC支持能力
DC StatusSync0,Sync0 Time稳定检查参考时钟和Shift值
Frame Time< 任务周期的80%减少从站或优化拓扑
Working Counter所有从站正常检查线缆和从站状态

完成上述配置与检查后,主站即可在设定的周期内稳定运行。若后续需要增加从站,应重新评估Frame Time和DC同步误差,必要时调整任务周期或拓扑结构。拓扑优化不是一次性的工作,而是随着设备增减持续进行的工程判断。