江 杰 赵凤鸣 陈洪翰 朱高建
(内蒙古科技大学信息工程学院1,内蒙古 包头 014010;西南交通大学信息科学与技术学院2,四川 成都 610031)
随着工业自动化的发展,现场总线已无法满足高速、实时、大容量数据传输的要求。将实时以太网用于工业现场是大势所趋,它在保障实时性的前提下,能够提供大容量、高速率数据传输,从而满足工控领域日益增长的通信要求。目前,实时以太网主要有EtherCAT、Profinet、Ethernet/IP 及 Ethernet Powerlink(EPL)[1]等。
EPL是近期很流行的实时以太网技术,已有学者及工程技术人员对其进行研究与应用。Gena[2]和Seno[3]等建立了EPL仿真模型,其报警信息最大延迟低于10 ms,验证了 EPL的实时性。Seno[4]等对 EPL的两种调度周期进行了仿真分析。Maestro[5]等用EPL代替并改造传统以太网,使工业通信能耗降低70%。许洪华[6]等描述了EPL的特点。然而目前EPL的相关文献及研究仍然较少,有必要对其进行更深入的研究。下面对EPL调度机制和实时数据通信进行分析。
EPL完全建立在快速以太网(IEEE 802.3标准)[7]的基础之上。传统以太网以载波监听多路访问/冲突检测方法(carrier sense multiple access/collision detect,CSMA/CD)为基础,发送数据前先侦听信道是否空闲,若空闲则立即发送数据。发送数据时,边发送边继续侦听,若侦听到冲突,则立即停止发送数据,并等待一段随机时间后重发。CSMA/CD对冲突的处理方式使得以太网传输具有非确定性和非实时性,这对于工业自动化应用是不可接受的。
为了避免数据冲突,并且尽可能有效地利用网络带宽,EPL在时间上重新组织了网络中节点间的信息交换机制。通过在CSMA/CD基础上开通旁路,引入时间槽通信网络管理机制(slot communication network management,SCNM),从而绕过 CSMA/CD,有效地保证了数据通信的实时性、确定性,并能够与快速以太网完全兼容。
SCNM机制由一个具有网络管理功能的设备即管理节点 (managing node,MN)对网络进行管理,其他所有节点作为控制节点 (controlled node,CN)运行。MN的作用是协调调度各个CN、合理分配总线使用权、避免冲突、实现实时通信。网络中所有节点都由MN配置。SCNM机制规定一个EPL网络中只允许有一个激活的MN,如果需要也可以设置冗余的MN。
SCNM机制有两种实时通信模式:请求/应答模式(PReq/PRes模式)和定时主动上报模式(PRC模式)。其中,请求/应答模式是EPL的经典调度模式,本文针对这种模式进行分析。
①SCNM组织节点间通信
SCNM机制采用调节数据交换定时方式,并融合轮询和时隙对节点间的通信进行组织,使每个节点在一个明确定义的时间间隔内发送数据。SCNM机制如图1所示。
图1中,1~n为同步时隙,网络中每个被激活的同步CN都占用其中的一个固定时隙,并且只能在该时隙中发送数据,确保每一时刻只有一个CN能获取网络媒介的访问权,有效地避免了冲突;a为异步时隙,用于异步数据的传输。
②SCNM组织数据交换定时
SCNM机制对循环同步和时间进行控制。MN在固定的时间间隔提供统一的同步信号,所有CN都根据该同步标志调整自己内部的任务周期,这样就能保证时间控制精度在 1 μs[8]之内。
EPL是确定性的实时以太网协议。根据SCNM机制,MN为网络中所有的节点预先规划并组织了一个时隙分配表,这些时隙就组成了EPL循环周期,如图2所示。
EPL循环周期由同步段和异步段组成,其中,同步段用于调度等时同步传输的实时数据,异步段用于调度实时性要求不高的异步数据。
系统上电后,执行缩减的EPL周期(只包含异步段),由MN发布配置信息。配置完成后,执行EPL循环周期。EPL循环周期执行过程包含以下两部分。
①同步段
MN发布SoC帧(start-of-cycle)同步所有节点,CN收到SoC后进入数据通信等待状态。MN根据预先设置的时隙分配表轮询各个CN。首先,MN发送PReq到第一个CN,该CN收到PReq后以PRes作出响应,并以广播方式发送,允许网络中的其他节点对该帧进行监控并接收;然后发送PReq到第二个CN。依次类推,直至所有被激活的同步CN被轮询完毕。
②异步段
MN发送一个SoA帧(start-of-asynchronous),标志同步传输的结束和异步传输的开始。如果CN要发送异步帧,则在它发送的PRes帧或StatusRes帧中通知MN。MN根据优先级,在所有发送异步请求的节点中选择一个节点(包括MN),并在MN发送的SoA帧中带上Requested Service Target的标志,指出允许哪个节点发送异步帧。
通常异步段只允许一个节点发送一个异步帧。若节点数据量过大,超过了一帧的处理能力,那么发送者可以将数据分配到多个循环周期的异步段进行传输。如果没有异步请求,异步段将以SoA终止。由于EPL与快速以太网完全兼容,因此异步段允许发送标准以太网帧。
由此可见,在MN统一调度下,MN和CN之间,以及CN之间的通信周期性地进行,保证了同步通信和异步通信的同时执行,并且互不影响。因此,实时数据通信和标准的IP通信(TCP、UDP等)都可以通过EPL网络实现。
为了提高网络带宽利用率,在节点数目较大的情况下,SCNM机制采用多路复用技术,如图3所示,以同时支持高速设备和低速设备。
图3 多路复用技术Fig.3 Multiplexing technology
高速设备可以在每个等时同步阶段进行数据刷新,低速设备可以每隔1~n个周期刷新一次。这样,节点可以利用多路复用技术在同步段共享时隙,既可以缩短每个EPL周期中的时隙数目,更好地利用带宽;又能区别对待实时性强的信号和实时性弱的信号,从而提高整体效率,使EPL更灵活、更实用。
在EPL循环周期中,CN被以固定的顺序轮询。因此,在系统初始化阶段,应该对EPL循环周期的时隙划分进行配置。
为了描述配置过程,假定一个网络有5个同步CN,其中Node ID为11、12的CN为连续访问节点,Node ID为13~15的CN为多路复用节点,那么同步段的时隙分配表如图4所示。
图4 时隙分配表Fig.4 Slot allocation table
EPL循环周期的配置实现主要涉及3个对象。
①对象NMT_CycleTiming_REC
在对象NMT_CycleTiming_REC中,子索引为7的子对象NMT_CycleTiming_REC.MultiplCycleCnt_U8用于确定多路复用周期的长度,即一个多路复用周期包含几个EPL周期。其默认值为0,表示网络中没有采用多路复用技术;若值为n,表示一个多路复用周期由n个EPL周期组成。n的最大值受MN设备描述入口D_NMT_MNMultiplCycMax_U8的限制。
上述网络多路复用周期设置如表1所示。每个多路复用周期包含2个EPL周期。
表1 多路复用周期设置Tab.1 Configuration of multiplexing period
②对象NMT_MultiplCycleAssign_AU8
对象NMT_MultiplCycleAssign_AU8用于确定同步CN的访问方式。同步CN既可以被连续访问,又可以以多路复用方式被访问。若子对象的值为0,则Node ID与该子对象索引号相等的CN为连续访问;若子对象的值为n(n>0),则Node ID与该子对象索引号相等的CN以多路复用方式访问,并在多路复用周期中的第n个EPL周期被访问。
上述网络中CN的访问方式设置如表2所示。
表2 CN访问方式设置Tab.2 Configuration of access mode of CN
③对象NMT_IsochrSlotAssign_AU8
对象NMT_IsochrSlotAssign_AU8用于给CN分配固定时隙,决定CN的先后访问顺序。被连续访问的CN应被分到该对象较低的子索引中,多路复用时隙应以被访问周期的升序方式映射到通信时隙中。EPL中允许存在空时隙,不被使用的时隙则跳过。
上述网络中CN的时隙分配设置如表3所示。
表3 CN时隙分配设置Tab.3 Configuration of slot allocation of CN
其中,子对象0的值为5表示网络中有5个同步CN;子对象1~5的值为CN的Node ID,表示该CN被分配到对应的时隙。
上文整体分析了网络中MN对CN的调度机制及配置实现,本节分析网络中节点间实时通信采用的通信方式。EPL中实时数据通信是通过过程数据对象(process data object,PDO)[9]执行的。
EPL应用层遵循 CANopen[9]标准。网络中 MN和同步CN的实时数据传输都采用过程数据对象(PDO)形式。在EPL中,PDO通信是通过 PReq和PRes在同步段执行的。PRes以广播方式发送,遵循生产者/消费者模型;PReq以单播方式发送,遵循主/从方式。
从设备角度看,存在两种类型的PDO,分别是用于数据发送的TPDO和用于数据接收的RPDO。同步CN可支持1个有效的TPDO通道和256个RPDO通道。MN可支持256个TPDO通道和256个RPDO通道。一个PDO通道可以由一组参数(即网络参数和映射参数)描述。
网络参数用于描述PDO的通信属性,提供映射版本和地址信息;在通信过程中,用于决定接收哪些节点的数据,或将数据发给哪些节点。TPDO网络参数的索引范围为:0x1400h~0x14FFh;RPDO网络参数的索引范围为:0x1800h~0x18FFh。
映射参数描述PDO有效载荷中的对象到对象字典入口之间的映射,决定如何解析接收到的数据帧,或如何组成要发送的数据帧,即确定对象字典中的对象与数据帧中数据段的对应关系。TPDO映射参数的索引范围为:0x1600h~0x16FFh;RPDO映射参数的索引范围为:0x1A00h~0x1AFFh。
网络参数和映射参数成对出现,一一对应。如0x14XX与0x16XX一一对应,0x18XX与0x1AXX一一对应,其中XX范围从00h到FFh。
在EPL中,一个PDO最大可以传输1490 B数据,突破了CANopen最大传输8 B数据的限制。若发送方有多个对象要发送,可以将多个对象打包到一个数据帧中,接收方根据自己的需要从数据帧中取出相应的数据。发送方将数据发送到哪些节点、如何将对象打包到一个数据帧中,接收方应接收哪些节点的数据帧、如何解析接收到的数据帧,这些都由网络参数和映射参数的配置决定。
①CN发送网络参数配置
在EPL中,CN以广播方式上报数据,可将所有要发送的对象打包到一个数据帧中。因此,CN只需要一个TPDO通道即可。此时,CN发送网络参数0x1800h的值应设为255,由EPL协议栈自动设置。
②CN发送映射参数配置
对于发送,映射参数解决如何打包要发送的对象。通过设置映射参数,将每一个要发送的对象与数据帧中的数据段建立映射关系,把对象的值放到数据帧对应的字段中。CN发送对象与数据帧映射关系如图5所示。
图5 CN发送对象与数据帧映射关系Fig.5 Mapping between transmitting object of CN and data frame
网络参数和映射参数成对出现,一一对应。因此,如果网络参数配置为0x1800h,映射参数就必须配置为0x1A00h。配置如下。
映射参数数据解析如图6所示。
图6 映射参数数据解析Fig.6 Data parse of mapping parameters
③CN接收网络参数配置
EPL支持直接交叉通信,CN可接收一个或多个节点的数据,因此,一个CN可有多个接收通道。例如,一个CN可以接收MN和Node ID为2的CN的数据,那么该CN有两个接收通道,网络参数配置分别如下。
RPDO1:0x1400/0x01值为0,表示接收来自 MN的数据。
RPDO2:0x1401/0x01值为2,表示接收Node ID为2的CN的数据。
④CN接收映射参数配置
对于接收,映射参数解决如何解析收到的数据帧。接收到的数据帧包含一个或多个对象,接收方应知道需接收数据帧中的哪些对象,即接收数据帧中的哪几段数据。接收MN对象数据与数据帧的映射关系如图7所示。
图7 MN接收对象与数据帧映射关系Fig.7 Mapping between receiving object of MN and data frame
与CN接收网络参数配置中RPDO1相对应,对0x1600的值做如下配置。
⑤MN发送、接收参数配置
MN和CN的区别在于:在每个EPL循环周期,CN只需要一个TPDO;而在每个EPL周期中,MN要向网络中所有的同步CN都发送一次PReq,并接收CN响应帧PRes,因此,MN在发送时需要多个TPDO通道,在接收时需要多个RPDO通道。其具体配置方式同CN。
近十年来,以太网技术已广泛引入工业自动化领域,实现远程数据的传输与监控。不同场合对实时性的要求促进了对以太网CSMA/CD访问方式的改进,而改进的关键在于网络中节点的调度机制和数据实时通信方式。论文对较新的EPL实时以太网调度机制和实时通信原理及配置实现方式进行了深入剖析,对EPL实时以太网技术的研究有重要意义。
下一步工作是建立一个标准化的EPL通信网络模型。该模型能用于不同调度机制的试验及性能分析、评估。
[1]Ethernet Powerlink Standardisation Group.DS301 Ethernet Powerlink communication profile specification version 2.0[S].2003.
[2]Cena G,Seno L,Valenzano A,et al.Performance analysis of Ethernet Powerlink networks for distributed control and automation systems[J].Computer Standards & Interfaces,2009,31(3):566 -572.
[3]Seno L,Vitturi S.A simulation study of Ethernet Powerlink networks[C]//IEEE Conference on Emerging Technologies and Factory Automation,2007:740-743.
[4]Seno L,Vitturi S,Claudio Z.Analysis of Ethernet Powerlink wireless extensions basedontheIEEE 802.11WLAN [J].IEEE Transactions on Industrial Informatics,2009,5(2):86 -98.
[5]Maestro J,Reviriego P.Energy efficiency in industrial Ethernet:the case of Powerlink[J].IEEE Transactions on Industrial Electronics,2010,57(8):2896 -2903.
[6]许洪华,刘科.确定性工业以太网Ethernet Powerlink[J].冶金自动化,2004(4):23-25.
[7]IEEE.IEEE 802.3 standard:carrier sense multiple access with collision detection(CSMA/CD)access method and physical layer specifications[S].2000.
[8]Ethernet Powerlink中国用户组织.实时工业以太网 Ethernet Powerlink技术基础 V2010.03[EB/OL].[2011 -11 -21].http://www.Ethernet-Powerlink.org.
[9]CAN in Automation,International Users and Manufacturers Group e.V.CANopen application layer and communication profile,CiA/DS301[S].2000.