关于Powerlink和EtherCAT的对比
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的对比的更多相关文章
- CANopen个人之所见,所想
一直想写一篇关于CANopen的文章,鉴于个人知识能力没有动笔,今天做了一番思想斗争,斗胆发表一下自己对CANOPEN的肤浅认识. 计划从销售人员,技术人员角度都分析一下CANopen的优势,文章可能 ...
- 【机翻】RTnet – 灵活的硬实时网络框架
目录 RTnet – 灵活的硬实时网络框架 0 摘要 1 介绍 2 基础服务 2.1 数据包管理 2.2 UDP/IP 实现 2.3 Driver Layer 2.4 应用程序接口 2.5 捕获扩展 ...
- 各种工业以太网比较(EtherCAT,EtherNet/IP,ProfiNet,Modbus-TCP,Powerlink)
EtherCAT(以太网控制自动化技术)是一个以以太网为基础的开放架构的现场总线系统,EterCAT名称中的CAT为ControlAutomation Technology(控制自动化技术)首字母的缩 ...
- 基于Zynq平台的EtherCAT主站方案实现
作者:陈秋苑 谢晓锋 陈海焕 广州虹科电子科技有限公司 摘 要:EtherCAT 是开放的实时以太网通讯协议,由德国倍福自动化有限公司研发.EtherCAT 具有高性能.低成本.容易使用等特点,目前在 ...
- VisionPro和Halcon的详细对比
一.概括的对比 1.1 Halcon的优势 Halcon有着更加低廉的Lisence 1.并且提供更好.更强大的2D和3D的视觉软件库 2.Halcon支持的视觉图像采集设备数量是Visionpro ...
- Ignite性能测试以及对redis的对比
测试方法 为了对Ignite做一个基本了解,做了一个性能测试,测试方法也比较简单主要是针对client模式,因为这种方法和使用redis的方式特别像.测试方法很简单主要是下面几点: 不作参数优化,默认 ...
- IIC驱动移植在linux3.14.78上的实现和在linux2.6.29上实现对比(deep dive)
首先说明下为什么写这篇文章,网上有许多博客也是介绍I2C驱动在linux上移植的实现,但是笔者认为他们相当一部分没有分清所写的驱动时的驱动模型,是基于device tree, 还是基于传统的Platf ...
- [原] KVM 环境下MySQL性能对比
KVM 环境下MySQL性能对比 标签(空格分隔): Cloud2.0 [TOC] 测试目的 对比MySQL在物理机和KVM环境下性能情况 压测标准 压测遵循单一变量原则,所有的对比都是只改变一个变量 ...
- arcgis api for js入门开发系列六地图分屏对比(含源代码)
上一篇实现了demo的地图标绘模块,本篇新增地图地图分屏对比模块,截图如下(源代码见文章底部): 对效果图的简单介绍一下,在demo只采用了两分屏对比,感兴趣的话,可以在两分屏的基础上拓展,修改css ...
- 嵌入式&iOS:回调函数(C)与block(OC)回调对比
学了OC的block,再写C的回调函数有点别扭,对比下区别,回忆记录下. C的回调函数: callBack.h 1).定义一个回调函数的参数数量.类型. typedef void (*CallBack ...
随机推荐
- Linux中如何开启一个定时任务
Linux的定时任务是基于cron驱动做到的 安装 Ubantu系统下安装crontab 正常情况下需要先执行:apt-get upgrade 进行升级 安装:apt-get install cron ...
- 在C#中使用Halcon开发视觉检测程序
目录 简介 将 HALCON/.NET 添加到应用程序 添加控件 引用dll 调用Halcon算子 程序示例 HSmartWindowControl控件使用 加载.保存图像 扩展:加载相机图像 画线. ...
- 【PostgreSQL】PG通过SQL语句读取二进制bytea类型并进行二进制和十六进制转换
1.将二进制编码为十六进制 select encode("AUUID_0",'hex'),"AUUID_0" from wxf_test."ABANK ...
- 4.11:Storm之WordCount
〇.概述 1.拓扑结构 2.目标 使用storm进行计数实验. 一.启动服务 在网页中输入:http://localhost:8081可以查看storm的相关信息. 二.kafka操作 终端中输入 ...
- Linux相关命令及软件安装教程
@font-face { font-family: "Times New Roman" } @font-face { font-family: "宋体" } @ ...
- 什么是JS?JS的用途?
一.JavaScript是什么?它有什么作用? JavaScript是一种运行在客户端的脚本语言,简称JS,属于解释性语言.它是一行翻译执行完以后再进行下一行,代码不进行预编译. JavaScript ...
- 说说真实Java项目的开发流程,以及面试前的项目准备说辞
介绍项目是必不可少的Java面试环节,求职者需要借此证明自己真实Java项目的经验,如果再做的好的话,需要借此展开自己的亮点说辞. 不过之前如果只有学习项目经验,比如是自己跑通一个项目,或者是在培训班 ...
- 第一百一十四篇: JS数组Array(三)数组常用方法
好家伙,本篇为<JS高级程序设计>第六章"集合引用类型"学习笔记 1.数组的复制和填充 批量复制方法 copyWithin(),以及填充数组方法fill(). 这两 ...
- kali使用命令ifconfig查询ip地址一直为127.0.0.1的解决办法
解决方法: 执行命令:dhclient -v,即可解决
- MongoDB从入门到实战之MongoDB快速入门
前言 上一章节主要概述了MongoDB的优劣势.应用场景和发展史.这一章节将快速的概述一下MongoDB的基本概念,带领大家快速入门MongoDB这个文档型的NoSQL数据库. MongoDB从入门到 ...