最全的PLC通讯协议解析之EtherCAT篇(4)

[复制链接]
查看366 | 回复0 | 2024-5-10 00:56:27 | 显示全部楼层 |阅读模式
我们先回顾上几期的内容:
1.EtherCAT概述:最全的PLC通讯协议解析之EtherCAT篇(1)
2.EtherCAT与EtherNet:最全的PLC通讯协议解析之EtherCAT篇(2)
3.EtherCAT运行机制:最全的PLC通讯协议解析之EtherCAT篇(3)

我们这期重点讨论:EtherCAT同步性(分布式时钟)



重要性

在工业自动化设备中,之所以选择总线,主要考虑的是通讯速度、带宽还有就是稳定性和同步性。特别是在运控领域,微秒级别的同步,高速运动过程中的位置锁存(飞拍、追剪等应用),那同步性是相当重要。





分布式时钟(DC)原理

在EtherCAT总线网络中,术语“分布式时钟”是指分布式时钟的逻辑网络。通过使用分布式时钟,EtherCAT实时以太网协议能够在非常窄的容差范围内同步所有本地总线设备中的时间。如果EtherCAT从站支持分布式时钟功能,则它包含自己的时钟,该时钟在打开后最初在本地运行,基于EtherCAT从站内部的独立时钟生成器(石英、振荡器等)。

在EtherCAT链中,有一个选定的EtherCAT从站,代表参考时钟(M,见图EtherCAT系统中的分布式时钟),其他设备和控制器的从机时钟(S)与之同步。因此,参考时钟即是系统时间。如果EtherCAT主机支持分布式时钟功能,例如Beckhoff TwinCAT EtherCAT主站,则其可自动连续处理调整和同步。为此,EtherCAT主机以短时间间隔发送一个特殊EtherCAT数据报文(具有足够的频率以确保从站时钟在指定的限制内保持同步),其中EtherCAT从站与参考时钟进入其当前时间。然后,所有其他具有从时钟的EtherCAT从站从同一数据报中读取该信息。

由于EtherCAT的环形结构,如果参考时钟在拓扑上位于所有其他从站时钟之前,这是可能的。因此,EtherCAT主设备选择第一个具有分布式时钟功能的EtherCAT从站作为参考时钟。

因此,EtherCAT配置的特点是EtherCAT主机操作和管理与连接的EtherCAT从站的总线。其中一个EtherCAT从站包含参考时钟(M),所有其他EtherCAT设备(即包括EtherCAT主站)代表从站时钟(S)。


EtherCAT从站控制器(ESC)处理EtherCAT通信,尤其是EtherCAT从站中的分布式时钟功能。这是诸如ASIC或可重编程FPGA或类似物的电子部件(芯片)。每个EtherCAT从设备都有这样一个ESC,以确保通过EtherCAT现场总线在主设备和从设备之间交换循环和非循环过程数据。该ESC可以直接处理数字输入和输出等简单功能,也可以通过串行/并行接口连接到EtherCAT从机中的另一个处理器,以处理更复杂的任务,如驱动控制。特别是,如果EtherCAT从站需要支持此功能,ESC会管理本地分布式时钟功能和相关任务。

EtherCAT从站的示意图如图所示。ESC功能和嵌入典型EtherCAT从属机的示例。此外,在后者中嵌入ESC及其基本功能的选择。



信号通过转变器从RJ45插座传输到PHY(物理接口)。它从编码的以太网信号中提取用户数据,并将其传输到ESC进行处理。然后,EtherCAT电报以最小延迟(由于动态处理)通过PHY和套接字中继到下一个EtherCAT从机。当从设备启动时,ESC自动通过EEPROM中的配置数据对自身进行参数化。如果从设备中存在另一个CPU,则从站可以通过接口与其通信。

ESC的分布式时钟单元在完整配置中提供以下功能(取决于设备实现):

  • EtherCAT从设备和主设备之间的时钟同步

  • 同步生成输出信号(同步信号)

  • 同步读取输入信号

  • 输入信号(锁存信号)的精确时间戳

  • 同步中断的生成



同步性能

与立即受到通信误差影响的完全同步通信相比,分布式同步时钟对通信系统中的抖动具有高度的容忍度。因此,用于同步节点的EtherCAT解决方案是基于这种分布式时钟(DC)的。



节点中时钟的校准完全基于硬件。从第一个DC从设备开始的时间被循环地分配给系统中的所有其他设备。通过这种机制,从设备时钟可以精确地调整到该参考时钟。系统中产生的抖动明显小于1μs。

由于从参考时钟发送到从设备的时间略有延迟,因此必须测量并补偿每个从设备的传播延迟,以确保同步性和同时性。这种延迟是在网络启动期间测量的,如果需要,甚至是在操作期间连续测量的,以确保时钟在彼此小于1μs的范围内同步。


图 : 同步性与一致性:相距电缆长度为有120米的两个分布系统,带有300个节点的示波器比较

此外,高分辨率的分布时钟不仅可以用于同步,还可以提供数据采集的本地时间精确信息。当采样时间非常短暂时,即使是出现一个很小的位置测量瞬时同步偏差,也会导致速度计算出现较大的阶跃变化,例如,运动控制器通过顺序检测的位置计算速度便是如此。而在EtherCAT中,引入时间戳数据类型作为一个逻辑扩展,以太网所提供的巨大带宽使得高分辨率的系统时间得以与测量值进行链接。这样,速度的精确计算就不再受到通讯系统的同步误差值影响,其精度要高于基于自由同步误差的通讯测量技术。



EtherCAT分布式时钟优势

EtherCAT的分布式时钟提供了几个优势,使其成为工业自动化的首选。

首先,分布式时钟实现的紧密同步提高了控制精度、准确性和整体系统性能。由于所有设备的时间都是相同的,运动控制系统可以以最小的误差执行协调的运动。

此外,EtherCAT的分布式时钟提供了一种经济高效的解决方案。与其他需要额外硬件进行时间同步的协议不同,EtherCAT使用低成本的EtherCAT ESC芯片实现时间同步。这些芯片集成了分布式时钟所需的多种功能,无需专门的卡或复杂的软件堆栈。


EtherCAT从站同步模式

Ether CAT从站主要有以下同步模式:

  • (Free Run):自由运行

    EtherCAT从站与EtherCAT不同步。从设备根据自己的周期自主运行,不与EtherCAT周期同步。

  • (Synchronous with SM event ):与SM事件同步

    EtherCAT从设备与SyncManager 2(SM2)事件(如果传输周期性输出)或SM3事件(如果仅传输周期性输入)同步。处理经过的帧时,SyncManager会触发SM2/SM3事件。

  • (Synchronous with SYNC event (distributed clocks)) :与SYNC事件(分布式时钟)同步

    EtherCAT从机与分布式时钟系统的SYNC0或SYNC1事件同步。具体可查看文末的文献链接。

    同步模式相关的所有参数都列为EtherCAT从站设备的CoE列表中的对象。它们可以由从设备在线读取,也可以通过描述从设备的XML文件离线确定。

例如,在CODESYS平台控制器中,设定伺服的同步模式,有些伺服默认是不会选择DC模式,这个时候需要自己在图示处选择:



实际测试发现,部分设备伺服运行有些异常抖动,不管如何设定其他参数都无效,反而将DC项目设置成上述这个模式DC Sync0即可解决。

关于分布式时钟,主要整理于倍福官网和其他网站(具体见下方文章链接),对于描述不恰当的地方请各位朋友留言区补充,另外,这块理解起来比较难,如果需要详细的了解和研究,请到下述链接仔细查阅:


  • https://www.ethercat.org/en/technology.html#1.5

  • https://infosys.beckhoff.com/english.php?content=../content/1033/ethercatsystem/2469062027.html&id=

  • https://www.toolify.ai/gpts/optimize-ethercat-systems-with-distributed-clocks-306598

  • https://ww2.mathworks.cn/help/slrealtime/io_ref/ethercat-distributed-clock-algorithm.html



  • 【视频课程】Codesys V3.5系列入门课程
  • 【视频课程】Codesys SoftMotion软运动控制基础课程
  • 【视频课程】Codesys SoftMotion电子齿轮课程
  • 【视频课程】Codesys SoftMotion电子凸轮CAM课程
  • 【视频课程】Codesys Library自定义库的制作

  • Codesys V3.5系列最全免费公开资料汇总

  • 十大常用滤波算法(ST语言)

  • 集成Chat GPT的PLC长啥样?

  • 2023年度TOP 10的PLC编程书籍分享

  • 定制专属您的CODESYS运动控制器

  • MC_Power.status = FALSE,轴也可以运动?

  • ST语言学习资料汇总




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则