https://www.amobbs.com/thread-5679636-1-2.html
转发自:http://book.2cto.com/201508/55093.html
这个问题经常会被人问及,因此在这里做一个详细的比较。总的来说,POWERLINK和EtherCAT性能差不多。对于POWERLINK,一个主站带10个从站的网络,最小的循环周期为100μs左右;对于EtherCAT,一个主站带10个从站的网络,最小的循环周期为100~400μs,取决于用户添加的应用层以及主站的性能。
此外,EtherCAT当初是根据机器设备的控制需求制定的方案;而POWERLINK当初的设计目标是工业现场总线,除了可以用于机器控制,还可以用于过程控制、DCS系统等。
下面着重比较一下POWERLINK和EtherCAT,如图1-4所示。
图1-4中,“-”代表差,“+”代表中等,“++”代表好。
(1)技术的所有者
POWERLINK是一项公共且公开的技术,任何单位或者个人都可以无偿将其用于各种用途。
POWERLINK的实现方案之一openPOWERLINK是一套开源的解决方案,它遵循BSD许可,也就是说POWERLINK的使用者对该技术拥有知识产权。
EtherCAT是一项私有技术,它属于Beckhoff公司,使用这项技术的人需要向Beckhoff公司支付许可费用,即使是用户根据EtherCAT技术标准自己开发的方案,也需要支出许可费用。
(2)实现成本
POWERLINK的主站和从站都基于标准以太网,可以在ARM、DSP等带有以太网接口的芯片上实现,也可以在FPGA上实现,如果采用FPGA实现,从站需要5000Les。
EtherCAT的从站可以购买ASIC,价格在10美元以上;也可以采用FPGA,需要15?000Les以上。此外还需要花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所示。
(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,还可以用于其他协议,如Prof?iNet、Ethernet/IP、Modbus/TCP。OpenSAFETY的开放性好,这使得它受到了很多大公司的青睐,如雀巢、通用、AB等。
小结
实时以太网技术将会在中国得到广泛应用,在众多的通信协议中,POWERLINK受到了国内很多知名大公司的青睐,例如南车、北车、卡斯柯等高铁行业,南瑞、大全、四方等电力行业,和利时等DCS厂商,以及迈信、新时达等运动控制厂商。POWERLINK之所以受到大公司的欢迎,主要原因在于技术开放,以及使用者拥有知识产权。POWERLINK为中国的以太网技术奠定了基础,在此基础上,用户加以发展、升级、改造,使之成为一项长期发展的技术。