江 杰 趙鳳鳴 陳洪翰 朱高建
(內(nèi)蒙古科技大學信息工程學院1,內(nèi)蒙古 包頭 014010;西南交通大學信息科學與技術(shù)學院2,四川 成都 610031)
隨著工業(yè)自動化的發(fā)展,現(xiàn)場總線已無法滿足高速、實時、大容量數(shù)據(jù)傳輸?shù)囊?。將實時以太網(wǎng)用于工業(yè)現(xiàn)場是大勢所趨,它在保障實時性的前提下,能夠提供大容量、高速率數(shù)據(jù)傳輸,從而滿足工控領(lǐng)域日益增長的通信要求。目前,實時以太網(wǎng)主要有EtherCAT、Profinet、Ethernet/IP 及 Ethernet Powerlink(EPL)[1]等。
EPL是近期很流行的實時以太網(wǎng)技術(shù),已有學者及工程技術(shù)人員對其進行研究與應(yīng)用。Gena[2]和Seno[3]等建立了EPL仿真模型,其報警信息最大延遲低于10 ms,驗證了 EPL的實時性。Seno[4]等對 EPL的兩種調(diào)度周期進行了仿真分析。Maestro[5]等用EPL代替并改造傳統(tǒng)以太網(wǎng),使工業(yè)通信能耗降低70%。許洪華[6]等描述了EPL的特點。然而目前EPL的相關(guān)文獻及研究仍然較少,有必要對其進行更深入的研究。下面對EPL調(diào)度機制和實時數(shù)據(jù)通信進行分析。
EPL完全建立在快速以太網(wǎng)(IEEE 802.3標準)[7]的基礎(chǔ)之上。傳統(tǒng)以太網(wǎng)以載波監(jiān)聽多路訪問/沖突檢測方法(carrier sense multiple access/collision detect,CSMA/CD)為基礎(chǔ),發(fā)送數(shù)據(jù)前先偵聽信道是否空閑,若空閑則立即發(fā)送數(shù)據(jù)。發(fā)送數(shù)據(jù)時,邊發(fā)送邊繼續(xù)偵聽,若偵聽到?jīng)_突,則立即停止發(fā)送數(shù)據(jù),并等待一段隨機時間后重發(fā)。CSMA/CD對沖突的處理方式使得以太網(wǎng)傳輸具有非確定性和非實時性,這對于工業(yè)自動化應(yīng)用是不可接受的。
為了避免數(shù)據(jù)沖突,并且盡可能有效地利用網(wǎng)絡(luò)帶寬,EPL在時間上重新組織了網(wǎng)絡(luò)中節(jié)點間的信息交換機制。通過在CSMA/CD基礎(chǔ)上開通旁路,引入時間槽通信網(wǎng)絡(luò)管理機制(slot communication network management,SCNM),從而繞過 CSMA/CD,有效地保證了數(shù)據(jù)通信的實時性、確定性,并能夠與快速以太網(wǎng)完全兼容。
SCNM機制由一個具有網(wǎng)絡(luò)管理功能的設(shè)備即管理節(jié)點 (managing node,MN)對網(wǎng)絡(luò)進行管理,其他所有節(jié)點作為控制節(jié)點 (controlled node,CN)運行。MN的作用是協(xié)調(diào)調(diào)度各個CN、合理分配總線使用權(quán)、避免沖突、實現(xiàn)實時通信。網(wǎng)絡(luò)中所有節(jié)點都由MN配置。SCNM機制規(guī)定一個EPL網(wǎng)絡(luò)中只允許有一個激活的MN,如果需要也可以設(shè)置冗余的MN。
SCNM機制有兩種實時通信模式:請求/應(yīng)答模式(PReq/PRes模式)和定時主動上報模式(PRC模式)。其中,請求/應(yīng)答模式是EPL的經(jīng)典調(diào)度模式,本文針對這種模式進行分析。
①SCNM組織節(jié)點間通信
SCNM機制采用調(diào)節(jié)數(shù)據(jù)交換定時方式,并融合輪詢和時隙對節(jié)點間的通信進行組織,使每個節(jié)點在一個明確定義的時間間隔內(nèi)發(fā)送數(shù)據(jù)。SCNM機制如圖1所示。
圖1中,1~n為同步時隙,網(wǎng)絡(luò)中每個被激活的同步CN都占用其中的一個固定時隙,并且只能在該時隙中發(fā)送數(shù)據(jù),確保每一時刻只有一個CN能獲取網(wǎng)絡(luò)媒介的訪問權(quán),有效地避免了沖突;a為異步時隙,用于異步數(shù)據(jù)的傳輸。
②SCNM組織數(shù)據(jù)交換定時
SCNM機制對循環(huán)同步和時間進行控制。MN在固定的時間間隔提供統(tǒng)一的同步信號,所有CN都根據(jù)該同步標志調(diào)整自己內(nèi)部的任務(wù)周期,這樣就能保證時間控制精度在 1 μs[8]之內(nèi)。
EPL是確定性的實時以太網(wǎng)協(xié)議。根據(jù)SCNM機制,MN為網(wǎng)絡(luò)中所有的節(jié)點預先規(guī)劃并組織了一個時隙分配表,這些時隙就組成了EPL循環(huán)周期,如圖2所示。
EPL循環(huán)周期由同步段和異步段組成,其中,同步段用于調(diào)度等時同步傳輸?shù)膶崟r數(shù)據(jù),異步段用于調(diào)度實時性要求不高的異步數(shù)據(jù)。
系統(tǒng)上電后,執(zhí)行縮減的EPL周期(只包含異步段),由MN發(fā)布配置信息。配置完成后,執(zhí)行EPL循環(huán)周期。EPL循環(huán)周期執(zhí)行過程包含以下兩部分。
①同步段
MN發(fā)布SoC幀(start-of-cycle)同步所有節(jié)點,CN收到SoC后進入數(shù)據(jù)通信等待狀態(tài)。MN根據(jù)預先設(shè)置的時隙分配表輪詢各個CN。首先,MN發(fā)送PReq到第一個CN,該CN收到PReq后以PRes作出響應(yīng),并以廣播方式發(fā)送,允許網(wǎng)絡(luò)中的其他節(jié)點對該幀進行監(jiān)控并接收;然后發(fā)送PReq到第二個CN。依次類推,直至所有被激活的同步CN被輪詢完畢。
②異步段
MN發(fā)送一個SoA幀(start-of-asynchronous),標志同步傳輸?shù)慕Y(jié)束和異步傳輸?shù)拈_始。如果CN要發(fā)送異步幀,則在它發(fā)送的PRes幀或StatusRes幀中通知MN。MN根據(jù)優(yōu)先級,在所有發(fā)送異步請求的節(jié)點中選擇一個節(jié)點(包括MN),并在MN發(fā)送的SoA幀中帶上Requested Service Target的標志,指出允許哪個節(jié)點發(fā)送異步幀。
通常異步段只允許一個節(jié)點發(fā)送一個異步幀。若節(jié)點數(shù)據(jù)量過大,超過了一幀的處理能力,那么發(fā)送者可以將數(shù)據(jù)分配到多個循環(huán)周期的異步段進行傳輸。如果沒有異步請求,異步段將以SoA終止。由于EPL與快速以太網(wǎng)完全兼容,因此異步段允許發(fā)送標準以太網(wǎng)幀。
由此可見,在MN統(tǒng)一調(diào)度下,MN和CN之間,以及CN之間的通信周期性地進行,保證了同步通信和異步通信的同時執(zhí)行,并且互不影響。因此,實時數(shù)據(jù)通信和標準的IP通信(TCP、UDP等)都可以通過EPL網(wǎng)絡(luò)實現(xiàn)。
為了提高網(wǎng)絡(luò)帶寬利用率,在節(jié)點數(shù)目較大的情況下,SCNM機制采用多路復用技術(shù),如圖3所示,以同時支持高速設(shè)備和低速設(shè)備。
圖3 多路復用技術(shù)Fig.3 Multiplexing technology
高速設(shè)備可以在每個等時同步階段進行數(shù)據(jù)刷新,低速設(shè)備可以每隔1~n個周期刷新一次。這樣,節(jié)點可以利用多路復用技術(shù)在同步段共享時隙,既可以縮短每個EPL周期中的時隙數(shù)目,更好地利用帶寬;又能區(qū)別對待實時性強的信號和實時性弱的信號,從而提高整體效率,使EPL更靈活、更實用。
在EPL循環(huán)周期中,CN被以固定的順序輪詢。因此,在系統(tǒng)初始化階段,應(yīng)該對EPL循環(huán)周期的時隙劃分進行配置。
為了描述配置過程,假定一個網(wǎng)絡(luò)有5個同步CN,其中Node ID為11、12的CN為連續(xù)訪問節(jié)點,Node ID為13~15的CN為多路復用節(jié)點,那么同步段的時隙分配表如圖4所示。
圖4 時隙分配表Fig.4 Slot allocation table
EPL循環(huán)周期的配置實現(xiàn)主要涉及3個對象。
①對象NMT_CycleTiming_REC
在對象NMT_CycleTiming_REC中,子索引為7的子對象NMT_CycleTiming_REC.MultiplCycleCnt_U8用于確定多路復用周期的長度,即一個多路復用周期包含幾個EPL周期。其默認值為0,表示網(wǎng)絡(luò)中沒有采用多路復用技術(shù);若值為n,表示一個多路復用周期由n個EPL周期組成。n的最大值受MN設(shè)備描述入口D_NMT_MNMultiplCycMax_U8的限制。
上述網(wǎng)絡(luò)多路復用周期設(shè)置如表1所示。每個多路復用周期包含2個EPL周期。
表1 多路復用周期設(shè)置Tab.1 Configuration of multiplexing period
②對象NMT_MultiplCycleAssign_AU8
對象NMT_MultiplCycleAssign_AU8用于確定同步CN的訪問方式。同步CN既可以被連續(xù)訪問,又可以以多路復用方式被訪問。若子對象的值為0,則Node ID與該子對象索引號相等的CN為連續(xù)訪問;若子對象的值為n(n>0),則Node ID與該子對象索引號相等的CN以多路復用方式訪問,并在多路復用周期中的第n個EPL周期被訪問。
上述網(wǎng)絡(luò)中CN的訪問方式設(shè)置如表2所示。
表2 CN訪問方式設(shè)置Tab.2 Configuration of access mode of CN
③對象NMT_IsochrSlotAssign_AU8
對象NMT_IsochrSlotAssign_AU8用于給CN分配固定時隙,決定CN的先后訪問順序。被連續(xù)訪問的CN應(yīng)被分到該對象較低的子索引中,多路復用時隙應(yīng)以被訪問周期的升序方式映射到通信時隙中。EPL中允許存在空時隙,不被使用的時隙則跳過。
上述網(wǎng)絡(luò)中CN的時隙分配設(shè)置如表3所示。
表3 CN時隙分配設(shè)置Tab.3 Configuration of slot allocation of CN
其中,子對象0的值為5表示網(wǎng)絡(luò)中有5個同步CN;子對象1~5的值為CN的Node ID,表示該CN被分配到對應(yīng)的時隙。
上文整體分析了網(wǎng)絡(luò)中MN對CN的調(diào)度機制及配置實現(xiàn),本節(jié)分析網(wǎng)絡(luò)中節(jié)點間實時通信采用的通信方式。EPL中實時數(shù)據(jù)通信是通過過程數(shù)據(jù)對象(process data object,PDO)[9]執(zhí)行的。
EPL應(yīng)用層遵循 CANopen[9]標準。網(wǎng)絡(luò)中 MN和同步CN的實時數(shù)據(jù)傳輸都采用過程數(shù)據(jù)對象(PDO)形式。在EPL中,PDO通信是通過 PReq和PRes在同步段執(zhí)行的。PRes以廣播方式發(fā)送,遵循生產(chǎn)者/消費者模型;PReq以單播方式發(fā)送,遵循主/從方式。
從設(shè)備角度看,存在兩種類型的PDO,分別是用于數(shù)據(jù)發(fā)送的TPDO和用于數(shù)據(jù)接收的RPDO。同步CN可支持1個有效的TPDO通道和256個RPDO通道。MN可支持256個TPDO通道和256個RPDO通道。一個PDO通道可以由一組參數(shù)(即網(wǎng)絡(luò)參數(shù)和映射參數(shù))描述。
網(wǎng)絡(luò)參數(shù)用于描述PDO的通信屬性,提供映射版本和地址信息;在通信過程中,用于決定接收哪些節(jié)點的數(shù)據(jù),或?qū)?shù)據(jù)發(fā)給哪些節(jié)點。TPDO網(wǎng)絡(luò)參數(shù)的索引范圍為:0x1400h~0x14FFh;RPDO網(wǎng)絡(luò)參數(shù)的索引范圍為:0x1800h~0x18FFh。
映射參數(shù)描述PDO有效載荷中的對象到對象字典入口之間的映射,決定如何解析接收到的數(shù)據(jù)幀,或如何組成要發(fā)送的數(shù)據(jù)幀,即確定對象字典中的對象與數(shù)據(jù)幀中數(shù)據(jù)段的對應(yīng)關(guān)系。TPDO映射參數(shù)的索引范圍為:0x1600h~0x16FFh;RPDO映射參數(shù)的索引范圍為:0x1A00h~0x1AFFh。
網(wǎng)絡(luò)參數(shù)和映射參數(shù)成對出現(xiàn),一一對應(yīng)。如0x14XX與0x16XX一一對應(yīng),0x18XX與0x1AXX一一對應(yīng),其中XX范圍從00h到FFh。
在EPL中,一個PDO最大可以傳輸1490 B數(shù)據(jù),突破了CANopen最大傳輸8 B數(shù)據(jù)的限制。若發(fā)送方有多個對象要發(fā)送,可以將多個對象打包到一個數(shù)據(jù)幀中,接收方根據(jù)自己的需要從數(shù)據(jù)幀中取出相應(yīng)的數(shù)據(jù)。發(fā)送方將數(shù)據(jù)發(fā)送到哪些節(jié)點、如何將對象打包到一個數(shù)據(jù)幀中,接收方應(yīng)接收哪些節(jié)點的數(shù)據(jù)幀、如何解析接收到的數(shù)據(jù)幀,這些都由網(wǎng)絡(luò)參數(shù)和映射參數(shù)的配置決定。
①CN發(fā)送網(wǎng)絡(luò)參數(shù)配置
在EPL中,CN以廣播方式上報數(shù)據(jù),可將所有要發(fā)送的對象打包到一個數(shù)據(jù)幀中。因此,CN只需要一個TPDO通道即可。此時,CN發(fā)送網(wǎng)絡(luò)參數(shù)0x1800h的值應(yīng)設(shè)為255,由EPL協(xié)議棧自動設(shè)置。
②CN發(fā)送映射參數(shù)配置
對于發(fā)送,映射參數(shù)解決如何打包要發(fā)送的對象。通過設(shè)置映射參數(shù),將每一個要發(fā)送的對象與數(shù)據(jù)幀中的數(shù)據(jù)段建立映射關(guān)系,把對象的值放到數(shù)據(jù)幀對應(yīng)的字段中。CN發(fā)送對象與數(shù)據(jù)幀映射關(guān)系如圖5所示。
圖5 CN發(fā)送對象與數(shù)據(jù)幀映射關(guān)系Fig.5 Mapping between transmitting object of CN and data frame
網(wǎng)絡(luò)參數(shù)和映射參數(shù)成對出現(xiàn),一一對應(yīng)。因此,如果網(wǎng)絡(luò)參數(shù)配置為0x1800h,映射參數(shù)就必須配置為0x1A00h。配置如下。
映射參數(shù)數(shù)據(jù)解析如圖6所示。
圖6 映射參數(shù)數(shù)據(jù)解析Fig.6 Data parse of mapping parameters
③CN接收網(wǎng)絡(luò)參數(shù)配置
EPL支持直接交叉通信,CN可接收一個或多個節(jié)點的數(shù)據(jù),因此,一個CN可有多個接收通道。例如,一個CN可以接收MN和Node ID為2的CN的數(shù)據(jù),那么該CN有兩個接收通道,網(wǎng)絡(luò)參數(shù)配置分別如下。
RPDO1:0x1400/0x01值為0,表示接收來自 MN的數(shù)據(jù)。
RPDO2:0x1401/0x01值為2,表示接收Node ID為2的CN的數(shù)據(jù)。
④CN接收映射參數(shù)配置
對于接收,映射參數(shù)解決如何解析收到的數(shù)據(jù)幀。接收到的數(shù)據(jù)幀包含一個或多個對象,接收方應(yīng)知道需接收數(shù)據(jù)幀中的哪些對象,即接收數(shù)據(jù)幀中的哪幾段數(shù)據(jù)。接收MN對象數(shù)據(jù)與數(shù)據(jù)幀的映射關(guān)系如圖7所示。
圖7 MN接收對象與數(shù)據(jù)幀映射關(guān)系Fig.7 Mapping between receiving object of MN and data frame
與CN接收網(wǎng)絡(luò)參數(shù)配置中RPDO1相對應(yīng),對0x1600的值做如下配置。
⑤MN發(fā)送、接收參數(shù)配置
MN和CN的區(qū)別在于:在每個EPL循環(huán)周期,CN只需要一個TPDO;而在每個EPL周期中,MN要向網(wǎng)絡(luò)中所有的同步CN都發(fā)送一次PReq,并接收CN響應(yīng)幀PRes,因此,MN在發(fā)送時需要多個TPDO通道,在接收時需要多個RPDO通道。其具體配置方式同CN。
近十年來,以太網(wǎng)技術(shù)已廣泛引入工業(yè)自動化領(lǐng)域,實現(xiàn)遠程數(shù)據(jù)的傳輸與監(jiān)控。不同場合對實時性的要求促進了對以太網(wǎng)CSMA/CD訪問方式的改進,而改進的關(guān)鍵在于網(wǎng)絡(luò)中節(jié)點的調(diào)度機制和數(shù)據(jù)實時通信方式。論文對較新的EPL實時以太網(wǎng)調(diào)度機制和實時通信原理及配置實現(xiàn)方式進行了深入剖析,對EPL實時以太網(wǎng)技術(shù)的研究有重要意義。
下一步工作是建立一個標準化的EPL通信網(wǎng)絡(luò)模型。該模型能用于不同調(diào)度機制的試驗及性能分析、評估。
[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]許洪華,劉科.確定性工業(yè)以太網(wǎng)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中國用戶組織.實時工業(yè)以太網(wǎng) Ethernet Powerlink技術(shù)基礎(chǔ) 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.