【摘要】 本文深入阐述了基于以太网现场总线系统的EtherCAT技术。EtherCAT为现场总线技术领域树立了新的性能标准,具备灵活的网络拓扑结构,系统配置简单,和现场总线系统一样操作直观简便。另外,由于EtherCAT实现成本低廉,因此使系统得以在过去无法应用现场总线网络的应用场合中选用现场总线。
引言
现场总线已成为自动化技术的集成组件,通过大量的实践试验和测试,如今已获得广泛应用。正是由于现场总线技术的普及,才使基于PC的控制系统得以广泛应用。
虽然控制器CPU的性能(尤其是IPC的性能)发展迅猛,但传统的现场总线系统正日趋成为控制系统性能发展的“瓶颈”。急需技术革新的另一个因素则是由于传统的解决方案并不十分理想。传统的方案是,按层划分的控制体系通常都由几个辅助系统所组成(周期系统):即实际控制任务、现场总线系统、 I/O 系统中的本地扩展总线或外围设备的简单本地固件周期。正常情况下,系统响应时间是控制器周期时间的3-5倍。(图1见书)
在现场总线系统之上的层面(即网络控制器)中,以太网往往在某种程度上代表着技术发展的水平。该方面目前较新的技术是驱动或I/O级的应用,即过去普遍采用现场总线系统的这些领域。这些应用类型要求系统具备良好的实时能力、适应小数据量通讯,并且价格经济。EtherCAT可以满足这些需求,并且还可以在I/O级实现因特网技术。
以太网和实时能力
目前,有许多方案力求实现以太网的实时能力。例如,CSMA/CD介质存取过程方案,即禁止高层协议访问过程,而由时间片或轮循方式所取代的一种解决方案;另一种解决方案则是通过专用交换机精确控制时间的方式来分配以太网包。这些方案虽然可以在某种程度上快速准确地将数据包传送给所连接的以太网节点,但是,输出或驱动控制器重定向所需要的时间以及读取输入数据所需要的时间都要受制于具体的实现方式。
如果将单个以太网祯用于每个设备,那么,理论上讲,其可用数据率非常低。例如,最短的以太网祯为84字节(包括内部的包间隔IPG)。如果一个驱动器周期性地发送4字节的实际值和状态信息,并相应地同时接收4字节的命令值和控制字信息,那么,即便是总线负荷为100%(即:无限小的驱动响应时间)时,其可用数据率也只能达到4/84= 4.8%。如果按照10 µs的平均响应时间估计,则速率将下降到1.9%。对所有发送以太网祯到每个设备(或期望祯来自每个设备)的实时以太网方式而言,都存在这些限制,但以太网祯内部所使用的协议则是例外。
EtherCAT工作原理
EtherCAT技术突破了其他以太网解决方案的系统限制:通过该项技术,无需接收以太网数据包,将其解码,之后再将过程数据复制到各个设备。EtherCAT从站设备在报文经过其节点时读取相应的编址数据,同样,输入数据也是在报文经过时插入至报文中(图2见书)。整个过程中,报文只有几纳秒的时间延迟。
由于发送和接收的以太网祯压缩了大量的设备数据,所以可用数据率可达90%以上。100 Mb/s TX的全双工特性完全得以利用,因此,有效数据率可以达到> 100 Mb/s (> 2 x 100 Mb/s的90%) (图3见书)。
符合IEEE 802.3标准的以太网协议无需附加任何总线即可访问各个设备。耦合设备中的物理层可以将双绞线或光纤转换为LVDS(一种可供选择的以太网物理层标准[4,5]),以满足电子端子块等模块化设备的需求。这样,就可以非常经济地对模块化设备进行扩展了。之后,便可以如普通以太网一样,随时进行从底板物理层LVDS到100 Mb/s TX物理层的转换。
协议
EtherCAT是用于过程数据的优化协议,凭借特殊的以太网类型,可以在以太网祯内直接传送。EtherCAT协议可包括几个EtherCAT报文,每个报文都服务于一块逻辑过程映像区的特定内存区域,该区域最大可达4GB字节。数据顺序不依赖于网络中以太网端子的物理顺序,可任意编址。从站之间的广播、多播和通讯均得以实现。如果需要实现最大化性能,并且需要将EtherCAT组件作为同一子网控制器进行操作,则可直接传送以太网祯。
然而,EtherCAT不仅限于单个子网的应用。EtherCAT UDP将EtherCAT协议封装为 UDP/IP数据报文(图4见书),这就意味着,任何以太网协议堆栈的控制均可编址到EtherCAT系统之中,甚至通讯还可以通过路由器跨接到其它子网中。显然,在这种变体结构中,系统性能取决于控制的实时特性和以太网协议的实现方式。因为UDP数据报文仅在第一个站才完成解包,所以EtherCAT网络自身的响应时间基本不受影响。
另外,根据主/从数据交换原理,EtherCAT 也非常适合控制器之间(主/从)的通讯。自由编址的网络变量可用于过程数据以及参数、诊断、编程和各种远程控制服务,满足广泛的应用需求。同理,主站/从站与主站/主站之间的数据通讯接口相同。
从站到从站的通讯则有两种机制以供选择。一种机制是,上游设备和下游设备可以在同一周期内实现通讯,速度非常快。由于这种方法与拓扑结构高度相关,因此适用于由设备架构设计所决定的从站到从站的通讯,如打印或包装应用等。而对于自由配置的从站到从站的通讯,则可以采用第二种机制——数据通过主站进行中继。这种机制需要两个周期才能完成,但由于EtherCAT的性能非常卓越,因此该过程耗时仍然小于采用其他方法所耗费的时间。
按照文献[3]所述,EtherCAT仅使用标准的以太网祯,无任何压缩。因此,EtherCAT 以太网祯可以通过任何以太网MAC发送,并可以使用标准工具(如:monitor)。
拓扑
EtherCAT几乎支持任何拓扑类型,包括线型、树型、星型等(图5见书)。通过现场总线而得名的总线或线型结构也可用于以太网,并且不受限于级联交换机或集线器的数量。
最有效的系统连线方法是对线型、分支或树叉结构进行拓扑组合。因为所需接口在I/O 模块等很多设备中都已存在,所以无需附加交换机。当然,仍然可以使用传统的、基于以太网的星型拓扑结构。
还可以选择不同的电缆以提升连线的灵活性:灵活、廉价的标准以太网补偿电缆可采用 100 Mb/s TX模式传送信号;塑封光纤(POF)可补充用于特殊应用场合;还可以通过交换机或介质转换器实现不同以太网连线(如:不同的光纤和铜电缆)的完整组合。
快速以太网的物理层(100 M b/s-TX)允许两个设备之间的最大电缆长度达到100米。由于连接的设备数量可达65535,因此,网络的容量几乎没有限制。
分布时钟
精确同步对于同时动作的分布式过程而言尤为重要。例如,几个伺服轴同时执行协调运动时,便是如此。
最有效的同步方法是精确排列分布时钟(请参阅IEEE 1588标准[6])。与完全同步通讯中容易出现通讯故障,立即影响同步品质的情况相比,分布排列的时钟对于通讯系统中可能存在的相关故障延迟具有极好的容错性。
采用EtherCAT,数据交换就完全基于纯硬件机制。由于通讯采用了逻辑环结构 (借助于全双工快速以太网的物理层),主站时钟可以简单、精确地确定各个从站时钟传播的延迟偏移,反之亦然。分布时钟均基于该值进行调整,这意味着可以在网络范围内使用非常精确的、小于1 微秒的、确定性的同步误差时间基(图6见书)。而跨接工厂等外部同步则可以基于IEEE 1588 标准。
此外,高分辨率的分布时钟不仅可以用于同步,还可以提供数据采集的本地时间精确信息。当采样时间非常短暂时,即使是出现一个很小的位置测量瞬时同步偏差,也会导致速度计算出现较大的阶跃变化,例如,运动控制器通过顺序检测的位置计算速度便是如此。而在EtherCAT中,引入时间戳数据类型作为一个逻辑扩展,以太网所提供的巨大带宽使得高分辨率的系统时间得以与测量值进行链接。这样,速度的精确计算就不再受到通讯系统的同步误差值影响,其精度要高于基于自由同步误差的通讯测量技术。
性能
EtherCAT使网络性能达到了一个新境界。借助于从站硬件集成和网络控制器主站的直接内存存取,整个协议的处理过程都在硬件中得以实现,因此,完全独立于协议堆栈的实时运行系统、CPU 性能或软件实现方式。1000个I/O的更新时间只需30 µs,其中还包括I/O周期时间(参见表1)。单个以太网祯最多可进行1486字节的过程数据交换,几乎相当于12000个数字输入和输出,而传送这些数据耗时仅为300 µs。
100个伺服轴的通讯也非常快速:可在每100µs中更新带有命令值和控制数据的所有轴的实际位置及状态,分布时钟技术使轴的同步偏差小于1微秒。而即使是在这种节奏下,带宽仍足以实现异步通讯,如TCP/IP、下载参数或上载诊断数据。
超高性能的EtherCAT技术可以实现传统的现场总线系统无法迄及的控制理念。EtherCAT使通讯技术和现代工业PC所具有的超强计算能力相适应,总线系统不再是控制理念的瓶颈,分布式I/O可能比大多数本地I/O接口运行速度更快。EtherCAT技术原理具有可塑性,并不束缚于100 M bps的通讯速率,甚至有可能扩展为1000 M bps的以太网。
诊断
现场总线系统的实际应用经验表明,有效性和试运行时间关键取决于诊断能力。只有快速而准确地检测出故障,并明确标明其所在位置,才能快速排除故障。因此,在EtherCAT的研发过程中,特别注重强化诊断特征。
试运行期间,驱动或I/O 端子等节点的实际配置需要与指定的配置进行匹配性检查,拓扑结构也需要与配置相匹配。由于整合的拓扑识别过程已延伸至各个端子,因此,这种检查不仅可以在系统启动期间进行,也可以在网络自动读取时进行(配置上载)。
可以通过评估CRC校验,有效检测出数据传送期间的位故障——32 位CRC多项式的最小汉明距为4。除断线检测和定位之外,EtherCAT系统的协议、物理层和拓扑结构还可以对各个传输段分别进行品质监视,与错误计数器关联的自动评估还可以对关键的网络段进行精确定位。此外,对于EMI影响、连接器破损或电缆损坏等一些渐变或变化的错误源而言,即便它们尚未过度应变到网络自恢复能力的范围,也可对其进行检测与定位。
高可靠性
选择冗余电缆可以满足快速增长的系统可靠性需求,以保证设备更换时不会导致网络瘫痪。增加冗余特性耗费不高,仅需在主站设备端增加使用一个标准的以太网端口(无需专用网卡或接口),并将单一的电缆从总线型拓扑结构转变为环型拓扑结构。当设备或电缆发生故障时,也仅需一个周期即可完成切换。因此,即使是针对运动控制要求的应用,电缆出现故障时也不会有任何问题。
EtherCAT还支持主站在线待机冗余功能。一旦出现中断、设备故障等问题,EtherCAT从站控制器可以立即自动返回以太网祯,所以不会导致整个网络崩溃。例如:应用冗余链就可以指定分支配置,防止电缆断线。
安全
不管是使用硬件还是使用专用的安全总线系统,传统观念总是认为,自动化网络应与安全功能相分离。但EtherCAT所实现的安全功能可以在同一网络中将安全相关的通讯和控制通讯融合为一体。安全协议基于EtherCAT应用层,不受低层协议的影响,并遵循IEC61508 标准认证,满足安全集成级(SIL)4的要求。数据长度可以变化的,因此该协议既完全适合于安全 I/O 数据,也适合于安全驱动技术。和其它EtherCAT数据一样,安全数据可以通过无安全功能的路由器或网关实现路由。目前,首批获得完全认证的EtherCAT安全产品已经上市。
EtherCAT取代PCI
随着PC组件急剧向小型化方向发展,工业PC的体积日趋取决于插槽的数目。而快速以太网的带宽和EtherCAT通讯硬件的过程数据长度则为该领域的发展提供了新的可能性——IPC 中的传统接口现在可以转变为集成的EtherCAT接口端子(图7见书)。
除了可以对分布式I/O进行编址,还可以对驱动和控制单元以及现场总线主站、快速串行接口、网关和其它通讯接口等复合系统进行编址。
即使是其他无协议限制的以太网设备变体,也可以通过分布式交换机端口设备进行连接。由于一个以太网接口足以满足整个外围设备的通讯 (图8见书),因此,这不仅极大地精简了IPC主机的体积和外观,而且也降低了IPC主机的成本。
设备框架
设备框架描述了设备的应用参数和功能特性,如设备类别相关的机器状态等。现场总线技术已经为I/O设备、驱动、阀等许多设备类别提供了可利用的设备框架。用户非常熟悉这些框架以及相关的参数和工具,因此,EtherCAT无需为这些设备类别重新开发设备框架,而是为现有的设备框架提供了简单的接口。该特性使得用户和设备制造商可以轻松完成从现有的现场总线到EtherCAT技术的转换过程。
EtherCAT实现CANopen(CoE)
CANopen设备和应用框架广泛用于多种设备类别和应用,如I/O组件、驱动、编码器、比例阀、液压控制器,以及用于塑料或纺织行业的应用框架等。EtherCAT可以提供与CANopen机制[7]相同的通讯机制,包括对象字典、PDO(过程数据对象)、SDO(服务数据对象),甚至于网络管理。因此,在已经安装了CANopen的设备中,仅需稍加变动即可轻松实现EtherCAT,绝大部分的CANopen固件都得以重复利用。并且,可以选择性地扩展对象,以便利用EtherCAT所提供的巨大带宽。
EtherCAT实现遵循IEC 61491的伺服驱动框架(SoE)
SERCOS interface™是全球公认的、用于高性能实时运行系统的通讯接口,尤其适用于运动控制的应用场合。用于伺服驱动和通讯技术的SERCOS框架属于IEC 61491标准[8] 的范畴。该伺服驱动框架可以轻松地映射到 EtherCAT中,嵌入于驱动中的服务通道、全部参数存取以及功能都基于EtherCAT邮箱(图9见书)。在此,关注焦点还是EtherCAT与现有协议的兼容性(IDN的存取值、属性、名称、单位等),以及与数据长度限制相关的扩展性。过程数据,即形式为AT和MDT的SERCOS数据,都使用EtherCAT从站控制器机制进行传送,其映射与SERCOS映射相似。并且,EtherCAT从站的设备状态也可以非常容易地映射为SERCOS协议状态。
这些伺服驱动框架应用了EtherCAT先进的实时以太网技术,并广泛采纳于CNC的应用之中。设备框架的优势与EtherCAT的优势相结合:分布时钟保证了网络范围的精确同步,并且,可以选择性地传送位置、速度或转矩命令。根据具体的实施方法,驱动还有可能继续使用现有的配置工具。
EtherCAT 实现以太网(EoE)
EtherCAT技术不仅完全兼容以太网,而且在“设计”之初就具备良好的开放性特征——该协议可以在相同的物理层网络中包容其它基于以太网的服务和协议,通常可将其性能损失降到最小。对以太网的设备类型没有限制,设备可通过交换机端口在EtherCAT段内进行连接。以太网祯通过EtherCAT协议开通隧道,这也正是VPN、 PPPoE (DSL) 等因特网应用所普遍采取的方法。EtherCAT网络对以太网设备而言是完全透明的,其实时特性也不会发生畸变(图10见书)。
EtherCAT设备可以包容其它的以太网协议,因此具备标准以太网设备的一切特性。主站的作用与第2层交换机所起的作用一样,可按照编址信息将以太网祯重新定向到相应的设备。因此,集成万维网服务器、电子邮件和FTP 传送等所有的因特网技术都可以在EtherCAT的环境中得以应用。
EtherCAT实现文件存取(FoE)
这种简单的协议与TFTP类似,允许存取设备中的任何数据结构。因此,无论设备是否支持TCP/IP,都有可能将标准化固件上载到设备上。
基础设施投资
由于EtherCAT无需集线器和交换机,因此,在环境条件允许的情况下,可以节省电源、安装费用等设备方面的投资,只需使用标准的以太网电缆和价格低廉的标准连接器即可。如果环境条件有特殊要求,则可以依照IEC标准,使用增强密封保护等级的连接器。
EtherCAT的实现层面
EtherCAT技术是面向价格低廉的设备而开发的,如I/O 端子、传感器和嵌入式控制器等。EtherCAT使用遵循IEEE802.3标准的以太网祯。这些祯由主站设备发送,从站设备只是在以太网祯经过其所在位置时才提取和/或插入数据。因此,EtherCAT 使用标准的以太网MAC,这正是其在主站设备方面智能化的表现。同样,EtherCAT在从站控制器中使用专用芯片,这也是其在从站设备方面智能化的表现——无论本地处理能力是否强大或软件品质好坏与否,专用芯片均可在硬件中处理过程数据协议,并提供最佳实时性能。
主站
EtherCAT可以在单个以太网祯中最多实现1486字节的分布式过程数据通讯。其它解决方案一般是,主站设备需要在每个网络周期中为各个节点处理、发送和接收祯。而EtherCAT系统与此不同之处在于,在通常情况下,每周期仅需要一个或两个祯即可完成所有节点的全部通讯,因此,EtherCAT主站不需要专用的通讯处理器。主站功能几乎不会给主机CPU带来任何负担,轻松处理这些任务的同时,还可以处理应用程序,因此EtherCAT 无需使用昂贵的专用有源插接卡,只需使用无源的NIC卡或主板集成的以太网MAC设备即可。EtherCAT主站很容易实现,尤其适用于中小规模的控制系统和有明确规定的应用场合。
例如,如果某个单个过程映像的PLC没有超过1486 字节,那么在其周期时间内循环发送这个以太网祯就足够了。因为报文头运行时不会发生变化,所以只需将常数报文头插入到过程映像中,并将结果传送到以太网控制器即可。
EtherCAT映射不是在主站产生,而是在从站产生(外围设备将数据插入所经以太网祯的相应位置),因此,此时过程映像已经完成排序。该特性进一步减轻了主机 CPU 的负担。可以看到,EtherCAT主站完全在主机CPU中采用软件方式实现,相比之下,传统的慢速现场总线系统通过有源插接卡方可实现主站的方式则要占用更多的资源,甚至服务于 DPRAM的有源卡本身也将占用可观的主机资源。
系统配置工具(通过生产商获取)可提供包括相应的标准 XML 格式启动顺序在内的网络和设备参数。
主站实现服务
可通过生产商获取主站代码、实现服务和技术支持,可用于多种硬件平台与操作系统。可登陆EtherCAT网站[1],了解该方面信息。EtherCAT网站还提供开放的源代码实现方式和相应的RTOS开放源代码。
主站样本代码
另一种EtherCAT主站的实现方式是使用样本代码,花费不高。软件以源代码形式提供,包括所有的EtherCAT主站功能,甚至还包括EoE(EtherCAT实现以太网)功能。开发人员只要把这些应用于Windows环境的代码与目标硬件及所使用的RTOS加以匹配就可以了。该软件代码已经成功应用于多个系统。
从站
目前,有多家制造商均提供EtherCAT从站控制器。通过价格低廉的FPGA,也可实现从站控制器的功能,可以购买授权以获取相应的二进制代码。
从站控制器通常都有一个内部的DPRAM,并提供存取这些应用内存的接口范围:
·串行SPI(串行外围接口)主要用于数量较小的过程数据设备,如模拟量I/O模块、传感器、编码器和简单驱动等。该接口通常使用8位微控制器,如微型芯片 PIC、DSP、Intel 80C51等。
·8/16位微控制器并行接口与带有DPRAM接口的传统现场总线控制器接口相对应,尤其适用于数据量较大的复杂设备。通常情况下,微控制器使用的接口包括Infineon 80C16x、Intel 80x86、Hitachi SH1、ST10、ARM和TI TMS320等系列。
·32位并行I/O接口不仅可以连接多达32位数字输入/输出,而且也适用于简单的传感器或执行器的32位数据操作。这类设备无需主机CPU。
从站评估工具包
从站评估工具包使接口操作变得简便易行。由于采用了EtherCAT,无需功能强大的通讯处理器,因此,可将从站评估工具包中的8位微处理器作为主机CPU使用。该工具包还包括源代码形式的从站主机软件(相当于协议堆栈)和主站软件样本包。
小结
EtherCAT 拥有杰出的通讯性能,接线非常简单,并对其它协议开放。传统的现场总线系统已达到了极限,而EtherCAT则突破建立了新的技术标准——30 µs内可以更新1000个I/O数据,可选择双绞线或光纤,并利用以太网和因特网技术实现垂直优化集成。
使用 EtherCAT,可以用简单的线型拓扑结构替代昂贵的星型以太网拓扑结构,无需昂贵的基础组件。EtherCAT还可以使用传统的交换机连接方式,以集成其它的以太网设备。其它的实时以太网方案需要与控制器进行特殊连接,而EtherCAT只需要价格低廉的标准以太网卡 (NIC)便可实现。
EtherCAT拥有多种机制,支持主站到从站、从站到从站以及主站到主站之间的通讯(图11见书)。它实现了安全功能,采用技术可行且经济实用的方法,使以太网技术可以向下延伸至I/O级。EtherCAT功能优越,可以完全兼容以太网,可将因特网技术嵌入到简单设备中,并最大化地利用了以太网所提供的巨大带宽,是一种实时性能优越且成本低廉的网络技术。
文献
[1]EtherCAT Technology Group, http://www.ethercat.org
[2]IEC/PAS 62407: Real-Time Ethernet Control Automation Technology (EtherCAT)
[3]IEEE 802.3: Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications.
[4]IEEE 802.3ae-2002: CSMA/CD Access Method and Physical Layer Specifications: Media Access Control (MAC) Parameters, Physical Layers, and Management Parameters for 10 Gb/s Operation.
[5]ANSI/TIA/EIA-644-A, Electrical Characteristics of Low Voltage Differential Signaling (LVDS) Interface Circuits
[6]IEEE 1588-2002: IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems
[7]EN 50325-4: Industrial communications subsystem based on ISO 11898 (CAN) for controller-device interfaces. Part 4: CANopen.
[8]IEC 61491: Electrical equipment of industrial machines – Serial data link for real-time communication between controls and drives