欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PDF文档下载
     

    开源实时以太网POWERLINK详解.html.pdf

    • 资源ID:5519018       资源大小:2.06MB        全文页数:45页
    • 资源格式: PDF        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    开源实时以太网POWERLINK详解.html.pdf

    前言 工业实时以太网技术属于工业现场总线的范畴。工业现场总线在工业应用中占有重要地位,也是“兵家必争之地”,如西门子、AB等国际知名的公 司都拥有自己的总线技术。POWERLINK是开放源码的实时以太网技术,它最早开始于2001年,是最早、最成熟、使用最广泛的实时以太网协议之一, 后来成了IEC国际标准及中国的国家标准。它是目前唯一一个技术开放、代码开源的工业实时以太网技术,与其他总线相比,具有实现容易、可以掌握核 心技术、拥有源代码和自主知识产权等特点,因此被国内很多大公司采用,如和利时、南瑞、南车、格力及一些军工单位。POWERLINK的优点是无需 专用的硬件,在普通的以太网硬件平台上就能实现,而软件又全部开放了源码,可免费从网上下载。对于中小企业,POWERLINK的优势是实现方便、 价格便宜,能为企业节省一笔可观的授权费,而且实现POWERLINK的硬件成本也很低廉。 本书以现有工业以太网技术的比较为出发点,概要介绍了几种主流的实时以太网技术,详细介绍了POWERLINK实时以太网技术,内容包括 POWERLINK的技术原理、特点、功能,以及应用层CANopen的概念等。进而介绍了如何实现和使用POWERLINK,包括如何组建和配置POWERLINK 网络,如何诊断网络错误等。最后介绍了POWERLINK的典型应用,包括运动控制和过程控制。本书从POWERLINK的技术原理开始,逐一介绍了组 网、运行、诊断以及行业的应用,从理论到实践逐步深入。通过阅读本书,读者定能熟练掌握POWERLINK技术。 出版本书就是为了更好地推广POWERLINK,让更多人了解、学习、掌握、使用POWERLINK。 第1章 总线概述 1.1 现场总线 现场总线是智能装备从单机生产到连线生产的一个重要技术阶段,今天,总线已经普遍应用于各个装备制造领域,我们有必要将其进行横向比较, 并对其纵向的发展进行梳理,以便为机器开发者提供适应性的网络选择。 第1章 总线概述 1.1 现场总线 现场总线是智能装备从单机生产到连线生产的一个重要技术阶段,今天,总线已经普遍应用于各个装备制造领域,我们有必要将其进行横向比较, 并对其纵向的发展进行梳理,以便为机器开发者提供适应性的网络选择。 1.2 以太网技术 以太网技术自推出以来即得到了广大用户的认同,这主要是因为一些商业背景促进了它的发展。 20世纪90年代,随着IT技术、Internet、智能传感器、电力电子技术、数据库技术等的快速发展,管理系统与自动化系统的集成变得更为迫切,更 为全局的生产所需求。例如:柔性制造技术FMS、计算机集成制造技术CIMS、制造执行系统MES等的集成使得对于数据的需求大增。 信息化是基于MES、CIMS的发展而发展的,其对于数据的传输的实时性要求低,但要求数据容量大。且标准化的网络可以确保各个设备之间没有物 理上的瓶颈,信息化也在控制系统上体现出更多的应用,如PLC增加了更多的网络传输功能,B&R的PCC增加了VNC Server的访问、FTP Server的访 问,以及OPC-UA的功能集成,这些都使得网络进一步向管理层方向延伸,必须与管理层接轨,而这些都是基于以太网来实现的,这使得工业网络与管 理层管理的融合表现出更为迫切与需求更为突出的趋势。 1.以太网的技术优势 以太网之所以快速发展,因其具有以下优势: (1)速度更快 传统的现场总线的传输速度最大仅为12Mbps,如Profibus。而以太网则可以达到100Mbps,甚至1Gbps。 (2)传输距离 普通现场总线可以实现较长的传输距离,但往往会降低速率,例如CAN总线若传输1km,其速度仅为12.5kbps,而以太网则是以固定传输速率传输 100m,速度为100Mbps。 (3)拓扑结构 以太网的拓扑结构较为灵活,而传统总线则往往不够灵活,且节点数有限。 (4)成本更低 由于Profibus、CAN等需要专用的芯片,这些专用芯片的使用量远远小于以太网芯片的数量,因此,以太网的成本反倒更低。 (5)应用更为广泛 以太网技术的应用范围从商业网络延伸到工业网络领域。 2.以太网的缺点 尽管以太网技术有以上优点,但是,就工业现场应用而言,仍然存在一些问题。 以太网发展迅速,而且相对于传统的现场总线有很大的优势,因此,工业界开始尝试将其应用于工业领域。但是,工业领域的一些应用需求使得基 于IEEE802.3的以太网无法在工业现场应用,原因包括: 1)CSMA/CD机制的非确定数据交换。 2)严苛的工业环境对于可靠性的需求。 3)网络安全要求。 1.3 实时以太网技术 为了充分利用以太网技术的优势而避免其劣势,不同的公司开始研究针对其的解决方案。在2001年,奥地利B&R(Bernecker&Rainer)率先在实 际项目中应用了其所开发的Ethernet POWERLINK实时以太网技术,它在实现更高的传输速率的同时,可以达到微秒级的数据循环周期。 之后,SIEMENS在2006年推出ProfiNet,之后,ProfiNet RT/IRT、Rockwell AB的Ethernet/IP、SERCOSIII、EtherCAT等技术相继问世,用于解 决传统以太网无法实现实时性的问题。除此之外,新的实时以太网技术均实现了对功能性的设计的升级,不仅是性能升级,在功能上也进行了升级。 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(价格仅几美元)来实现,性能也能达到100200s的循环周期。 5)POWERLINK支持标准的网络设备,如交换机、HUB等,并支持所有以太网的拓扑结构,这使得布线更自由、更灵活。 6)数据吞吐量大,每个节点每个循环周期支持1500字节的输入和1500字节的输出。 第2章 POWERLINK的原理 本章介绍POWERLINK的基本原理,内容包括物理层、数据链路层以及应用层,对每一层都有详细的介绍。通过阅读本章,读者会对POWERLINK 的机制有全面的认识,从而为阅读后续的章节提供基础。只有了解了POWERLINK的原理,才能正确地运行POWERLINK的DEMO,才能理解 POWERLINK诊断时收到的数据包的含义。 2.1 IEC国际标准POWERLINK POWERLINK是IEC国际标准,同时也是中国的国家标准。 1)通信描述为IEC 61784-2。 2)服务和协议如下: ·IEC 61158-300 ·IEC 61158-400 ·IEC 61158-500 ·IEC 61158-600 3)设备描述如下: ·ISO 15745-1 ·中国国家标准(GB/T-27960) 2.2 OSI模型 OSI是一个用于开放信息处理系统标准化的通信模型,它是当今许多通用无数据优先级传输协议的参考模型。这个模型将数据传输的任务分为7层, 每层(除了最底层)建立在其下一层的基础之上。如图2-1所示为POWERLINK网络模型在OSI模型中的层次划分。 如图2-1所示,POWERLINK是一个3层的通信网络,它规定了物理层、数据链路层和应用层,这3层包含了OSI模型中规定的7层协议。 如图2-2所示,具有3层协议的POWERLINK在应用层上可以连接各种设备,例如I/O、阀门、驱动器等。在物理层之下连接了Ethernet控制器,用来 收发数据。由于以太网控制器的种类很多,不同的以太网控制器需要不同的驱动程序,因此在“Ethernet控制器”和“POWERLINK传输”之间有一 层“Ethernet驱动器”。 图2-1 POWERLINK的OSI模型 图2-2 POWERLINK通信模型的层次 2.3 POWERLINK的物理层 POWERLINK的物理层采用标准的以太网,遵循IEEE802.3快速以太网标准。因此,无论是POWERLINK的主站还是从站,都可以运行于标准的以太 网之上,这使得POWERLINK具有以下优点: 1)只要有以太网的地方就可以实现POWERLINK,例如,在用户的PC机上可以运行POWERLINK,在一个带有以太网接口的ARM上可以运行 POWERLINK,在一片FPGA上也可以运行POWERLINK。 2)以太网的技术进步就会带来POWERLINK的技术进步。因为POWERLINK是基于标准以太网的,而标准的以太网是一个开放的、全民的网络,在 各个领域广泛应用,各行各业的人不断地为以太网的升级而进行研发。目前POWERLINK支持100M/1000M以太网,只需在硬件驱动程序中稍作改 动,POWERLINK就可以支持10G以太网。 3)实现成本低。如果用户的产品以前基于ARM平台,一般ARM芯片都会带有以太网,这样用户无需增加任何硬件,也无需增加任何成本,就可以 在产品中集成POWERLINK,用户所付出的只是把POWERLINK的程序集成到应用程序中,而POWERLINK的源程序又是开放且免费的,所以很容易实 现。 用户可以购买普通的以太网控制芯片(MAC)来实现POWERLINK的物理层,如果用户想采用FPGA解决方案,POWERLINK提供开放源码的 openMAC。这是一个用VHDL语言实现的、基于FPGA的MAC,同时POWERLINK又提供了一个用VHDL语言实现的openHUB。如果用户的网络需要做 冗余,如双网、环网等,就可以直接在FPGA中实现,其易于实现且成本很低。此外,由于是基于FPGA的方案,从MAC到数据链路层(DLL)的通 信,POWERLINK采用了DMA,因此速度更快。 2.4 POWERLINK的数据链路层 2.4.1 POWERLINK概述 POWERLINK基于标准以太网CSMA/CD技术(IEEE802.3),因此可工作在所有传统以太网硬件上。但是,POWERLINK不使用IEEE802.3定义的用 于解决冲突的报文重传机制,该机制会引起传统以太网的不确定行为。 POWERLINK的从站通过获得POWERLINK主站的允许来发送自己的帧,所以不会发生冲突,因为管理节点会统一规划每个节点收发数据的确定时 序。 2.5 POWERLINK的同步机制 POWERLINK可以支持多种同步机制,这里介绍两种典型的机制: ·主站通过广播同步帧来同步网络上所有设备。 ·分布式同步。 1.主站广播同步帧的机制 POWERLINK支持1588分布式时钟协议,每个循环周期的开始,主站都会广播一个SoC数据帧到网络上,该数据帧包含了两个重要信息:网络的绝 对时间和相对时间。 1)网络的绝对时间:这个时间是以1970年1月1日00点00分为基准的时间间隔。这个信息由两部分,一共8个字节组成。 ·69这4个字节为秒(s)的信息,即网络时间与1970年1月1日00点00分间隔多少秒。 ·1013这4个字节为纳秒(ns)信息,即网络时间中与1970年1月1日00点00分间隔多少秒又多少纳秒。 2)相对时间:这个时间在主站的NMT_GS_INITIALISING状态下清零,然后每产生一个SoC,该数值就累加一个循环周期,其单位为微秒(s)。 SoC数据帧有两个功能:时钟同步和动作同步。 1)时钟同步:网络中的节点需要有一个统一的网络时间。 利用网络时间来同步网络中所有设备的分布式时钟,让网络中所有节点的时钟有一个共同的基准。POWERLINK主站在每个循环周期的开始将SoC 数据帧广播到网络上,该数据帧包含了网络时间信息,网上的各个从节点可以将这个时间作为统一的网络时间。 2)动作同步:网络中的节点需要同时去做一件事情。 在POWERLINK协议中有两种方法触发一个同步的事件: ·通过从节点自己的时钟触发。 ·通过SoC数据帧触发。 这里主要介绍通过SoC数据帧触发同步事件的原理。 在POWERLINK数据链路层里,每当收到了SoC数据帧时,都会触发一个同步的事件(中断或者同步回调函数),用户可以用此信号来触发需要同 步执行的程序,这样就可以执行同步动作。举例来说,假设有一个运动控制器,要控制10台伺服做同步运动,例如需要10台伺服同时启动。每个循环周 期,运动控制器(作为POWERLINK的主站)将10台伺服所需要的新的位置信息依次传给各个伺服。每个伺服收到新数据的时间是不同的,第一个和最 后一个得到位置数据的时间可能会差100多s。如果收到新数据,伺服就开始启动,那么就会出现这种情况:第一个伺服已经开始运转,而最后一个伺 服还没有收到数据,这显然不是我们想要的结果。因此我们需要一个同步信号,使所有的伺服都得到新数据以后,再同时启动。这个同步信号就是 SoC,如图2-12所示。 图2-12 SoC触发同步 主站在上一个循环周期结束(即下一个循环周期开始)时广播一个SoC数据帧,此时所有的从站会同时收到这个数据帧。该信号触发一个同步回调 函数或者硬件中断,来处理同步事件。因为在SoC数据帧之前,每个从站都已经从主站(控制器)那里得到了新的位置信息,因此SoC信号触发的同步 事件中可以同时启动,运行到设定位置。 如果是星型拓扑,各个从站收到该信号的时间差取决于传输电缆的长度,电信号可以认为是以光速在导线中传播的,因此用户可以计算出该时间 差。可近似为1m为3.3ns。这个级别的时间差基本上可以忽略。 如果采用的是菊花链连接,那么每经过一级HUB会有1s左右的延迟(该延迟主要是PHY的延迟),第一个从站和最后一个从站在接收到SoC信号的 时间差可能会达到几个微秒,用户需要根据应用场合来决定该延迟是否可以忽略。如果不可以忽略,POWERLINK提供了测量机制,可以测出来相邻两 个节点的传输延迟。用户根据这些延迟时间给各个节点一个补偿,从而使各个节点同步。 2.分布式同步 除了通过网络广播帧来产生同步信号以外,也可以在POWERLINK的节点里做一个定时器,定时产生同步信号,这样的话,从站的同步信号就可由 自身的定时器产生,如图2-13所示。 图2-13 SoC触发定时器(Timer) 这种方式的好处是,当同步信号帧丢失时,网络系统的同步性不受影响。但这种方式也有弊端。由于网络中每个节点的同步信号由自己产生,所以 每个节点产生同步信号的时刻各不相同,有可能偏差很大。解决这个问题的方法是通过网络同步帧来启动各个节点的定时器,使各个节点的定时器在同 一时刻启动,如图2-14所示。 图2-14 同步启动定时器 由网络上广播的同步帧触发第一次定时器的启动,这样CN1、CN2、CN3同时启动本地的定时器,同时产生同步信号。在这些从站长时间工作后, 可能会产生时钟偏差,即产生如图2-15所示结果。 图2-15 实际的本地同步 也就是经过长时间运行以后,CN1、CN2、CN3的本地时钟出现了一些偏差,从而导致各个节点产生的同步信号在时间上有一些偏差。解决这个问 题的一个方法是,每隔一段时间,就使用网络上广播的同步信号同步一下网络上节点的定时器,如图2-16所示。 图2-16 周期性地同步定时器 此外,随着各个节点的运行,各个节点会产生晶振的漂移,因此各个节点需要周期性地根据主站的SoC数据帧来校正本地Timer。 以上是POWERLINK数据链路层的整个工作原理和过程。下面介绍各种数据帧的格式。 2.6 POWERLINK数据帧的结构 POWERLINK通信一共有5种数据帧:SoC、Preq、Pres、SoA、AsyncData。POWERLINK数据帧结构如图2-17所示。 图2-17 POWERLINK数据帧结构 POWERLINK的数据帧嵌在标准的以太网数据帧的数据段中,因此POWERLINK数据包具有标准的以太网数据帧的帧头和帧尾。如图2-17所示,从 14n字节为POWERLINK数据帧信息,而013字节是标准以太网的帧头。 2.7 DLL状态机 DLL(Data Link Layer)状态机用来描述一个POWERLINK周期内节点的数据收发过程。主站和从站有不同的DLL状态机,而且该状态机与NMT状 态机相关。 2.8 主站网络管理(NMT)状态机 NMT状态机决定通信功能单元的操作行为。应用状态机与NMT状态机的耦合是设备相关的,并且属于设备行规的范畴。 MN和CN通过通用初始化过程启动。在这个过程结束之后,评估节点特定POWERLINK NodeID,以决定将节点设置为MN还是CN。后续过程区分 MN特定部分和CN特定部分。 2.9 CANopen简介 POWERLINK的应用层遵循CANopen标准。CANopen是一个应用层协议,它为应用程序提供了一个统一的接口,使得不同的设备与应用程序之间 有统一的访问方式。 CANopen协议有3个主要部分:PDO、SDO和对象字典OD。 (1)PDO 过程数据对象,可以理解为在通信过程中,需要周期性、实时传输的数据。 (2)SDO 服务数据对象,可以理解为在通信过程中,非周期性传输、实时性要求不高的数据,例如网络配置命令、偶尔要传输的数据等。 (3)OD 对象字典。什么是对象字典?对象字典就是很多对象的集合。那么什么又是对象呢?一个对象可以理解为一个参数。假设有一个设备,该设备有很 多参数,CANopen通过给每个参数一个编号来区分参数,这个编号就叫做索引(Index),这个索引用一个16bit的数字表示。如果这个参数又包含了很 多子参数,那么CANopen又会给这些子参数分别分配一个子索引(SubIndex),用一个8bit的数字来表示。因此一个索引和一个子索引就能明确地标 识出一个参数。 一个参数除了具有索引和子索引信息外,还应该有参数的数据类型(如8bit还是16bit,有符号还是无符号)、访问类型(可读的、可写的,还是可 读写的)、默认值等。因此一个参数需要有很多属性来描述,所以一个参数也就成了一个对象(object),所有对象的集合就构成了对象字典(object dictionary)。 在一次实际应用中,需要周期性传输的对象,就叫过程数据对象(PDO);非周期性传输的对象,就叫服务数据对象(SDO)。 CiA(CANinAutomation)针对不同种类的设备需要哪些参数做了统一规定。 ·CiA401:对通用输入输出设备的规定。 ·CiA402:对驱动和运动控制设备的规定。 ·CiA403:对人机界面设备的规定。 ·CiA404:对测量设备和闭环控制器的规定。 ·CiA406:对编码器设备的规定。 ·CiA408:对比例阀设备的规定。 用户需要根据自己开发的设备的类型,遵循相应的规定,从而实现不同的对象字典,编写与之对应的XDD文件。 小结 经过本章的学习,读者会对POWERLINK通信协议的架构有一个清晰的认识,了解了POWERLINK物理层、应用层以及数据链路层。数据链路层是 POWERLINK的核心,它规定了POWERLINK的DLL状态机(什么时候应该发送什么数据帧)以及NMT状态机。熟悉了这些状态机,对于以后运行和调 试POWERLINK有很大帮助。 第3章 POWERLINK的功能和特点 POWERLINK所具有的功能及特点决定了它的用途。POWERLINK的最短周期可以达到几十微秒,最长可达到几十秒。它支持各种冗余技术,支持 周期性通信以及非周期性通信。这些特点决定了POWERLINK可以满足工业上的各种需求。典型的应用是运动控制和过程控制,以及工厂自动化。下面 介绍几个应用案例。 3.1 应用案例 POWERLINK技术应用广泛,在运动控制和过程控制方面都有众多国内外知名厂家支持。 1.运动控制 1)典型应用:伺服驱动器的控制,用于各种机器系统,如包装机、纺织机、印刷机、机器人等。 2)典型厂家:B&R,ABB,武汉迈信电气技术有限公司,上海新时达电气股份有限公司等。 2.过程控制 1)典型应用:DCS系统、工厂自动化。 2)典型厂家:Alstom,B&R,北京和利时集团,北京四方继保自动化股份有限公司,南京南瑞,南京大全电气有限公司,中国南车,卡斯柯信号 有限公司等。 3.2 一“网”到底 POWERLINK物理层采用普通以太网的物理层,因此可以使用工厂中现有的以太网布线,从机器设备的基本单元到整台设备、生产线,再到办公 室,都可以使用以太网,从而实现一“网”到底,如图3-1所示。 图3-1 一“网”到底模型 3.3 性能参数 1.循环周期 ·100s(高性能CPU或者FPGA的VHDL解决方案) ·200s(低性能CPU或者FPGA的软核解决方案) 循环周期是指网络上所有的设备都通信一次,即网络上所有的设备都Preq/Pres一次所花费的时间。循环周期的长短取决于3个因素:节点数,每个 节点传输的数据量,传输速度(波特率)。 2.抖动 抖动是指实际循环周期中最大值与最小值的差。例如设定的循环周期是200s,但是实际的循环周期不可能是非常准确的200s,有可能是 199.999s,也有可能是200.0001s。假如最大循环周期为200.5s,最小循环周期为199.5s,循环周期会在199.5200.5抖动。抖动的大小和运行 POWERLINK的硬件及软件平台有关,如果采用Windows操作系统,在没有实时扩展的情况下,抖动可能在毫秒级;如果使用FPGA,抖动可能小于 100ns。 3.网络容量 支持240个节点,每个节点支持1500Byte的输入和1500Byte的输出。 240个节点意味着在一个POWERLINK的网络中可以连接240个设备或者I/O站,每个设备或I/O站每个循环周期支持1500Byte的输入和1500Byte的 输出,所以网络容量为240×(1500+1500)=720000Byte。 3.4 网络拓扑 3.4.1 网络拓扑概述 由于POWERLINK的物理层采用标准的以太网,因此以太网支持的所有拓扑结构它都支持。而且可以使用HUB和Switch等标准的网络设备,这使得 用户可以非常灵活地组网,如: ·菊花链 ·树型 ·星型 ·环型 ·其他任意组合 因为逻辑与物理无关,所以用户在编写程序的时候无需考虑拓扑结构。网络中的每个节点都有一个节点号,POWERLINK通过节点号来寻址节点, 而不是通过节点的物理位置来寻址,因此逻辑与物理无关。 由于协议独立的拓扑配置功能,POWERLINK的网络拓扑与机器的功能无关。因此POWERLINK的用户无需考虑任何网络相关的需求,只需专注满 足设备制造的需求。POWERLINK环境里的控制器不需要了解网络更底层的内容。 3.5 热插拔 热插拔意味着从正在运行的网络上拔除或插入设备时,系统会自动意识到网络的变化。POWERLINK支持热插拔,而且不会影响整个网络的实时 性。根据这个属性,可以实现网络的动态配置,即可以动态地增加或减少网络中的节点。 实时总线上,热插拔能力带给用户两个重要的好处:当模块增加或替换时,无需重新配置;在运行的网络中替换或激活一个新模块不会导致网络瘫 痪,系统会继续工作,不管是不断的扩展还是本地的替换,其实时能力不受影响。在某些场合中系统不能断电,如果不支持热插拔,这会造成即使小机 器一部分被替换,都不可避免地导致系统停机。 配置管理是POWERLINK系统中最重要的一部分。它能本地保存自己和系统中所有其他设备的配置数据,并在系统启动时加载。这个特性可以实现 即插即用,这使得初始安装和设备替换非常简单。 POWERLINK允许无限制地即插即用,因为该系统集成了CANopen机制。新设备只需插入就可立即工作。 3.6 冗余 POWERLINK的冗余包括3种:双网冗余、环网冗余和多主冗余。 3.7 交叉通信 交叉通信是指从站间具有无需通过主站而交换数据的能力。 如图3-30所示,由于每个从节点在向外发送数据时,都是以广播的形式发送出去的,因此网络上的所有节点都可以在本周期内收到。如果其中某个 节点需要该数据,那么就可以直接收取。例如,CN1将自己的数据放在PresCN1中,以广播的方式发送出去,主站和其他所有的从站都可以收到该数据 包,如果CN2需要接收CN1的信息,就可以直接收取该数据包的某一段或者某几段数据,而无需经过主站。 图3-30 交叉通信的原理 交叉通信的好处如下: ·集中或分布式控制设计 ·控制器-控制器通信 ·主轴直接给从轴设定值 ·直接传递编码器的值 ·直接事件传播 ·减少主站负载或者应用负载 ·多种模式,最小的数据负载 ·分散式安全设计 其他系统不能实现这些优点,因为它们不支持直接交叉通信,即使这本来就是标准以太网基本属性。 3.8 实时域与非实时域 POWERLINK网络是一个实时网络,POWERLINK网络中各个节点的通信有着严格的时序性。各个节点在哪个时间段得到总线的使用权是由主站统 一分配的。 经常会有人问,现在有一个局域网,在这个网络中,有一些非POWERLINK的设备,是否可以让POWERLINK的网络共用这个局域网? 答案是:可以,也不可以。 可以,是因为POWERLINK网络就是基于标准以太网的,因此POWERLINK的设备可以与其他以太网设备共存,而且可以相互通信。 不可以,是因为POWERLINK网络中,每个站什么时候收发数据,是由POWERLINK主站管理的,现在接入了一些非POWERLINK的设备,这些设备 收发数据,不受POWERLINK主站管理。这就会造成冲突,即POWERLINK的设备想要发送数据,却发现当前总线被非POWERLINK的设备使用。从而造 成POWERLINK设备通信超时或者数据丢失,产生一些通信报警和错误。 因此,正确的做法是将实时控制网络与非实时控制网络分开,可以通过网关隔开,或者干脆使用两个不同的网络。 3.9 基于POWERLINK的功能安全 openSAFETY是基于POWERLEINK的安全协议,它是一个技术开放、源代码开源的安全协议。它不单可应用于POWERLINK,也可以应用于其他各 种实时以太网,如ProfiNet、Modbus、EthernetIP,以及普通的以太网。 第4章 POWERLINK的实现方案 POWERLINK是一个实时以太网的技术规范和方案,它是一个技术标准,用户可以根据这个技术标准自己开发一套代码,也就是POWERLINK的具 体实现。POWERLINK的具体实现有多个版本,如ABB公司的POWERLINK运动控制器和伺服驱动器、赫优讯的从站解决方案、SYSTEC的解决方案等。 openPOWERLINK是一个C语言的解决方案,它最初是SYSTEC的商业收费方案,后来被B&R公司买断版权。为了推广POWERLINK,B&R将源代码 开放。现在这个方案由B&R公司和SYSTEC共同维护。 目前常用的POWERLINK方案有两种:基于MCU/CPU的C语言方案和基于FPGA的Verilog HDL方案。C语言的方案以openPOWERLINK为代表。 下面分别介绍这两种方案的实现。 4.1 C语言实现方案 如前所述,该方案最初由SYSTEC开发,B&R公司负责后期的维护与升级。该方案包含了POWERLINK完整的3层协议:物理层、数据链路层和 CANopen应用层。其中数据链路层和CANopen应用层采用C语言编写,因此该方法可运行于各种MCU/CPU平台。该方案性能的优劣取决于运行该方 案的软硬件平台的性能,例如MCU/CPU的主频、操作系统的实时性等。 4.2 HDL语言实现方案 该方案是针对FPGA开发的,采用硬件编程语言Verilog HDL,无需软核,无需外扩RAM,即可达到硬实时的性能。之所以开发Verilog HDL的方 案,主要原因如下。 1)对实时性的要求:该方案实时性极高,最短通信周期可以达到几十微秒,抖动小于100ns。如果采用MUC/CPU的方案,则很难达到这样的指 标。 2)对易用性的要求:采用该方案,集成了POWERLINK的FPGA相当于一个专门负责通信的专用芯片,用户即使不知道内部的原理和机制,也可以 通过简单的配置寄存器使之正常运行。 3)对应用层的要求:标准的POWERLINK的应用层是CANopen,但是有些行业或者有些用户有他们自己的标准和习惯,因此他们想使用 POWERLINK数据链路层的通信机制,但是不想使用CANopen。对于这样的需求,Verilog HDL的方案可以非常方便地满足。 4)对物理层的要求:有些用户希望使用100Mbps以太网作为物理层,有些用户希望使用1000Mbps以太网作为物理层,有些用户希望使用LVDS作 为物理层,也有些用户希望使用RS485作为物理层。采用该方案,只要稍做修改,就可以适应各种物理层,而数据链路层却可保持一致。 该方案有3种使用形式。 1)通信芯片:集成了该协议的FPGA芯片,可以被当作通信芯片使用,直接集成到用户的电路上。 2)通信模块:用户可以直接购买集成了该协议的模块,该模块包含了POWERLINK最小系统所需要的硬件资源和相应的软件。 3)通信IP:如果客户需要在一颗FPGA中除了要实现POWERLINK外,还要实现其他的功能,此时可以使用POWERLINK的IP。 第5章 POWERLINK应用层 POWERLINK技术规范规定的应用层为CANopen,但是CANopen并不是必需的,用户可以根据自己的需要自定义应用层,或者根据其他行规编写 相应的应用层。 无论是openPOWERLINK还是前面提到的HDL POWERLINK,都可以使用本章介绍的应用层软件。 5.1 CANopen应用层 POWERLINK的应用层遵循CANopen标准。CANopen是一个应用层协议,它为应用程序提供了一个统一的接口,使得不同的设备与应用程序之间 有统一的访问方式。 CANopen协议有3个主要部分:PDO、SDO和对象字典OD。 1)PDO:过程数据对象,可以理解为在通信过程中,需要周期性、实时传输的数据。 2)SDO:服务数据对象,可以理解为在通信过程中,非周期性传输、实时性要求不高的数据,例如网络配置命令、偶尔要传输的数据等。 3)OD:对象字典,可以理解为所有参数、通信对象的集合。 5.2 对象字典 什么是对象字典?对象字典就是很多对象(object)的集合。那么什么又是对象呢?一个对象可以理解为一个参数,假设有一个设备,该设备有很 多参数。CANopen通过给每个参数一个编号来区分参数,这个编号就叫作索引(Index),这个索引用一个16bit的数字表示。如果这个参数又包含了很 多子参数,那么CANopen又会给这些子参数分别分配一个子索引(SubIndex),用一个8bit的数字来表示。因此一个索引和一个子索引就能明确地标 识出一个参数。 一个参数除了具有索引和子索引信息外,还应该有参数的数据类型(是8bit还是16bit,是有符号还是无符号),还要有访问类型(是读的、可写 的,还是可读写的),还有默认值等。因此一个参数需要有很多属性来描述,所以一个参数也就成了一个对象object,所有对象的集合就构成了对象字 典(object dictionary)。 在POWERLINK对OD的定义和声明在objdict.h文件中。这个文件采用宏定义的方式,定义了一个数据结构,如图5-1所示。 下面是一个object定义的实例: EPL_OBD_BEGIN_INDEX_RAM(0x6000, 0x02, NULL) EPL_OBD_SUBINDEX_RAM_VAR(0x6000, 0x00, kEplObdTypUInt8, kEplObdAccConst, tEplObdUnsigned8, number_of_entries, 0x1) EPL_OBD_SUBINDEX_RAM_USERDEF(0x6000, 0x01, kEplObdTypUInt8, kEplObdAccVPR, tEplObdUnsigned8, Sendb1, 0x0) EPL_OBD_END_INDEX(0x6000) 图5-1 CANopen对象字段结构 1)索引:16bit的无符号整数,可以把索引看作一个object的编号,用来对对象字典内的所有object进行寻址。 2)子索引:8bit的无符号整数,可以把子索引看作一个object的子编号。索引和子索引组合起来,就唯一确定了一个object。在POWERLINK中, 通过索引和子索引来寻址object。 3)默认值:object的初始默认值。 4)对象类型:用来描述object的类型,是字符串、变量,还是时间等,object的类型说明如表5-1所示。 表5-1 对象数据类型说明 5)数据类型:object的数据类型的C语言定义。例如,该object的对象类型是kEplObdTypUInt8,那么它的数据类型定义应该是unsigned char。 由于在EplObd.h文件中对各种数据类型做了宏定义,如typedef unsigned char tEplObdUnsigned8,所以可以用tEplObdUnsigned8替换unsigned char。 对象类型和数据类型的对应关系如表5-2所示。 表5-2 对象类型和数据类型的对应关系 当对象类型为kEplObdTypInt8时,相应的数据类型应该为tEplObdInteger8,否则,会出现错误。 6)访问类型:指object是可读的、可写的,还是常量等。各访问权限对应的值和相应的描述如表5-3所示。 表5-3 对象的访问类型 一个object可以具有一个权限,也可以具有多个权限,例如某个object的访问类型为可读写的,而且可以被映射为PDO的,那么它的权限值应该为 kEplObdAccVar、kEplObdAccPdo、kEplObdAccWrite或kEp

    注意事项

    本文(开源实时以太网POWERLINK详解.html.pdf)为本站会员(紫竹语嫣)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开