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为中国的以太网技术奠定了基础,在此基础上,用户加以发展、升级、改造,使之成为一项长期发展的技术。

关于Powerlink和EtherCAT的对比的更多相关文章

  1. CANopen个人之所见,所想

    一直想写一篇关于CANopen的文章,鉴于个人知识能力没有动笔,今天做了一番思想斗争,斗胆发表一下自己对CANOPEN的肤浅认识. 计划从销售人员,技术人员角度都分析一下CANopen的优势,文章可能 ...

  2. 【机翻】RTnet – 灵活的硬实时网络框架

    目录 RTnet – 灵活的硬实时网络框架 0 摘要 1 介绍 2 基础服务 2.1 数据包管理 2.2 UDP/IP 实现 2.3 Driver Layer 2.4 应用程序接口 2.5 捕获扩展 ...

  3. 各种工业以太网比较(EtherCAT,EtherNet/IP,ProfiNet,Modbus-TCP,Powerlink)

    EtherCAT(以太网控制自动化技术)是一个以以太网为基础的开放架构的现场总线系统,EterCAT名称中的CAT为ControlAutomation Technology(控制自动化技术)首字母的缩 ...

  4. 基于Zynq平台的EtherCAT主站方案实现

    作者:陈秋苑 谢晓锋 陈海焕 广州虹科电子科技有限公司 摘 要:EtherCAT 是开放的实时以太网通讯协议,由德国倍福自动化有限公司研发.EtherCAT 具有高性能.低成本.容易使用等特点,目前在 ...

  5. VisionPro和Halcon的详细对比

    一.概括的对比 1.1  Halcon的优势 Halcon有着更加低廉的Lisence 1.并且提供更好.更强大的2D和3D的视觉软件库 2.Halcon支持的视觉图像采集设备数量是Visionpro ...

  6. Ignite性能测试以及对redis的对比

    测试方法 为了对Ignite做一个基本了解,做了一个性能测试,测试方法也比较简单主要是针对client模式,因为这种方法和使用redis的方式特别像.测试方法很简单主要是下面几点: 不作参数优化,默认 ...

  7. IIC驱动移植在linux3.14.78上的实现和在linux2.6.29上实现对比(deep dive)

    首先说明下为什么写这篇文章,网上有许多博客也是介绍I2C驱动在linux上移植的实现,但是笔者认为他们相当一部分没有分清所写的驱动时的驱动模型,是基于device tree, 还是基于传统的Platf ...

  8. [原] KVM 环境下MySQL性能对比

    KVM 环境下MySQL性能对比 标签(空格分隔): Cloud2.0 [TOC] 测试目的 对比MySQL在物理机和KVM环境下性能情况 压测标准 压测遵循单一变量原则,所有的对比都是只改变一个变量 ...

  9. arcgis api for js入门开发系列六地图分屏对比(含源代码)

    上一篇实现了demo的地图标绘模块,本篇新增地图地图分屏对比模块,截图如下(源代码见文章底部): 对效果图的简单介绍一下,在demo只采用了两分屏对比,感兴趣的话,可以在两分屏的基础上拓展,修改css ...

  10. 嵌入式&iOS:回调函数(C)与block(OC)回调对比

    学了OC的block,再写C的回调函数有点别扭,对比下区别,回忆记录下. C的回调函数: callBack.h 1).定义一个回调函数的参数数量.类型. typedef void (*CallBack ...

随机推荐

  1. 记一次 .NET 某自动化集采软件 崩溃分析

    一:背景 1.讲故事 前段时间有位朋友找到我,说他的程序在客户的机器上跑着跑着会出现偶发卡死,然后就崩掉了,但在本地怎么也没复现,dump也抓到了,让我帮忙看下到底怎么回事,其实崩溃类的dump也有简 ...

  2. mysql不需要密码,乱输入密码就能进去。。。。解决

    为什么MySQL 不用输入用户名和密码也能访问 今天后天连接数据库时密码写错了,却发现后台能够拿到数据库中的数据,又故意把用户名和密码都写错,结果还是可以.这就意味着任何一个人只要登入服务器,就可以轻 ...

  3. ArcEngine 序列化AO对象

    ArcEngine中只要是继承了IPersistStream接口的对象均可调用ArcEngine中的类库进行序列化和反序列化.一般我们会序列化成xml格式,作为字符串存储,需要的时候,反序列化为对象. ...

  4. Springboot 整合 SpringCache 使用 Redis 作为缓存

    一直以来对缓存都是一知半解,从没有正经的接触并使用一次,今天腾出时间研究一下缓存技术,开发环境为OpenJDK17与SpringBoot2.7.5 SpringCache基础概念 接口介绍 首先看看S ...

  5. 前端开发:4、JavaScript简介、变量与常量、数据类型及内置方法、运算符、流程控制、循环结构、内置方法

    前端开发之JavaScript 目录 前端开发之JavaScript 一.JavaScript简介 二.JS基础 三.变量与常量 四.基本数据类型 1.数值类型 2.字符类型 3.布尔类型 五.特殊数 ...

  6. 持续发烧,聊聊Dart语言的静态编译,能挑战Go不?

    前言 前两天写了几篇文章,谈了谈Dart做后端开发的优势,比如: <Dart开发服务端,我是不是发烧(骚)了?> <持续发烧,试试Dart语言的异步操作,效率提升500%> & ...

  7. placeholder属性作用

    placeholder属性作用 1.介绍 该提示会在输入字段为空时显示,并会在字段获得焦点时消失. 注释:placeholder 属性适用于以下的 <input> 类型:text, sea ...

  8. 像go 一样 打造.NET 单文件应用程序的编译器项目bflat 发布 7.0版本

    现代.NET和C#在低级/系统程序以及与C/C++/Rust等互操作方面的能力完全令各位刮目相看了,有人用C#开发的64位操作系统: GitHub - nifanfa/MOOS: C# x64 ope ...

  9. Go DevOps大厂运维平台开发进阶实战营

    使用 Jenkinsfile 创建流水线已报名老男孩运维课,见底下评论.enkinsfile 是一个文本文件,它包含 Jenkins 流水线的定义,并被检入源代码控制仓库.Jenkinsfile 将整 ...

  10. 开局一张图,构建神奇的 CSS 效果

    假设,我们有这样一张 Gif 图: 利用 CSS,我们尝试来搞一些事情. 图片的 Glitch Art 风 在这篇文章中 --CSS 故障艺术,我们介绍了利用混合模式制作一种晕眩感觉的视觉效果.有点类 ...