开源实时以太网POWERLINK详解
上QQ阅读APP看书,第一时间看更新

1.4 现有实时以太网的标准

目前,高速实时现场总线种类繁多,很多厂家都在推广自己的总线协议。这些协议从性能上可分为两类:高实时性总线和低实时性总线。

低实时性的总线包括Ethernet/IP、ModbusTCP、ProfiNet SRT等。

高实时性的总线包括POWERLINK、EtherCAT、MECHATROLINK、SERCOS等。

在这几种总线中,EtherCAT和MECHATROLINK需要用专用的ASIC才能实现,之所以采用ASIC芯片来实现的原因之一是为了能够控制市场,使总线知识产权的拥有者处于有利地位,以便在将来可以垄断市场,战胜竞争对手。

EtherCAT的ASIC芯片只提供数据链路层和物理层,而没有实现应用层。用户买了ASIC芯片,还不得不自己来实现应用层(如CANopen),这需要花费很长时间。此外,不同用户实现的应用层往往不同,这就造成同样都是基于EtherCAT的设备,却相互不能通信的情况。

POWERLINK是一个可以在普通以太网上实现的方案,无需ASIC芯片,用户可以在各种平台上实现,如FPGA、ARM、x86 CPU等,只要有以太网的地方,就可以实现POWERLINK。

POWERLINK公开了所有的源码,任何人都可以免费下载和使用(就像Linux一样)。POWERLINK的源码里包含了物理层(标准以太网)、数据链路层(DLL)、应用层(CANopen)这3层完整的代码,用户只需将POWERLINK的程序在已有的硬件平台上编译运行,就可以在几分钟内实现POWERLINK。

POWERLINK是一个易于实现的、高性能的、不被任何人垄断的、真正互连互通的平台。

POWERLINK定义了一个精简的、实时性极高的数据链路层协议,同时定义CANopen为应用层协议,这样用户在实现了POWERLINK的同时,也实现了CANopen。

在纷繁的总线协议中,POWERLINK将是实时以太网的未来,其原因如下:

1)POWERLINK是一项开源技术,开放性好,无需授权,无需购买。

2)POWERLINK基于标准的以太网,无需专用的ASIC芯片,有以太网的地方,就可以实现POWERLINK。其硬件平台多种多样(如ARM、FPGA、DSP、x86等),不依赖于某个公司。

3)POWERLINK速度快,支持100M/1000M以太网。以太网技术进步,POWERLINK的技术就会跟着进步,因为POWERLINK建立在标准以太网的基础上。

4)POWERLINK性能卓越,即使使用价格低廉的FPGA(价格仅几美元)来实现,性能也能达到100~200μs的循环周期。

5)POWERLINK支持标准的网络设备,如交换机、HUB等,并支持所有以太网的拓扑结构,这使得布线更自由、更灵活。

6)数据吞吐量大,每个节点每个循环周期支持1500字节的输入和1500字节的输出。

1.4.1 几种典型总线的原理

1.ProfiNet

ProfiNet(过程现场网络)可按照对于确定性的需求划分为两种不同的等级实现:ProfiNet RT用于软实时或没有实时性要求的应用,而ProfiNet IRT则是针对硬实时需求的应用。该技术由SIEMENS和Profibus用户组织PNO的成员公司共同开发,它是基于以太网的Profibus DP的成功应用,ProfiNet I/O指定所有I/O控制器之间的数据传输,以及参数化、诊断和网络的布局。为了覆盖不同的性能等级,ProfiNet使得各协议和服务可自由地采用生产者/消费者原则。高优先级的有效载荷数据通过以太网协议以以太网帧VLAN的优先次序直接发送,而诊断和配置数据发送使用UDP/IP。这使系统实现了循环周期约10ms的I/O应用。对于时钟同步周期要求低于毫秒级的运动控制应用,则提供ProfiNet IRT,它实现了一个分时复用的硬件同步开关,即动态帧包装(DFP),为用户提供一个新的ProfiNet周期的优化设计,并在2009年发布此特性。ProfiNet的通信模型如图1-1所示。

2.Ethernet/IP

Ethernet/IP在标准以太网硬件上运行,并同时使用TCP/IP和UDP/IP进行数据传输。由于生产者/消费者模式为CIP协议所支持,Ethernet/IP采用不同的通信机制来处理,例如周期性轮询、时间或事件触发、多播或仅采用点对点连接方式。CIP应用协议区分“隐性”I/O消息以及“显性”请求/应答报文配置和数据采集。当显性信息嵌入TCP帧时,实时应用数据通过UDP,由于发送后者的协议格式更紧凑和开销更小,形成一个中心星型拓扑结构网络,开关设备防止数据碰撞挂钩,通过点至点连接。Ethernet/IP网络通常实现10ms左右的软实时性能,而CIP Sync和CIP Motion及精确的节点同步则采用IEEE1588标准定义的分布式时钟方法,可以达到极低的循环周期和抖动,使得它能够用于伺服电机的控制与驱动。Ethernet/IP的通信模型如图1-2所示。

图1-1 ProfiNet通信模型

图1-2 Ethernet/IP通信模型

3.EtherCAT

EtherCAT基于集束帧方法:EtherCAT主站发送包含网络所有从站数据的数据包,这个帧按照顺序通过网络上的所有节点,当它到达最后一个帧时,帧将被再次返回。因此,EtherCAT网络拓扑总是构成一个逻辑环。

当数据帧通过节点时,节点会处理帧中的数据,每个节点读出要接收的数据并将要发送的数据插入帧中。这种处理方式加快了数据的传输速度,降低了通信的循环周期。不足之处是,这种对数据帧的高速处理,出错概率高。每个节点在对数据帧处理时,即使有一点偏差也会造成整个数据帧的CRC错误,从而使整个数据帧被丢掉。这使得对产品本身的EMC以及使用现场的环境、线缆等的要求都很高。为了支持100Mbps的速率,必须使用专用的ASIC或基于FPGA的硬件来高速处理数据。

此外由于网络上所有节点的输入和输出数据共用同一个数据帧,而一个以太网的数据帧容量有限,这就使得EtherCAT不能用于数据量大的应用场合。

每个从站通过由主站提供的一个类似于IEEE1588的实时时钟进行同步,并有处理实时和非实时的机制。在物理层,EtherCAT协议不仅在以太网上运行,也可以采用LVDS(低压差分信号)。EtherCAT采用带有标准以太网接口的PC作为主站。EtherCAT没有定义应用层协议,因此用户需要自己开发应用层,如CANopen等。

4.SERCOSIII

这是一个免费提供的面向数字驱动接口的实时通信标准,SERCOSIII不仅有特定的物理层连接的硬件架构,同时接口的协议结构和应用规范的定义也是特定的。

SERCOSIII是SERCOS的第三代产品,SERCOS于1985年被推向市场,是一个标准的、遵循IEEE802.3的数据传输协议,这个通信系统最初使用在基于运动控制的自动化系统上,已注册的SERCOS国际协会支持这项技术的发展并保持标准的一致性。SERCOS的通信模型如图1-3所示。

SERCOSIII在主站和从站均采用特定的硬件,这些硬件减轻了主CPU的通信任务,并确保了快速的实时数据处理和基于硬件的同步。同时,从站需要特殊的硬件,而主站可以基于软件方案。SERCOS用户组织提供SERCOSIII的IP Core给基于FPGA的SERCOSIII硬件开发者,SERCOSIII采用集束帧方式来传输,网络节点必须采用菊花链或封闭的环形来拓扑。由于Ethernet的全双工能力,菊花链实际上可以由一个独立的环构成,对于一个正确的环形拓扑将提供一个双环。它允许冗余数据传输,直接交叉通信能力由每个节点上的两个端口来实现。在菊花链网络,实时报文在它们向前和向后时经过每个节点,因此,它们在每个循环上处理两次。设备具有在同一个通信循环里进行两次通信的能力,无需经过主站对数据进行路由。

除了实时通道(它也使用时间槽方式避免数据碰撞),SERCOSIII也提供可选的非实时通道来传递异步数据。在通信循环的第一个实时报文初期,主站同步报文MST被嵌入第一个报文,确保100ns的高精度时钟同步。基于硬件的过程补偿了实时延迟和由于以太网硬件造成的偏差,不同的网络片将使用不同的循环时钟,直到实现所有的同步运行。

图1-3 SERCOS通信模型

1.4.2 POWERLINK和EtherCAT的比较

这个问题经常会被人问及,因此在这里做一个详细的比较。总的来说,POWERLINK和EtherCAT性能差不多。对于POWERLINK,一个主站带10个从站的网络,最小的循环周期为100μs左右;对于EtherCAT,一个主站带10个从站的网络,最小的循环周期为100~400μs,取决于用户添加的应用层以及主站的性能。

此外,EtherCAT当初是根据机器设备的控制需求制定的方案;而POWERLINK当初的设计目标是工业现场总线,除了可以用于机器控制,还可以用于过程控制、DCS系统等。

下面着重比较一下POWERLINK和EtherCAT,如图1-4所示。

图1-4 POWERLINK和EtherCAT比较

图1-4中,“-”代表差,“+”代表中等,“++”代表好。

(1)技术的所有者

POWERLINK是一项公共且公开的技术,任何单位或者个人都可以无偿将其用于各种用途。POWERLINK的实现方案之一openPOWERLINK是一套开源的解决方案,它遵循BSD许可,也就是说POWERLINK的使用者对该技术拥有知识产权。

EtherCAT是一项私有技术,它属于Beckhoff公司,使用这项技术的人需要向Beckhoff公司支付许可费用,即使是用户根据EtherCAT技术标准自己开发的方案,也需要支出许可费用。

(2)实现成本

POWERLINK的主站和从站都基于标准以太网,可以在ARM、DSP等带有以太网接口的芯片上实现,也可以在FPGA上实现,如果采用FPGA实现,从站需要5000Les。

EtherCAT的从站可以购买ASIC,价格在10美元以上;也可以采用FPGA,需要15000Les以上。此外还需要花10万~20万元来购买IP core。

(3)主站的实现

POWERLINK的主站可以采用MCU或者CPU来实现,也可以采用FPGA来实现。从网上可以下载基于不同平台的源代码。基于FPGA的主站方案可以灵活地满足各种需要,而无需考虑HOST采用何种软件平台、何种硬件平台。

EtherCAT的主站目前主要是基于高性能CPU的方案。除了高性能CPU以外,还需要实时操作系统的支持。因为如果操作系统不实时,无法保证EtherCAT的实时性。例如,硬件采用x86的CPU,操作系统选用Windows,就无法达到硬实时。然而实时操作系统的选择是一个令人头疼的事情。

(4)CANopen的兼容性

POWERLINK提供了统一、开源的CANopen代码,对于POWERLINK的使用者而言,由于采用了统一标准的CANopen应用层,这就保证了所有POWERLINK的设备都能互联互通。

EtherCAT的ASIC芯片只提供了物理层和数据链路层,没有提供应用层,因此使用者需要自己开发应用层协议。用户可以自己开发CANopen作为应用层,也可以开发SERCOS作为应用层。由于每个厂家开发的协议各有千秋,从而导致虽然大家都是用EtherCAT的设备,但是却不能互通。这种情况在传统的CANopen设备中经常发生。

(5)性能

EtherCAT采用了集束帧,即网络上所有的节点共用一个以太网数据帧;而POWERLINK的每个节点使用一个单独的数据帧。因此EtherCAT理论上的最小循环周期比POWERLINK小。

但是EtherCAT实际的最小循环周期不一定比POWERLINK小,原因是,虽然EtherCAT从站采用ASIC来实现,达到了硬实时,但是主站却是基于高性能CPU的软解决方案。所以EtherCAT的最小循环周期的瓶颈在于主站,如果主站的CPU性能不够高,或者操作系统实时性不够,就会导致其循环周期增大。

POWERLINK的主站和从站都可以采用FPGA的方案,因此主站和从站都可以达到硬实时的级别,这使得POWERLINK的实际性能高于EtherCAT。

EtherCAT网络中所有节点共用一个以太网数据帧,这个数据帧最大为1500字节,如果网络中所有节点发送和接收的数据量超过1500字节,需要分两个循环周期发送,这一方面会增长循环周期,另一方面会增加应用程序的复杂度。

在小数据量传输时,EtherCAT有可能比POWERLINK快,但在大多数场合下,POWERLINK比EtherCAT快。

(6)技术开放性

POWERLINK的标准化组织EPSG已经宣布POWERLINK是一项开放技术,无需任何许可。POWERLINK的实现方案之一,即由德国的SYSTEC公司开发的openPOWERLINK,是一个免费、开源、遵循BSD许可的方案。一套代码包含了主站和从站方案。

EtherCAT技术属于Beckhoff公司,对于从站,用户可以从Beckhoff购买ASIC芯片,或者自己在FPGA上开发。如果用户自己开发EtherCAT,需要向Beckhoff公司交纳许可费用,因为EtherCAT是私有技术,受到专利保护。

(7)冗余

冗余对于过程控制、工厂自动化、DCS系统都很重要,因为这些场合对网络的可靠性要求高。而机器控制则往往不需要冗余。

POWERLINK支持各种冗余,包括环形冗余、双网冗余、双环网冗余、多主冗余。而且只需在FPGA加入少量代码,就可以实现这些冗余。这些冗余方案可以从网上下载。

EtherCAT只支持环形冗余,不能实现双网冗余,不支持多主冗余。

(8)网络设备

POWERLINK的物理层采用标准以太网,因此网络拓扑时可以采用通用的HUB、Switch等,价格便宜,采购方便,组网灵活。

EtherCAT不能采用HUB、Switch等标准以太网设备来组网。

注意:如果使用交换机来组建网络,需要保证网络中的每个POWERLINK设备的MAC地址是唯一的。

(9)拓扑结构和热插拔

POWERLINK支持各种拓扑结构:菊花链、星型、树型等,或者任意的组合,其系统的逻辑和物理拓扑结构无关。

EtherCAT支持菊花链拓扑,不支持其他的拓扑。

由于POWERLINK系统的逻辑和物理拓扑结构无关,且支持任意拓扑,当物理上某个节点从网络中脱离时,网络中的其他节点不会受到影响,所以POWERLINK能很好地支持热插拔。

而EtherCAT只支持菊花链拓扑,当链中的某个节点从网络中脱离时,会造成跟随其后的其他几个节点也从网络中脱离,这就使得系统无法工作。因此对于EtherCAT,如果要支持热插拔,则必须实现环形冗余。但是EtherCAT的数据帧传输和拓扑结构紧密相关,数据帧遍历网络中节点的顺序是事先设定好的。若某个节点从网络中脱离,就意味着数据帧遍历节点的顺序需要改变,这种改变会造成网络通信的震荡。在震荡一段时间之后,系统可以达到新的稳态。

(10)EMC稳定性

POWERLINK的每个节点的输入和输出采用单独的数据帧传输,如果数据帧出现问题,只会影响本节点,而不会影响其他节点。

EtherCAT的所有节点共用一个数据帧,当该数据帧出错时,就意味着所有节点的数据都被丢弃,这会影响网络上的所有节点。此外,EtherCAT在从数据帧中接收数据时,几乎同时将要发送的数据也写入了数据帧,这虽然缩短了通信时间,但这种机制抗干扰能力很低,因为数据帧每经过一个节点,都会被该节点高速处理,数据帧的内容被快速改变,这样稍微有一点干扰,或者从站内部的时钟漂移等,都会造成数据传输的错误,从而使整个数据帧出现CRC错误,最终导致整个数据帧被MAC丢掉。

Industrial Ethernet Book Issue是来自欧洲一家工业杂志的测试报告,该报告显示,随着节点数的增加,EtherCAT的出错率呈指数级增加,远远高于POWERLINK和ProfiNet,如图1-5所示。

图1-5 两种总线节点个数与数据帧错误的关系

(11)组网配置工具

POWERLINK提供开放源码、免费使用的组网工具,可以很方便地组建POWERLINK网络。

EtherCAT需要客户自己编写网络的配置工具。

(12)开发成本和开发周期

POWERLINK提供了现成的源代码,用户基本不需要做开发工作,只需学习如何使用POWERLINK及其相应的组网工具。网上可以下载到基于多种不同平台的POWERLINK源码,POWERLINK软件集成工作往往只需几个小时。因此POWERLINK的开发周期很短,而且没有开发风险,100%成功。

EtherCAT需要用户投入很多时间来研究,而且很难获得技术支持和技术资料,需要客户自己编写应用层协议,自己编写网络的配置工具,这些工作往往需要至少两年时间,而结果却未必成功。

(13)SAFETY技术SAFETY技术越来越重要,每一种总线都有与之对应的SAFETY技术,例如ProfiNet有PROFIsafe,Ethernet/IP有CIPSafety,EtherCAT有Safety over EtherCAT。

OpenSAFETY是基于POWERLINK的SAFETY技术,这项技术的全部源代码是公开且免费使用的。该技术除了能够用于POWERLINK,还可以用于其他协议,如ProfiNet、Ethernet/IP、Modbus/TCP。OpenSAFETY的开放性好,这使得它受到了很多大公司的青睐,如雀巢、通用、AB等。

小结

实时以太网技术将会在中国得到广泛应用,在众多的通信协议中,POWERLINK受到了国内很多知名大公司的青睐,例如南车、北车、卡斯柯等高铁行业,南瑞、大全、四方等电力行业,和利时等DCS厂商,以及迈信、新时达等运动控制厂商。POWERLINK之所以受到大公司的欢迎,主要原因在于技术开放,以及使用者拥有知识产权。POWERLINK为中国的以太网技术奠定了基础,在此基础上,用户加以发展、升级、改造,使之成为一项长期发展的技术。