跳到主要内容

分布式时钟 (DC)

什么是 DC?

DC (Distributed Clocks) 是 EtherCAT 从站控制器 (ESC) 中的硬件单元,用于将不同 EtherCAT 设备的本地时钟同步到一个共同的系统时间。

分布式时钟是实现精确同步的硬件基础,确保所有从站在微秒级精度下协同工作。

为什么需要 DC?

在高精度运动控制和同步应用中,多个设备必须精确同步动作:

DC 的应用场景

应用说明
多轴运动控制多个伺服轴精确同步运动,用于印刷、包装、电子装配等
分布式 I/O分布在不同位置的 I/O 模块同步采样和输出
高速测量多个传感器同步采样,确保数据时间一致性
同步输出多路 PWM、脉冲等信号精确同步输出

DC 工作原理

设备角色

从 DC 同步的角度,使用 DC 的设备分为两种角色:

  • 参考时钟 (Reference Clock - R): 持有系统时间,为所有其他同步设备提供时间基准
  • 从时钟 (Slave Clocks - S): 根据参考时钟调整,跟随系统时间并保持在容许偏差范围内
参考时钟的选择

参考时钟始终是第一个使用 DC 的从站(按帧传播顺序)。配置工具会自动选择,用户不应手动更改

同步过程

DC 硬件同步分为两个阶段:

初始同步

将各个从站的本地时钟(初始时彼此独立)对齐到系统时间:

漂移补偿

持续补偿本地时钟相对系统时间的偏差(由于石英振荡器参数差异、温度漂移、老化等因素):

漂移补偿命令会与过程数据帧一起发送,持续保持同步精度。

SYNC 信号

DC 单元可以生成两个同步信号:SYNC0SYNC1

SYNC0 和 SYNC1 的用途

信号典型用途
SYNC0触发输入数据采样,确保所有从站同时读取输入
SYNC1触发输出数据更新,确保所有从站同时更新输出

通过 SYNC0 和 SYNC1 的配合,可以实现:

  • 所有从站在精确的时间点同步采样输入
  • 所有从站在精确的时间点同步更新输出
  • SYNC1 相对于 SYNC0 的偏移可以预留数据处理时间

DC 配置参数

DC 配置分为主站配置从站配置两部分。

主站配置(全局)

适用于整个网络的配置:

参数说明
Reference Clock参考时钟设备(自动选择,不应手动更改)
SYNC Shift Time主站控制任务启动时间与 SYNC0 事件生成的时间关系

从站配置(单个从站)

每个从站的独立配置(来自 ESI 文件):

SYNC0 配置:

  • Cycle Time: SYNC0 周期时间(可与通信周期成比例,或固定周期)
  • Shift Time: 该从站的额外偏移时间

SYNC1 配置:

  • Cycle Time: SYNC1 周期时间(可与通信周期或 SYNC0 同步)
  • Shift Time: SYNC1 相对于 SYNC0 的偏移
重要

从站 DC 配置由 ESI 文件定义,是设备制造商根据应用需求设置的默认值。用户不应手动更改从站配置,以免影响设备正常工作。

DC 同步模式

基于 DC 的同步模式称为 DC-Synchronous 模式,只有在 ESI 文件中定义了 DC 支持的从站才会被同步。

可用状态

同步机制PREOPSAFEOPOP
DC 时钟同步
SYNC 信号

DC 时钟同步在所有状态下都会进行,但 SYNC 信号只在 SAFEOP 和 OP 状态下有效。

同步精度

DC 可以实现微秒级以下的同步精度:

指标典型值
时钟同步精度< 1 µs
SYNC0/SYNC1 抖动< 100 ns(取决于 ESC 型号)
多轴同步误差< 1 µs

这种高精度使得 EtherCAT 能够满足最严格的运动控制和同步要求。

主站循环时间对 DC 同步的影响

主站的循环时间(Cycle Time)对 DC 同步有重要影响,是影响系统整体同步性能的关键因素。

循环时间的影响

SYNC0/SYNC1 周期配置

SYNC0 和 SYNC1 的周期通常配置为与主站循环时间成比例关系

配置方式说明适用场景
同步于循环时间SYNC0 = N × 主站循环时间大多数应用(推荐)
固定周期SYNC0 独立于主站循环时间特殊应用(如高速采样)
常见配置

在大多数应用中,SYNC0 周期配置为与主站循环时间相同(1:1),这样确保每个通信周期都有一次同步事件。

循环时间抖动的影响

主站循环时间的**抖动(Jitter)**会直接影响 DC 同步性能:

理想循环时间:
周期1 周期2 周期3 周期4
|---1ms---|---1ms---|---1ms---|---1ms---|
稳定,抖动 < 1µs

有抖动的循环时间:
|--0.98ms--|--1.02ms--|--0.99ms--|--1.01ms--|
↑ 抖动较大,影响同步精度
循环时间抖动对 DC 同步的影响
< 1 µs优秀,可实现最佳同步性能
1-10 µs良好,适合大多数运动控制应用
> 10 µs较差,可能影响高精度同步
> 100 µs不可接受,无法保证同步精度

循环时间选择建议

应用类型推荐循环时间说明
高速运动控制250 µs - 500 µs多轴伺服、印刷机械
通用运动控制1 ms最常用,平衡性能和负载
分布式 I/O1 ms - 4 msI/O 模块、传感器采集
低速过程控制10 ms - 100 ms温度、压力等慢速控制
重要:设备循环时间稳定性对于高精度设备尤为重要

主站必须保证循环时间的稳定性,否则会导致:

  • DC 同步精度下降
  • SYNC0/SYNC1 信号不稳定
  • 从站应用层同步失败
  • 运动控制抖动

主站循环时间与 SYNC Shift Time 的关系

SYNC Shift Time 定义主站控制任务启动与 SYNC0 事件的时间关系。

时间关系说明

时间点事件说明
t = 0主站任务启动开始处理控制逻辑,准备输出数据
t = Shift TimeSYNC0 触发从站同步采样输入/更新输出
t = 循环周期下一周期开始主站任务重新启动

计算公式

SYNC Shift Time = 循环周期 × (50% ~ 80%)

示例:循环周期 = 1000 µs
- 推荐范围: 500 ~ 800 µs
- 典型值: 600 µs (60% 循环周期)

不同 Shift Time 的影响

Shift Time占比优点缺点适用场景
< 50%过小-数据可能未准备好不推荐
50% - 60%适中平衡处理时间和同步延迟-通用应用
60% - 80%较大充足的数据处理时间略增加延迟复杂控制逻辑
> 80%过大-可能与下周期冲突不推荐

Shift Time 的作用

  1. 数据处理时间: 预留足够时间让主站完成控制逻辑计算
  2. 通信保障: 确保输出数据在 SYNC0 触发前已发送到从站
  3. 避免冲突: 防止当前周期的通信与下周期任务启动冲突
  4. 同步精度: 保证从站在精确时刻采样/输出,实现多设备同步

实际配置示例

循环周期推荐 Shift Time说明
125 µs70 - 100 µs高速应用,需要快速响应
250 µs140 - 200 µs超高速多轴同步
500 µs280 - 400 µs高速运动控制
1000 µs600 - 800 µs标准运动控制(最常用)
4000 µs2500 - 3200 µs分布式 I/O

循环时间监控

为保证 DC 同步质量,建议实时监控主站循环时间

监控指标目标值说明
平均循环时间= 设定值 ± 0.1%确保循环时间准确
最大抖动< 1 µs控制抖动在可接受范围
最大/最小循环时间< ±1% 偏差检测异常情况
循环超时次数0避免任何超时