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。
评论
查看更多