江 杰 趙鳳鳴 陳洪翰 朱高建
(內蒙古科技大學信息工程學院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.