EtherCAT 实时性揭秘:DC 同步与抖动

EtherCAT 的实时性优势来自两个机制:处理帧"飞速穿越"(on-the-fly)从站,以及分布式时钟(DC)把各从站的采样时刻对齐到同一时基。但必须分清两件事:DC 解决的是各轴之间的时刻一致性,它无法缩短传感器自身的测量耗时。磁致伸缩位移传感器的更新率由波导丝上扭转波的传播时间决定,量程越长越慢——这是系统实时性的物理下限,任何总线都突破不了。本文拆解 DC 的工作原理与抖动来源,产品对应 197 EtherCAT 系列

EtherCAT 实时性揭秘:DC 同步与抖动
EtherCAT 实时性揭秘:DC 同步与抖动

处理帧穿越:EtherCAT 快在哪里

传统以太网从站需要接收整帧、解析、再构造应答帧发出,每一跳都产生完整的协议栈延迟。EtherCAT 从站芯片则在帧穿过自己的同时读走属于自己的输出数据、写入自己的输入数据,帧继续向下游传递,链路末端返回主站。整条链路一个周期只跑一帧(或少数几帧),单站增加的延迟是硬件级的、纳秒到亚微秒量级。

这解释了为什么 EtherCAT 的周期可以做得很短,而且周期随节点数增加的膨胀很小——与 Profibus 那种"站数越多轮询周期越长"的主从机制形成鲜明对比,对比见 总线型全系对比

DC 分布式时钟:对齐的是"时刻",不是"速度"

DC 的工作分三步:

  1. 选定参考时钟:网络中第一个支持 DC 的从站的本地时钟被指定为系统时基。
  2. 测量传播延迟:主站在初始化阶段测量报文到达各从站的时间差,为每个从站计算并写入固定的延迟补偿值。链路越长的从站补偿值越大,从而抵消物理传播差异。
  3. 周期漂移补偿:各从站晶振频率存在微小差异,运行中会缓慢分离。主站周期性广播参考时钟值,从站据此微调本地时钟,把漂移持续拉回。

结果是:所有从站可以在同一个系统时刻触发采样中断,而不是"收到报文时才采样"。这一点对多轴同步至关重要——若各轴按报文到达顺序采样,链路靠前与靠后的从站采样时刻天然存在偏差,运动中就转化为位置误差。多轴系统的整体配置见 多轴同步选型:一根总线带多少轴才稳

抖动来源与对策

抖动/延迟来源性质DC 能否消除对策
链路传播延迟差异固定偏差能,初始化时补偿确保 DC 已启用且初始化成功
从站晶振漂移缓慢漂移能,周期补偿保持 DC 周期补偿运行,勿设为 FreeRun
主站任务周期抖动随机抖动不能主站用实时内核/实时任务,避免非实时系统跑控制周期
传感器测量耗时(更新率)物理耗时,随量程变化不能周期 ≥ 更新率;多轴尽量选同量程
各轴量程不同导致的延迟差系统性偏差不能同步轴统一量程,或在控制侧做延迟补偿
网线质量/接插件不良随机丢帧重传不能查 CRC 错误计数器,更换问题网段

控制周期怎么设:三条硬约束

第一,周期不得短于传感器更新率。磁致伸缩的一次测量必须等扭转波走完全程,更新率随量程变化(较短量程约 0.5 ms 量级,超长量程可达数毫秒)。若把 EtherCAT 周期设为远小于更新率的值,主站会连续多个周期读到同一个位置值,控制器的微分环节会算出"速度为零",随后在数值突变时算出一个虚假的速度尖峰——表现为闭环抖动。这类问题常被误判为传感器精度不足,实则是周期配置错误。响应时间的匹配方法见 响应时间/刷新率怎么和控制周期匹配

第二,多轴同步应统一量程。不同量程的传感器测量耗时不同,同一时刻触发采样,得到的却是"不同新鲜度"的数据。DC 对齐的是触发时刻,补不回测量耗时差。若机械上必须使用不同量程,应在控制侧按各轴更新率做延迟补偿。

第三,别把分辨率档位当成实时性指标。分辨率档位(1 / 2 / 5 / 10 / 20 / 50 / 100 μm)决定的是最小可分辨增量,与更新率是两回事。过高的分辨率反而会把噪声一并放大显示,在高刷新率下呈现"读数抖动"。分辨率与精度的关系见 分辨率、重复精度、非线性度的区别

验证同步是否真的生效

组态里勾了 DC 不等于 DC 在工作。可执行的验证手段有:查看主站的 DC 同步偏差监视量(多数主站提供参考时钟与各从站的偏差统计),确认其收敛且稳定;确认所有从站均进入 OP 状态而非停在 SAFE-OP;观察 CRC 错误计数器(先清零再看增量)确认链路无重传。配置步骤与状态机细节见 EtherCAT 从站配置:XML 与分布式时钟

断电与上电场景下的位置恢复行为见 总线型断电保持与同步刷新机制;产品参数见 197 EtherCAT 系列详解;总线接入通用规范见 总线实操指南

常见问题

Q:EtherCAT 为什么比传统以太网快?

传统从站需接收整帧、解析后再构造应答帧,每跳都有完整协议栈延迟。EtherCAT 从站芯片在帧穿过自身的同时读走输出、写入输入数据,单站增加的延迟是硬件级的,且周期随节点数增加的膨胀很小。

Q:DC 同步能提高传感器的响应速度吗?

不能。DC 对齐的是各从站的采样时刻,解决的是轴与轴之间的时间一致性,无法缩短传感器自身的测量耗时。磁致伸缩的更新率由扭转波传播时间决定,是系统实时性的物理下限。

Q:多轴同步为什么建议选相同量程?

量程不同则单次测量耗时不同,即使同一时刻触发采样,各轴数据的新鲜度也不一致。DC 只能对齐触发时刻,补不回测量耗时差。机械上必须用不同量程时,应在控制侧按各轴更新率做延迟补偿。

Q:闭环出现抖动是传感器精度不够吗?

不一定。若 EtherCAT 周期短于传感器更新率,主站会连续多个周期读到同一位置值,微分环节算出速度为零,随后在数值突变时算出虚假速度尖峰,表现为闭环抖动。应先核对周期与更新率的关系。

Q:怎么确认 DC 真的在工作?

组态里勾选不等于生效。应查看主站提供的 DC 同步偏差监视量是否收敛稳定,确认所有从站均进入 OP 而非停在 SAFE-OP,并把 CRC 错误计数器清零后观察增量以确认链路无重传。

← 返回行业动态