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标准中定义的精确时钟同步机制,通过一个同步信号周期性地对网络中所有站点的时钟进行校正同步,可以使基于以太网的分布式运动控制系统达到精确同步。这在广泛要求同时动作的分布过程中显得尤为重要,而分布时钟的精确校准是同步的最有效解决方案。在EtherCAT中,数据交换是完全基于硬件“主时钟”和“子时钟”的。每个时钟可以简单和准确地确定另一个时钟的实时偏移量,分布时钟基于该值进行调整,这意味着它可以在网络范围内提供信号抖动小于1 μs的、非常精确的时钟基。而且高性能分布时钟不仅可以用于同步,还可以用于提供数据采集时本地时间的精确信息。同时,EtherCAT引入了时间戳数据类型作为扩展,使得对于速度的精确计算比自由同步误差测量技术更加精确。
EtherCAT作为一种可用于现场级的超高速的I/O网络,在技术方面已经开发出专用的芯片和从站控制器,也已经成为IEC617842标准的一部分。
2.3 网段分隔和通信调度管理
《EPA通信标准》是我国第一个拥有自主知识产权的现场总线国家标准,全称是《用于工业测量与控制系统的EPA通信标准》。它是在国家科技部“863”计划的支持下,由浙江大学、浙大中控、中科院沈阳自动化研究所、重庆邮电学院、清华大学和大连理工大学等单位联合成立的标准起草小组,经过3年多的技术攻关,而提出的基于工业以太网的实时通信控制系统解决方案。
在EPA系统中,将控制网络划分为若干个控制区域,每个控制区域为一个微网段。这种方案能够完全避免冲突的发生,每个微网段通过EPA网桥与其他网段分隔,该微网段内EPA设备间的通信被限制在本控制区域内进行,而不会占用其他网段的带宽资源。处于不同微网段内的EPA设备间的通信,需由相应的EPA网桥转发控制。EPA网桥至少有2个EPA接口,当它需要转发报文时,首先检查报文中的源IP地址、目的IP地址和EPA服务标识等信息,以确认是否需要转发,并确定报文转发路径。因此,任何广播报文的转发也将受到控制,不会发生采用一般交换机所出现的广播风暴。这一方案比单纯集线器方式的反应速度更快,抖动也更小。
2.3.1 实时问题的解决方案
为了提高网络的实时性能,EPA对ISO/IEC8802.3协议规定的数据链路层进行了扩展,增加了一个EPA通信调度管理实体(Communication Scheduling Management Entity,CSME)。CSME不改变IEC8802.3数据链路层提供的服务,也不改变与物理层的接口,只是完成对数据报文的调度管理,包括周期报文和非周期报文的调度。对于非周期报文,CSME不作任何处理直接传输;而对于周期性的报文,则要先根据事先组态好的控制程序和优先级大小,传送给数据传送设备,经过处理后再传到网络上,以避免同时向网络上发送数据,产生报文冲突。
2.3.2 通信调度机制
在周期报文传输阶段,每个EPA设备向网络上发送的报文是包含周期数据的报文。周期数据是指与过程有关的数据,例如需要按控制回路的控制周期传输的测量值、控制值,或功能块I/O之间需要按周期更新的数据。周期报文发送的优先级应为最高。
在非周期报文传输阶段,每个EPA设备向网络上发送的报文包含非周期数据的报文。非周期数据是指用于以非周期方式在两个通信伙伴间传输的数据,如程序的上下载数据、变量读/写数据、事件通知和趋势报告等,以及ARP、RARP、HTTP、FTP、TFTP、ICHP和IGMP等应用数据。非周期报文按其优先级高低,IP地址大小及时间有效方式发送。EPA通信周期如图4所示。
图4 EPA通信周期
目前为止,EPA标准也是IEC617842标准的成员,且在产品开发和工程应用上取得了较好的基础,已开发出EPA变送器、执行器、现场控制器、数据采集器、远程分散控制站等产品,基于EPA的分布式网络控制系统也已在化工厂得到成功的应用。
结语
本文所介绍的3种实时以太网的解决方案是目前市场上应用较广和关注度较高的新型实时以太网方案。它们都在自己的方案中引入独特的技术,来解决标准以太网用于工控领域不能满足实时性要求的问题,打破以太网应用于控制系统现场级的瓶颈。在工业现场级通信中,以前的现场级标准一直没能统一,希望在未来实时以太网技术能够向统一的、更深的方向发展。
评论
查看更多