当前位置:文档之家› 解决以太网协议实时性的几种方案

解决以太网协议实时性的几种方案

解决以太网协议实时性的几种方案摘要以太网技术以其低成本、高速、高稳定性和高可靠性的优点,正逐渐向工业现场控制领域发展,但是由于以太网技术在工业现场通信方面不能满足实时性的要求,因此就诞生了许多实时以太网技术的解决方案。

本文主要介绍现今比较流行的几种实时以太网协议,以及它们如何在工业以太网的基础上对协议进行改进,以满足工业现场对实时通信的要求。

1 概述在工业控制系统中,现场总线技术的发展使智能现场设备和自动化系统以全数字式、双向传输、多分支结果的通信控制网络相连,使工业控制系统向分散化、网络化和智能化发展。

但是由于各类现场总线标准之间的不可兼容性无法实现统一,阻碍了现场总线技术的发展。

另一方面,以太网技术作为垄断办公自动化领域的通信技术,以其通用性、低成本、高效率、高可靠性和高稳定性等诸多优势,得到了工控界越来越多的关注和认可。

用以太网技术来实现从管理层到工业现场层的一致性通信,人们习惯上将应用到工业领域的以太网技术称为“工业以太网”。

工业数据通信网络与信息网络不同,工业数据通信不仅要解决信号的互通和设备的互连,而且需要解决信息的互通问题,即信息的互相识别、互相理解和互可操作。

所谓信号的互通,即两个需要互相通信的设备所采用的通信介质、信号类型、信号大小、信号的输入/输出匹配等参数,以及数据链路层协议符合同一标准,不同的设备能连接在同一网络上实现互连。

如果仅仅实现设备互连,但没有统一的高层协议(如应用层协议),那么不同设备之间还是不能相互理解、识别彼此所传送的信息含义,就不能实现信息互通,也就不可能实现开放系统之间的互可操作。

互可操作性是指连接到同一网络上、不同厂家的设备之间,通过统一应用层协议进行通信与互用,性能类似的设备可以实现互换。

这是工业数据通信网络区别于一般IT网络的重要特点。

对工业控制来说,还有一个很重要的区别就是实时性。

实时性的一个重要标志就是时间的确定性,通信时数据传输时间不是随机的,而是可事先确定的。

一个事件发生后,系统在一个可准确预见的时间范围内做出反应。

反应速度由被控制过程来决定。

对于高传动性的系统,实时性的要求就要更高了。

虽然以太网具有比现场总线高许多的传输速率,但是却不能保证实现控制设备间的实时通信。

这主要是因为标准的以太网协议是以CSMA/CD(Carrier Sense Multiple Access/Collision Detection,载波*多路访问/冲突检测)技术为基础的,网络上的各工作站对总线进行“*”以确认总线是否空闲。

如果空闲,它们就开始发送数据。

如果两个工作站同时试图发送数据,冲突就产生了。

在这种情况下,访问机制首先确保工作站停止传输数据,而后根据预定义的随机选择算法,工作站再次尝试发送数据。

这个过程一直重复直至冲突消失。

上述机制保证了数据的安全发送,可是从确定性行为的角度来看,这却是一个很大的障碍。

它允许数据传输时间可被任意推迟,也就不能实现数据的实时通信。

要想使以太网技术在不改变其现有标准的前提下更好地应用到工控领域,就要找到一种解决方案来解决这个问题。

为此,各大公司开始研究基于以太网的通信的实时性问题,并各自提出了不同的解决方案。

有些成果已得到了工业现场标准委员会的认可,并写入新的标准中。

下面就介绍几种解决方案,看他们是如何保证通信实时性的。

2 几种解决方案分析2.1 Ethernet Powerlink这个方案是由奥地利贝加莱公司提出的Ethernet Powerlink所采用的解决方法。

Ethernet Powerlink 是以快速以太网为基础开发出来的实时工业以太网协议。

贝加莱公司的目标是在快速以太网的基础上,创建一个高速的、实时的、确定性的网络环境。

利用高速循环数据交换,使抖动降到很小(小于1 μs),同时在不影响循环通信的情况下处理非循环的数据。

而且,I/O与驱动数据能够在相互之间以及与PCC系统间完成同步传输。

因为是完全建立在标准快速以太网之上,所以Ethernet Powerlink完全符合标准的拓扑结构和物理特性,且能够与IT技术无缝连接,传输速率为100 Mbps,最小循环周期为200 μs。

使用带RJ45插头的标准双绞线电缆(超五类电缆)。

网络拓扑支持星型、树型和菊花链型结构,单个网段最多可以连接240个实时站点。

由于有实时性的要求,因此不允许使用交换机,只能使用集线器作为连接设备。

2.1.1 Ethernet Powerlink的报文帧格式图1 Powerlink报文帧格式报文帧格式采用了标准快速以太网的帧头、帧尾,如图1所示。

在以太网帧头后面的是实际的Powerlink 报文,包括服务标识(SID)、目标地址(DA)、源地址(SA)和数据(Data)。

其中Length/Type字段的值>1 500,这是一个保留的EtherType,用于唯一地识别Powerlink的报文帧[1]。

其中:SID包括SoC(Start of Cyclic)、EoC(End of Cyclic)、PollReq、PollRes、AsyncInvite、AsyncSend、AsyncAckNack;DA为目标地址;SA为源地址。

2.1.2 Ethernet Powerlink的工作原理虽然标准的以太网是以CSMA/CD技术为基础的,但CSMA/CD的工作原理决定了它不能实现通信的确定性,于是Ethernet Powerlink引入了SCNM(时间槽通信网络管理)算法来保证实时以太网通信的确定性。

SCNM给同步数据和异步数据分配时槽,保证在同一时间只有一个设备可以占用网络媒介,从而彻底杜绝了网络冲突的发生。

Ethernet Powerlink在通信管理上引入了管理节点(MN)和控制节点(CN)。

整个网络有唯一的管理节点,所以控制节点在管理节点上登记组态,管理节点对网络进行统一调度,为各个节点之间数据通信分配时间信道。

只有管理节点可以独立地发送数据,可以以广播的形式或指定发送;而控制节点只有在得到允许后才能发送数据,且仅以广播的形式,其他的节点可以接收数据并进行监督。

对于实时数据,信道时间较窄,可以精确管理;对于标准以太网数据包,首先拆成小包,然后纳入相应的信道进行管理,因而数据也是确定性的[2]。

时间槽通信的周期包括开始阶段、同步阶段、异步阶段和空闲阶段,如图2所示。

图2 Powerlink的通信周期每个阶段的时间由管理节点预先设置,长度可以不同。

管理节点随时监控循环时间,以保证预设的时间不会发生冲突,一旦冲突发生,将自动延续到下一个循环的开始位置。

开始阶段:管理节点广播发送SoC帧开始通信周期。

此帧发出后,各节点就此同步。

只有SoC帧由时间控制,其他帧由事件控制。

同步阶段:所有节点进行同步信息交换。

管理节点按照一个预先定义的顺序给某站发送一个PollPeq 帧,要求此节点发送数据;此节点得到允许后以广播的形式发出一帧PollRes回应信息,所有节点都可以接收到这帧数据,并对这帧数据进行监控,也包括那些应该得到这帧数据的节点。

PollReq和PollRes都可以传输应用数据。

管理节点循环访问完所有节点后广播发送EoC帧指示同步结束。

异步阶段:当确认队列中无实时数据交换需要时,系统进入异步阶段,异步通信主要传输标准以太网数据流。

如果控制节点要发送异步数据,会在PollRes帧中通知管理节点。

管理节点查询异步数据请求对列,发送“异步数据发送邀请(AInvite)”给要发送异步数据的节点。

这时控制节点就可以发送异步数据到指定的节点。

通过时间槽通信发送的数据报文会在接收节点还原成原始数据包。

空闲阶段:在完成异步传送数据后尚剩下的时间段。

在这个时间段,所以网上的节点都处于等待状态,等待下一循环的开始。

这个时间是个变量,也可能是0。

Ethernet Powerlink在通信管理上引入的时间槽通信网络管理,使每个通信周期可以有对应的时间域用于传输实时数据和标准以太网数据流,既能在保证数据通信的实时性要求,又能传输标准的以太网数据,实现与标准以太网的兼容。

目前,实时开放的Ethernet Powerlink工业以太网已顺利通过IEC国际标准。

所有文档都已通过IEC 组委会批准,Ethernet Powerlink已被纳入IEC国际标准617842、61158300、61158400、61158500和61158600。

2.2 总线内存管理和IEEE1588机制这种解决方法就是由德国倍福公司提出的EtherCAT(Ethernet for Control Automation Technology)。

它得到了ETG组织的支持,是一个可用于现场级的超高速I/O网络,使用标准的以太网物理层和常规的以太网卡,传输介质可以是双绞线或光纤。

拓扑结构可以是线型、树型和星型结构。

EtherCAT使网络性能达到一个新的境界,可以在30 μs内处理1 000个I/O的刷新,包括循环的时间;可以在一个以太网帧中交换多达1 468个字节的协议数据(这几乎相当于12 000个数字的输入或输出),且仅需300 μs。

同时,采用IEEE1588标准规定的精确时间同步机制实现分布时钟精确同步,保证了控制器的同步时间偏差小于1 μs。

EtherCAT报文帧格式采用标准以太网的帧头和帧尾,且帧头中Type段的值为0x88A4时,是一个唯一识别EtherCAT报文的标志。

EtherCAT的报文直接包括在以太网数据中,且在数据区域并不是只有一个EtherCAT的报文,而是包括n个报文。

n表示在系统中所包含的节点的个数。

每个报文中包括帧头、数据和WKC(WorKing Counter),用于记录通过报文可以成功寻址的设备数量。

EtherCAT报文帧格式如图3所示。

图3 EtherCAT报文帧格式EtherCAT突破了其他以太网的解决方案的限制,不必在每个连接点接收以太网数据包,然后进行解码并复制为过程数据。

而且为了避免通信总线传输的延迟,德国倍福公司率先在EtherCAT中使用了FMMU (Fieldbus Memory Management Unit)前沿技术。

整个系统只有一个主站用于系统的控制,其他的都是从站,当数据报文从主站被发出以后,每个从站中的FMMU就可以读出数据报文中指定到此的数据。

同样,输入数据可以在数据报文通过时插入到报文中,报文仅有几ns延迟。

网络内的最后一个从站向主站发送一个完整的帧,以形成和创建一个物理和逻辑环。

EtherCAT还通过内部优先级系统,使实时以太网帧比其他的数据(如组态或诊断数据等)具有更高的优先级。

组态数据只在传输实时数据的间隙中传输(如果时间间隙足够传输),或者通过特定的通道传输[3]。

在同步方面,EtherCAT采用IEEE1588标准中定义的精确时钟同步机制,通过一个同步信号周期性地对网络中所有站点的时钟进行校正同步,可以使基于以太网的分布式运动控制系统达到精确同步。

相关主题