实时以太网 Ethernet PowerLink技术综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实时以太网Ethernet PowerLink技术综述
一、工业控制中对实时以太网的需求
工业中对实时以太网的需求主要有两个指标:一是实时性,二是抖动性能。
1.1实时性
什么是实时性,实时性不等于高性能。
在工业控制领域,实时可定义为系统对某事件的响应可以再可预测的时间内完成。
即实时性是指系统可以在一个预定的时间范围内做出相应的响应。
至于预定的时间范围则和具体的应用相关。
根据应用需求一般把实时性划分为四个级别,如下表1所示。
表1 工业自动化领域中各应用场合对实时性的要求
应用场合实时响应时间
信息集成度较低的过程自动化应用场合>100ms
绝大多数的工厂自动化应用场合1-100ms
高性能的运动控制应用100us-1ms
高动态同步过程<100us
如表1所示,信息集成度较低的过程自动化应用场合(如化工工程工业)中,一般响应在秒级/()100ms)就可以满足系统的实时性要求;而在绝大多数工厂自动化应用场合一般5-10ms响应时间就可以满足要求了;但是在在高性能同步运动控制(高速过程、机器人)中一般是需要小于1ms的实时响应时间才能满足系统的要求;另外将高动态同步过程等实时性要求更高(<100us)的应用划为第四个等级。
1.2抖动
抖动即同样过程每次完成时间的偏差。
可以理解为时间精度,如下图1所示。
图 1 抖动时间示意图
根据工业自动化开放网络联盟(IAONA)的定义实时性中网络抖动可以分为四个级别,
如下表2.2所示
表2.2 IAONA规定的网络抖动时间等级
1.3通信周期
一般来说,控制系统程序都是以周期循环的方式运行,在一个周期内,获取数据,然后完成计算任务,接着输出数据,这样进入下一个周期。
显然,控制系统时间周期是由被控对象来确定的,对于化工过程控制以1秒作为时间周期基本上就能满足要求了,可是对于高速过程就得以小于1ms的时间作为周期才能满足系统要求。
对于联网设备来说,一般系统的运行周期与通信周期相对应是比较合适的。
因为对于化工过程控制400us的通信周期显然并不比1s的通信周期能提高系统的整体性能。
但是在位置控制、多轴联动等过程中,更快的数据交换速率显然是可以提高系统的整体性能的。
二、PowerLink的技术特点
PowerLink主要有两方面的技术特点:一是实现了与IT技术的无缝连接,可以继续使用IP协议族;另一方面是开发了新的网络协议栈取代了传统的TCP/IP 协议栈,从根本上实现了网络数据的实时有效管理。
这两方面并不矛盾,在下一节再作说明。
2.1实现与IT技术的无缝连接
PowerLink通信模型采用3层结构,其与ISO参考模型的对照如下图2所示。
ISO参考模型PowerLink通信模型
由于PowerLink的底层是并采用IEEE802.3u标准,所以在中间层、以及顶层,可以实现IT技术的链接。
通过中间层的管理,系统可以在规定的时间内使用FTP、HTTP等非实时模块协议来通信。
2.2新的网络协议栈
PowerLink底层使用的是快速以太网标准,但是快速以太网不能避免数据的碰撞。
为此,PoweLink使用SCNM(Slot Communication Network Management)机制来避免数据碰撞。
如下PowerLink的协议栈示意图,数据链路层的逻辑链路子层、NMT模块、SDO序列以及UDP、TCP、IP组成了协议栈的中间层(数据传输服务层)。
应用层数据分三类到达数据链路层的逻辑链路子层,即:PDO、SDO和IP数据包。
PDO属于实时数据,会立即经由数据链路层发出;SDO属于网络网管理数据,首先到达SDO序列,然后在规定时间直接发往数据链路层,或者由UDP在异步阶段发往数据链路层;IP数据包(包括TCP和UDP)一律中异步阶段发送。
数
据的接受也是遵循类似的优先级。
图3 POWERLINK 通信栈结构示意图
三、 PowerLink 的报文格式
由于PowerLink 底层采用IEEE802.3u 标准,所以PowerLink 帧具有标准的以太网头部和尾部(14+4字节)。
另外PowerLink 首部有3字节,分别是:SID 、DA 和SA 。
SID 即Server Identity ,指明PowerLink 的服务类型,可取值为:SoC 、PReq
、PRes 、SoA 、ASnd (其具体的含义参见下一节)。
DA ,SA 分别为目标地址、源地址(即节点号)。
图 4 PowerLink 帧格式
应用层数据之后还有四字节的CRC (及以太网标准尾部)。
下面分别说明SoC 、PReq 、PRes 、SoA 、ASnd 帧格式,以整个帧的第14位()为0偏移位来
说明这五种帧。
所以,对于第0、1、2字节(即EPL首部)不再重复说明。
3.1SoC (Start of Cyclic)帧格式
SoC帧格式如下图5所示。
图 5 SoC帧格式
MS:即Multiplexed Cycle Completed,复用循环完成时翻转(未理解)
PS:即Prescaled Slot,此标志为用于慢速节点(即并不是每个周期都动作的节点)NetTime:可选项,为网络时钟,在采用IEEE1558协议时可采用。
RelativeTime:实时时钟,每生成一个SoC就加一次循环时间,在NMT状态机为NMT_GS_INITIALISING状态时归0.
3.2PReq(PollRequest)帧格式
PReq帧格式如下图6所示。
MS:即Multiplexed Slot。
EA:Exception Acknowledge,错误信号。
RD:Ready,若负载有效,则该位由MN值位。
PDOVersion:负载所使用的PDO编码版本
Size:负载的字节数
Payload:负载数据
图 6 PReq帧格式
3.3PRes(PollResponse)帧格式
PRes帧格式如下图7所示。
图7 PRes帧格式
NMTStatus:报告CN节点现阶段NMT状态机状态。
MS:Multiplexed Slot,其他CN可以获知这一信息。
EN:Exception New,错误信息。
RD:Ready,若负载有效,则该位由MN值位。
PR:Priority,声明异步阶段需发送的信息的优先级。
RS:Request To Send,声明异步阶段需发送的帧数目。
PDOVersion:负载所使用的PDO编码版本。
Size:负载的字节数。
Payload:负载数据。
3.4SoA(Start of Asynchronous)帧格式
SoA帧结构如下图8所示。
图8 SoA帧格式
NMTStatus:报告MN节点现阶段NMT状态机状态。
EA:Exception Acknowledge,错误信息。
ER:Exception Reset,错误信息。
RequestedServiceID:指明下一个允许发送的异步信息的类型
RequestedServiceTarget:指明那个节点允许发送异步信息。
EPLVersion:声明MN的EPL版本号。
3.5ASnd (Asynchronous Send )帧格式
ASnd帧结构如下图9所示。
ServiceID:异步帧的类型。
Payload:当前类型的异步帧的负载。
图9 ASnd帧格式
四、PowerLink的工作原理
4.1拓扑结构
一般来说,PowerLink网络可以通过Hub来实现任意拓扑结构,由于任一时刻网络中至多只有一个节点发送数据,所以理论上Hub的数目是不限的(但只允许最多10个Hub级联)。
EPL(Ethernet PowerLink)网络一般不使用网络交换器,因为网络交换器使用网络层协议,会产生更高的系统延时和抖动(Jitter)。
EPL网络的逻辑拓扑结构是环形的,这是由EPL网络的轮询分时机制决定的。
4.2工作模式
EPL工作模式分为保护模式、开放模式和基本以太网模式。
保护模式
保护模式下,标准以太网设备与EPL网络之间设置网关进行隔离。
这种模式下系统可以适应更为苛刻的实时性要求。
由于存储转发及切换时间的迟延和不确定性,保护模式不允许使用以太网交换机,只能使用基于数据链路层的集线器(要
求为单速集线器)。
●开放模式
开放模式下允Powerlink 网络中直接连接标准以太网设备,即不需要与以太网分离。
标准以太网设备可以直接访问Powerlink 节点。
当然这种模式仅适合于对实时性要求不高的应用场合。
这种模式网络中下可以使用快速以太网交换机。
●基本以太网模式
这时候Powerlink 节点就成为标准以太网设备。
4.3工作原理
PowerLink为避免数据冲突(及两个或两个以上节点同时访问总线),采取SCNM机制给个节点分配时间槽。
PowerLink在通信管理上为主从式(M/S)网络中只能有一个主节点(MN)和至多253个控制节点(CN)。
时间槽通信周期包括起始阶段、同步阶段、异步阶段和空现阶段四个阶段,如下图10所示。
四个阶段的时间有MN预先设定,可以不同。
MN负责监督各阶段循环时间,以防止不同阶段发生冲突,一旦发生冲突,MN自动延续到下一循环的开始为止。
●起始阶段
起始阶段,MN广播发送SoC(Start of Cyclic)帧,其他CN将接收到此帧的时间作为本节点的时序基础,就此同步。
整个通信周期中,只有SoC帧是时间驱动的,其他的都是事件驱动。
●同步阶段
同步阶段,所有节点进行同步信息交换,MN以轮询方式按照预先定义的顺序依次单向的向个CN节点发送PollReq(PollRequest)帧,CN节点响应广播PollRes(PollResponse)帧,其他所有节点(当然也包括那些应该接收此帧的节点)都可以接收、监督此PollRes帧。
所有激活的CN都轮询完毕后,MN 发送EoC(End of Cyclic)帧,结束同步阶段。
●异步阶段
异步阶段,节点间交换非实时信息。
MN发送SoA(Start of Asynchronous)帧。
SoA帧用来标记非激活的帧,若某CN有响应,此相应的标记为激活CN。
若某个已激活的节点需要发送非实时信息,则在之前同步阶段的PollRes帧中
向MN节点声明,这样MN异步调度器就会安排此节点发送异步信息的时间。
空现阶段
空现阶段是异步阶段结束和下一循环开始之间的时间间隔,时间间隔长度是个变量,可以设置为0。
.
同步阶段异步阶段空闲阶段
图10 EPL通信周期四阶段示意图
MN配置有所有网络中的节点列表,MN启动时,所有CN被设置为非激活状态(InActive),在异步阶段的IdentRequest帧(一种特殊的SoA帧)访问所有InActive状态的CN,CN接收到此帧后,在同一异步周期返回identResponse 帧,MN接收到此帧后,将此节点标记为Active状态。
同样新设备的添加或替换标识都是在异步阶段完成的。
为了平衡网络负载,EPL将控制分为两种类型,如下图11所示:
类型一:循环访问,即每个通信周期都将进行此对象的访问,如下图6中的1
、
2号节点
类型二:预设定比例访问,一次通信周期中访问访问全部类型一的对象和部分类型二的对象,如下图6中的3-8号节点。
图11 EPL网络平衡负载访问机制。