同步工业以太网网络

自动化工程师可以通过理解分布式时钟和IEEE 1588精确时间协议之间的差异来开发满足其应用程序需求的体系结构。

通过Joey Stubbs, PE, EtherCAT技术集团 2014年6月3日

许多机器制造和制造工程师已经习惯了将工业以太网作为一种生活方式。虽然它们并没有灭绝,但具有定制硬件和电缆的传统现场总线已经成为许多企业的后视镜。今天的问题不再是是否使用工业以太网;真正的问题是如何充分利用工业以太网,以及如何确保最佳实践到位。

在机器网络中使用众多工业以太网协议之一的一般好处是很多的,例如在许多情况下用于I/O、运动总线和安全。但是一些协议不仅有可能大大提高周期时间的速度,而且还可以在制造精度、过程准确性和系统诊断方面产生重大改进。

同步的重要性

例如,同步是一个更先进的工业以太网协议可以立即发挥作用的领域。通过实现同步,可以为任意数量空间分离的工业以太网连接设备和机器部分在应用程序之间创建一致的时间库,例如,用于具有多个运动轴的应用程序,以实现机械臂的空间路径,或涉及用于轴承磨损诊断的测量技术。同步是现代自动化系统中的一个关键元素,它可以确保简单设备和复杂设备始终以可靠、可重复的方式相互同步、与外部应用程序同步以及与事件同步。设备级数字通信系统(现场总线)为设备的开发人员和终端用户提供了将这些设备连接在一起的机会,工业以太网是进入这个市场的最新和最被广泛接受的入口。然而,目前有哪些技术可以用于同步以太网连接设备的网络,以及如何将这种同步用于自动化工程师的优势?

首先,“同步系统”这个术语应该如何定义?它仅仅是由发送和接收帧的确定性来定义的吗?设备知道帧到达和发送的时间吗?此外,如何处理命令I/O打开,或在未来的时间开始运动?那么锁定外部事件的时间呢?有许多与终端设备的内部工作相关的因素决定了设备与环境的交互效果,例如对时间值命令做出反应,或者当外部值达到某个极限时进行感知。每个用户的答案都不一样。然而,大多数人更关心的是需要确保导线的输入或输出信号(或当运动开始时,或当∆T参数被收集时)尽可能受到控制,并尽可能减少抖动。抖动是完美同步的变化——或者是最好的同步。其他问题可能包括实现和管理这样一个系统所涉及的复杂性。

本文研究了两种不同的工业以太网网络同步方法(见图1)。第一种是IEEE 1588,它用于许多不同的现场总线协议、Internet应用程序和交换网络拓扑。第二种方法与EtherCAT(一种开放的实时以太网)所使用的分布式时钟概念有关。我们将简要介绍这些不同的方法及其优缺点。

IEEE 1588 - 20元

IEEE 1588精确时间协议(PTP)提供了一种解决方案,可在各种传输媒体(包括以太网)上实现低至亚微秒级别的网络范围同步。该标准已被一些工业以太网现场总线协议提供商采用,作为在各自技术中实现时间同步的手段(参见图2)。

IEEE 1588-PTP标准没有指定器件的一些关键参数,例如器件振荡器的类型和频率。因此,在一个给定的系统中,可以有各种各样的时钟质量,有些比另一些更好。较慢的时钟将有较低的时间分辨率,因此它的时间和时间戳将不太准确。因此,IEEE 1588网络必须确定在网络中使用的最佳主时钟(BMC),这是一种协商算法,涉及到相互通信设备参数,并确定使用的最佳设备作为参考时钟。显然,如果所有设备的时钟质量都较低,那么整体BMC可能仍然无法提供用户所需的性能。如果网络变得更大,可能需要跨越几个子网,并且需要内置IEEE时钟的特殊交换机,每个交换机成为每个子网的BMC。

在确定BMC之后,必须确定BMC和其他IEEE 1588设备之间的时间延迟,并且必须定期对BMC发出定时更正。因为在IEEE 1588中,这必须发生在交换网络环境中,路由延迟高度依赖于拓扑结构,每增加一个交换机不仅会增加延迟,而且网络上额外的设备也会增加网络流量,这意味着流量变得更加紧张,容易在网络交换机中排队,导致总体上相当大的抖动。

在IEEE 1588系统中,访问和读取的实际时间戳可能有所不同。所谓的异步时间戳读取发生在两个地方之一:一个专门的以太网收发芯片,或者一个专门的媒体访问控制——两者都是通过这两个设备中的一个中断从主机微控制器上的软件访问的。同步时间戳读取发生在消息进入设备时,将时间戳插入到消息中。这需要额外的专用硬件,因为时间戳的添加改变了以太网帧的循环冗余代码,必须重新计算和更改。这里的优点是时间戳和数据匹配。这两种方法都需要在每个从设备中设计一个微控制器(以及软件、RAM等),这对于简单的设备来说可能是多余的。

分布式时钟将精度提升到纳秒级

作为实现同步的另一种方式,EtherCAT是使用分布式时钟(DCs)的工业以太网系统的一个例子。这些dc内置于相关的EtherCAT从控制器(ESCs)中,因此不需要外部电路或实现dc所需的特殊基础设施。ESCs是在硬件上实现EtherCAT协议的IC芯片。具有DC功能和不具有DC功能的设备可以在同一网络中自由混合,而不影响网络的同步质量。EtherCAT规范规定了直流设备振荡器的频率和质量。因此,不需要进行BMC测定。任何直流设备都可以作为参考主时钟。根据工作原理,参考时钟始终是第一个具有DC功能的EtherCAT从站。这样做的优点是不需要协商,而且所有从设备都具有相同的振荡器质量。此外,从参考时钟分配时间的方法是非常有效和优雅的(参见图3)。

由于EtherCAT的实时处理工作原理,每个帧都有效地通过EtherCAT网络的每个slave(多达65,535个slave)以直通方式路由。不管哪个从设备是否被寻址,每个帧每次都以相同的路径经过每个从设备(没有帧的活动路由)。这导致整个网络的时间相同。每个从机可以预测计算出数据在前进方向(Tx)和返回方向(Rx)之间传递所需的时间,主机也知道准确的EtherCAT网络拓扑结构。这是很重要的,因为主机可以很容易地计算网络中任何两点之间的传播延迟,例如它的参考时钟(总是网络中第一个启用dc的设备)和每个额外的启用dc的从时钟之间的传播延迟。对于一个给定的网络,这种计算只需要做一次,并且完全与拓扑无关。

在计算了从参考时钟到单个从机的传播延迟后,将这个值赋给从机,每个从机接收到它唯一的传播延迟值。这样做是为了使每个从机可以将其本地时钟设置和维护为参考时钟。对于漂移补偿,主处理器只是在每个循环帧中添加一个非常小的指令(16字节),它从参考时钟中获取时间并将其分配给所有其他从处理器。每个从机将比较从参考时钟接收到的时间值的总和,加上传播延迟到它自己的本地时钟值,并确定它运行的是快还是慢。补偿是通过简单地调整其本振振荡器的每个脉冲的计算时间,从而关闭参考时钟的相位环路来完成的。

数据中心的性能与网络拓扑结构、从设备数量和来自主设备的帧抖动无关。真实世界的抖动值通常小于±100纳秒。收紧锁相环的主要因素仅仅是需要更频繁地发出时间分配命令。由于网络的抖动和各个从设备的计时都不受以太网帧抖动的影响,EtherCAT网络不需要任何特殊的主卡来实现无抖动的帧。只要数据在全网时间中断之前被最远的从机接收到,就不会有帧抖动的问题。所有EtherCAT主机都会根据网卡抖动、网络延迟和抖动以及帧本身的长度来计算他们需要提前多远开始发送帧。

此外,促进这种同步的直流单元不需要微控制器的额外复杂性或成本。因此,即使是低成本的数字I/O也只能由EtherCAT从控制器芯片、EEPROM和用于输入/输出信号的驱动电路构成。然而,这可以提供低到纳秒的输出信号,或者在相同纳秒分辨率的上升或下降信号边(可配置)上锁定时间值,所有这些都不需要添加微控制器。

现场设备使用时间

拥有网络范围内的同步时钟是很好的,但它们最终是无用的,除非用户能够实现相关的功能和好处。使从设备的行为与时间相关是同步系统的最终目标。在这里,IEEE 1588和dc之间的差异是非常明显的。

IEEE 1588设备通常比较复杂,因为无论该设备的核心功能是否简单(如数字I/O),都需要一个微控制器。然而,这些设备通常是由运行某种软件的微控制器实现的,它直接从时间寄存器读取,以促进任何和所有功能,从简单的数字信号到复杂的运动配置文件。

另一方面,EtherCAT从控制器内部的内部DC单元直接连接到内部帧收发器、逻辑处理单元、可选微处理器的中断请求以及一组输入和输出引脚。这些输入(锁存)和输出(同步)引脚可以直接用作简单数字设备的I/O信号,也可以与微控制器一起使用,以实现更高级功能的中断。

在设备实现的基本层面上,同步引脚可以用作数字信号的输出。与每个同步引脚相关联的是一个时间值寄存器。当将一个值设置为该寄存器时,同步引脚将在本地时间达到该预设后自动以纳秒分辨率触发。通过这种方式,可以构建一个非常便宜的数字输出模块,因为没有伴随的微控制器、RAM或软件堆栈的成本。这些设备将具有非常低的抖动,并且可以与网络中的其他全网直流设备同步。

同样,同步引脚的推论是输入闩锁引脚。这些引脚可以用作简单I/O设备的输入引脚,因为当检测到配置的上升沿或下降沿时,时间值将锁存到它们相关的寄存器中。同步和锁闩引脚都提供了与传统PLC扫描无关的功能,但允许以纳秒分辨率在任何时间点进行输入捕获或输出命令。

当精确的输入时间与精确的输出响应相匹配时,用户可以测量事件发生的准确时间,并命令对该事件作出反应的准确时间。例如,这可以包括对生产线上的警报做出反应,计算避免不存在风险的产品被拒绝所需的未来时间,但可靠地消除存在风险的产品。

过采样可以通过使用从属中断来完成,这将允许设备以控制器扫描速率的倍数对信号进行多次采样。这允许捕获传统PLC不可见的事件(甚至多个事件),因为它们的持续时间足够短,可以在PLC扫描之间使用。类似地,过采样数字输出设备可以产生简单I/O无法检测到的脉冲序列,最大只能产生扫描频率一半的方波(见图4)。

使用带模拟捕获功能的过采样使模拟模块能够捕获或创建波形,这可以为高速过程添加强大的功能。连续运行过采样模块可用于在自动化过程中添加状态监测和预防性维护功能,其中快速傅里叶变换(FFT)算法可以自诊断电机、轴承或齿轮的磨损情况。所有这一切都是可能的,同时提供对过程和设备本身的控制。

前面的段落并不意味着dc和IEEE 1588一定是相互竞争的同步方案,也不是说它们是不兼容的。关键是EtherCAT内部的同步方法基于dc,因为前面提到的简单性、成本效率和设计灵活性的优点。此外,DCs已经内置到EtherCAT从控制器中,因此没有额外的硬件要求。事实上,有几种ethercat - ieee 1588边界时钟的来源,允许时间值从一个桥接到另一个。这些用于将EtherCAT网络同步到外部IEEE 1588授时源,例如从grandmaster时钟,或其他使用IEEE 1588的现场总线系统。

结论

IEEE 1588和DCs都为自动化工程师提供了实现高同步设备网络的能力,这些设备分布在大面积和长网络距离上。IEEE 1588为基于互联网和交换机的协议提供了可行的解决方案,而EtherCAT使用更精简、带宽效率更高的直流解决方案,这也确保了非常低的抖动。尽管IEEE 1588甚至对于最简单的数字I/O设备也需要特殊和复杂的基于微控制器的硬件,EtherCAT直流设备可以在不支持微控制器的情况下实现,从而降低设备和系统成本。这两种同步方案仍然可以一起使用,通过边界设备进行桥接。这允许在EtherCAT网络和基于IEEE 1588的系统之间共享网络时间。在这两种同步方案之间,自动化工程师可以开发自底向上或自顶向下的体系结构来满足他们的应用程序或客户的需求。

作者简介

乔伊·斯塔布斯(Joey Stubbs)是该公司的北美代表EtherCAT技术集团.他是一名注册的控制系统专业工程师,拥有南卡罗来纳大学的电气工程学士学位,以及其他几个技术学位。他在实施工业以太网技术、自动化项目、运动控制、核电和配电方面拥有近30年的工业经验。

本文刊登在《应用自动化》杂志的增刊上控制工程而且设备工程