胥軍(1980-)
男,湖北襄樊人,武漢理工大學機電工程學院博士后,從事現場總線產品、DSP、視頻監控方面的設計與研究工作。
摘要:針對工業企業對傳輸控制協議高速和高可靠性的需求,本文提出了一種利用以太網通信技術對PROFIBUS-DP總線協議進行優化的方案。新構造的DP以太網通信協議可以支持比原協議更高的通信帶寬,而且還能兼容基于PROFIBUS-DP上層協議的各種進程。通過對比分析基于DP以太網協議和PROFIBUS-DP協議的通信網絡的報文循環時間和報文編碼效率可知,該協議解決了PROFIBUS-DP協議支持的通信速率較低的問題,實現了對該協議的優化。
關鍵詞:PROFIBUS-DP;協議優化;以太網
Abstract: This paper presents an optimization solution with Ethernet technology to fulfill the demands on high transmission speed and high reliability on transmission protocol inside enterprises. The new constructed protocol named DP Ethernet is compatible with the applications based on upper protocols of PROFIBUS-DP, which can support much wider communication bandwidth. DP Ethernet protocol is more efficient than PROFIBUS-DP through analysis on message cycle time and message coding efficiency of networks based on these two protocols.
Key words: PROFIBUS-DP;Protocol Optimization;Ethernet
PROFIBUS-DP現場總線以其優良的性能在我國工業領域的應用日益廣泛,已成為我國機械工業的首個行業標準。經工程實踐驗證,PROFIBUS-DP總線通信雖然具有較好的確定性和動態適應性,但其支持的最高傳輸速率只有12Mbit/s,而且只能在短距離范圍內實現,在將PROFIBUS-DP總線應用到大規模的現場控制網絡中時,其支持的最高傳輸速率已不能滿足工業現場的通信需求。以太網通信采用的IEEE 802.3協議是一種開放式的協議,可以支持比PROFIBUS-DP總線高得多得傳輸速率,而且可以根據需要自由選擇應用層協議。基于這種考慮,本文研究了利用IEEE 802.3協議對PROFIBUS-DP現場總線協議進行優化的方案,構造了一種新型的通信協議DP以太網的框架,并對DP 以太網協議的性能進行了分析。
1 協議優化方案
PROFIBUS-DP協議中定義的協議層次包括:物理層、數據鏈路層和用戶層(用戶接口)。DDLM功能將數據鏈路層提供的SRD和SDN服務映射到用戶接口,用戶可以通過數據鏈路層服務在DDLM中的映像調用SRD和SDN服務,因此利用DDLM功能用戶就可以對PROFIBUS-DP站點進行讀寫操作[1]。PROFIBUS-DP總線的MAC子層采用混合式介質訪問機制,由邏輯令牌循環(主站與主站之間)和主從式(主站與從站之間)兩種介質訪問方式組成。
以太網采用的IEEE 802.3協議中僅定義了物理層和數據鏈路層協議,運行時需要上層應用協議的支持。以太網的數據鏈路層可以提供三種類型的服務:無需響應的非連接服務、需響應的非連接服務和連接服務。以太網的MAC子層采用CSMA/CD介質訪問協議,其通信模式取決于上層協議的定義,既可以是主從模式,也可以是生產者/消費者模式[2]。
PROFIBUS-DP數據鏈路層提供的數據傳輸服務(SDN和SRD服務)和以太網數據鏈路層提供的非連接服務在功能近似。以太網數據鏈路層的無需響應非連接服務與PROFIBUS-DP數據鏈路層的SDN服務(發送無需應答服務)近似;以太網數據鏈路層的需響應非連接服務與PROFIBUS-DP數據鏈路層的SRD服務(發送需應答服務)近似。
從協議層次的角度來看,由于IEEE 802.3協議中只定義了低層協議而未將其上層協議標準化,可以根據應用的需要自由選擇上層應用協議;PROFIBUS-DP協議定義了與IEEE 802.3協議不同的物理層和數據鏈路層,主要為用戶接口提供數據傳輸服務,用戶接口的DDLM功能與數據鏈路層的服務是一個映射與被映射的關系。因此,可以設法將PROFIBUS-DP的用戶層協議移植到IEEE 802.3協議之上,并創建直接數據鏈路映像功能,設法將以太網數據鏈路層的服務映射到PROFIBUS-DP的用戶接口。
圖1 協議子層移植示意
由于上層協議調用下層協議提供的服務是通過SAPs進行的,因此將以太網數據鏈路層的服務提供給PROFIBUS-DP用戶時,需要參照PROFIBUS-DP報文格式中的SSAP(Source SAP)和DSAP(Destination SAP)域的定義對以太網LLC協議數據單元中的SSAP和DSAP域進行相應的修改,從而可以兼容基于PROFIBUS-DP上層協議的各種應用進程。
2 DP以太網協議的構建
DP以太網協議的通信模型參照OSI參考模型建立,包括物理層、數據鏈路層和用戶接口。物理層和數據鏈路層協議采用IEEE 802.3協議;用戶接口協議參照PROFIBUS-DP的用戶接口協議建立。
2.1 物理層協議
DP以太網采用IEEE 802.3協議定義的物理層標準,并在傳輸介質和物理接口上增加了適用于工業現場的應用導則,如采用加固的RJ45接頭、使用工業用屏蔽雙絞電纜等。DP以太網的數據幀采用IEEE 802.3協議定義的幀結構,為了確保沖突檢測機制,當數據域的數據長度不足46Bytes時,必須在Pad域中填充相應數目的字節來滿足該要求。DP以太網的數據幀也必須滿足該最短幀長度要求。
2.2 數據鏈路層協議
數據鏈路層協議是DP以太網協議中最重要的部分。DP以太網的數據鏈路層符合IEEE 802.3協議,包括MAC子層和LLC子層。MAC子層定義了訪問物理媒體的協議;LLC子層代表了所有面向上層協議的通用接口。
DP以太網協議采用主從式的通訊模式,網絡節點分為主節點(主站)和從節點(從站)兩類。由于CSMA/CD介質訪問控制機制已被IEEE 802.3協議標準化了,因此DP以太網的MAC子層仍采用CSMA/CD介質訪問協議。LLC子層協議可以提供兩種類型的服務:無需響應的非連接服務和需響應的非連接服務。將無需響應的非連接服務服務記作DL-UNITDATA,DL-UNITDATA服務允許一個LLC用戶發送一組數據到一個或一組遠程的LLC用戶。利用該服務,DP以太網的每個數據傳輸都獨立于其他的數據傳輸,數據到達目的站點后不會返回接收確認幀到源站點。在DP以太網協議中該服務用于執行PROFIBUS-DP協議中SDN服務提供的功能。
將需響應的非連接服務記作DL-REPLY,DL-REPLY服務允許一個LLC用戶發送一組數據到另一個LLC用戶,接收數據的站點返回一個響應幀,用于確認來自源站點的數據已被正確接收。為了實現主從站間的數據交換,DP以太網的DL-REPLY服務不僅要求從站在響應幀中明確發送數據已被正確接收,還必須包含由從站點返回到主站點數據。該服務用于執行PROFIBUS-DP協議中SRD服務提供的功能。LLC子層協議定義的PDU格式如圖2所示。
圖2 DP以太網LLC PDU格式
在LLC子層的PDU格式中,SSAP和DSAP的設置與PROFIBUS-DP總線報文格式中SAP域的定義一致。通過檢測報文中SAP域的值,DP以太網的每個節點能夠辨認什么數據已被請求和需要提供什么響應數據。
2.3 DP以太網EDDLM功能的創建與執行
DP以太網用戶接口的EDDLM功能是參照PROFIBUS-DP協議中定義的DDLM功能創建的,目的是向上層用戶提供與PROFIBUS-DP協議相同的數據傳輸服務。EDDLM功能映射了LLC子層提供的兩種非連接服務,即DL-UNITDATA和DL-REPLY。DL-UNITDATA用于全局控制命令,DL-REPLY用于其余所有的服務。這兩種服務均通過原語來執行,最多能夠傳輸1500個字節的用戶數據,遠大于PROFIBUS-DP總線中FDL層的數據傳輸能力(246字節)。
DP以太網的每個EDDLM功能都由一組原語組成,這些原語用于DP以太網的數據傳輸服務。在服務的執行過程中,所有的EDDLM功能均按固定的順序依次執行,并行的或并存的功能請求是不允許的。當采用主從式的通信模式時,通信請求在主節點的用戶接口中被啟動,然后通過請求原語(.req)發送到EDDLM,最后用確認原語(.con)接收EDDLM的確認。由自主節點發出的請求原語(.req)到達從節點后成為指示原語(.ind)。
EDDLM功能映射的用于DP以太網主從節點間通信的服務類型可以劃分為兩類:映射LLC子層DL_REPLY服務的EDDLM服務;映射LLC子層DL-UNITDATA服務的EDDLM服務。EDDLM功能映射的DL_REPLY服務包括EDDLM_Data_Exchange、EDDLM_Slave_Diag、EDDLM_RD_Inp、EDDLM_RD_Outp、EDDLM_RD_Get_Cfg、EDDLM_Set_Prm、EDDLM_Chk_Cfg和Set_Slave_Add。以EDDLM_Data_Exchange服務為例,其執行順序可以用圖3描述。
圖3 EDDLM_Data_Exchange服務執行順序
類似地,可以創建EDDLM_Global_Control服務,其執行順序如圖4所示。
圖4 EDDLM_Global_Control服務執行順序
3 DP以太網協議性能分析
由于DP以太網設法利用以太網通信技術對PROFIBUS-DP協議進行優化,因此可以在站點分布相同的前提下,通過對比分析采用DP以太網協議和PROFIBUS-DP總線協議的通信網絡的報文循環時間和報文編碼效率來評估DP以太網協議性能的優劣。為了簡化分析,本文選擇單主站網絡,此時由于只有一個主節點擁有網絡的控制權,因此沒有沖突發生。
在采用主從式通信模式的單主站網絡中,每一次報文循環內,主節點通過發送需響應的請求將輸出數據傳遞到從節點,從節點返回的響應幀中則包含了輸入數據。報文循環時間可以通過計算需要傳輸的數據總的位數與傳送1位數據所需時間的乘積得到。若忽略所有的非周期循環,則報文循環時間Tc可以用下式表示[3]:
(1)
其中,N表示從節點的數目;Tslv(i)表示訪問第個i從節點需要的時間;Tinter表示幀間間隙。Tinter的值與協議類型有關,網絡上每個發送數據的節點必須在連續發送的兩幀之間保證該最小間隙。
假定在兩類網絡中均只存在周期性的報文循環,下面分別對采用DP以太網協議和PROFIBUS-DP協議的單主站網絡的報文循環時間進行分析。
3.1 DP以太網報文循環時間
由于DP以太網協議沒有定義網絡層和傳輸層,與以太網相比,DP以太網數據幀包含的固定報文信息較少,僅包括4個字節的LLC幀頭和18個字節的以太網幀信息,再加上由網絡硬件添加的前導碼(7字節)和幀起始定界符(1字節),所有的報文固定信息長度共計為30個字節。當輸入與輸出字節的長度均滿足DP以太網幀最短長度要求時,DP以太網主節點訪問第i個從節點所需的時間為:
(2)
其中,Ii是主節點與第i個從節點交換的輸入字節數;Oi是主節點與第i個從節點交換的輸出字節數;Tbit是發送1位數據所需的時間。
由于DP以太網幀有最短長度要求,因此(2)式只在DP以太網主節點與從節點間交換的數據幀大于72Bytes(576bits)時才有效,不滿足該長度要求時會在Pad域中填充一些無用字節,因此還須對不滿足最短幀長度的報文傳輸進行討論,討論結果如式(3)所示。
(3)
Vitturi對PROFIBUS-DP總線的性能進行了深入的研究,認為對于一個單主站PROFIBUS-DP網絡,僅對循環的數據傳輸進行分析,并假定循環足夠大,可以忽略最小從站間隔時間的影響,此時PROFIBUS-DP總線上的報文循環時間可以用下式表示[4]:
(4)
其中,N表示從站的數目;Tif表示從站的響應延遲和訪問一個新站點的延遲時間之和;Tftx表示傳輸數據幀的固定部分所需的時間;LIO表示主站與第i個從站交換的輸入/輸出字節數。
為了與以太網在同等條件下進行對比分析,Tif的值選擇與以太網的幀間間距相同,即Tif=192Tbit;PROFIBUS-DP總線在循環的數據通信中采用SRD服務,此時Tftx的值為:Tfix=231Tbit,代入式(8)可得PROFIBUS-DP總線的報文循環時間為:
(5)
在站點分布相同的前提下,通過比較DP以太網和PROFIBUS-DP總線的報文循環時間來評價DP以太網協議性能的優劣。假定在兩類網絡中均包括1個主節點(主站)和5個從節點(從站),每個從節點(從站)都與主節點(主站)交換n個輸入字節和n個輸出字節。
DP以太網采用10Base-T以太網標準,通信速率為10Mbit/s;PROFIBUS-DP總線采用其支持的最高通信速率12Mbit/s,根據式(7)和式(9),可以得到DP以太網和PROFIBUS-DP總線的報文循環時間如圖5所示。
圖5 報文循環時間對比
從圖5可以看出,在站點分布相同的條件下,PROFIBUS-DP總線的報文循環時間開始較小,但隨著交換的字節數目的增加,報文循環時間迅速增加,當交換的字節數大于40的時候,PROFIBUS-DP總線的報文循環時間就超過了DP以太網,而且隨著交換字節數目的進一步增加,兩者之間的差距逐漸增大。
實際上,PROFIBUS-DP總線的通信只能在短距離內(100m范圍內)達到12Mbit/s,一般情況下其通信速率要遠比DP以太網的通信速率低。當選擇網絡的段長度為500m時,PROFIBUS-DP總線的通信速率只有187.5Kbit/s,而DP以太網的通信速率可以達到幾十兆比特/秒,此時即使交換的字節數很少,PROFIBUS-DP總線的報文循環時間也將大于DP以太網。
3.2 DP以太網報文編碼效率分析
報文編碼效率是考察協議性能的另外一個重要方面。協議的報文編碼效率通過計算傳輸的有用數據的位數占執行該傳輸服務時總共需傳輸的數據位數的百分比得到。其值可以由下式計算:
(6)
其中,Ndata表示有用數據所占的位數;Nframe表示協議數據幀的位數。
仍假定網絡中只包括1個主節點(主站)和5個從節點(從站),在每次報文循環中每個從節點(從站)都與主節點(主站)交換n個輸入字節和n個輸出字節。根據DP以太網的數據幀格式,當n的值小于42時,需要在Pad域中填充相應數目的字節以滿足最短幀長度要求;當n的值大于42時,則無需填充無用字節。經討論,可得:
(7)
對于PROFIBUS-DP協議,當總線上只有周期性的數據傳輸時,其報文編碼效率為:
(8)
根據式(7)和式(8),DP以太網和PROFIBUS-DP兩種協議的報文編碼效率如圖6所示。
圖6 報文編碼效率對比
分析圖6可知,在站點分布相同的前提下,當網絡負荷較輕時,PROFIBUS-DP總線的報文編碼效率高于DP以太網,這是由于PROFIBUS-DP報文的報頭較短的原因;隨著交換的字節數目的增加,PROFIBUS-DP協議的報文編碼效率逐漸趨于一定值0.72,這是由于PROFIBUS-DP協議的物理層采用11位來傳輸一個字節的緣故;另一方面,隨著交換字節數目的增加,DP以太網協議的報文編碼效率迅速增加,當交換的字節數大于43字節后,DP以太網協議的報文編碼效率將超過PROFIBUS-DP協議。
4 結束語
本文通過構造一種新型的傳輸控制協議DP以太網設法實現對PROFIBUS-DP協議的優化。通過對比分析DP以太網和PROFIBUS-DP總線的報文循環時間和報文編碼效率,得到了如下結論:在站點分布和交換的字節數相同的前提下,當網絡負荷較重時,DP以太網具有較小的報文循環時間和較高的報文編碼效率,而且隨著網絡負荷的加重,DP以太網的優勢體現得越明顯;在網絡負荷較輕時,DP以太網的性能與PROFIBUS-DP總線相差不大。因此在現場控制網絡中用DP以太網協議替代原有的PROFIBUS-DP協議將具有兩大優點:一是基于PROFIBUS-DP上層協議的各種應用進程可以繼續運行;二是由于在現場總線控制網絡中引入了與信息網絡相同的以太網通信技術,因此能夠方便地實現現場控制網絡與信息網絡之間的信息交互。此外,可以利用DP以太網剩余的帶寬執行一些非周期通信任務,這是相對于PROFIBUS-DP協議(DP-V0版本)僅支持循環的周期通信的一大優點。
參考文獻
[1] Deutsches Institut fur Normung. PROFIBUS-DP Standard [S]. Translation of the German National Standard DIN 19245 part 3, Beuth Verlag GmbH, Germany, 1996.
[2] IEEE Std 802.3, 2000 Edition, Part 3: Carrier Sense Multiple Access with Collision Detection [CSMA/CD] Access Method and Physical Layer Specifications [S]. ISO/IEC8802-3:2000 (E), 2000.
[3] Kapsalis V D, Koubias S A, Papadopou G D. Implementation of a MAC-layer protocol (GIT-CSMA/CD) for industry LANs and its experimental performance [J]. IEEE Transaction on Industrial Electronics, 1997, 44(6): 824-839.
[4] S.Vitturi. The effects of acyclic traffic on Profibus DP networks [J]. Computer Standards & Interfaces, 2004(26): 131-144.
作者信息:
胥 軍,李剛炎 (武漢理工大學 機電工程學院過程控制系,湖北 武漢430070)