(機械工業儀器儀表綜合技術經濟研究所,北京 100055)
工業通信是現代自動化的關鍵技術,在制造和生產過程中用于控制和監視機器與系統,連接生產島、集成鄰近的任務(邏輯、質保與系統維護)。工業通信技術主要包括現場總線、工業以太網和工業無線技術。傳統現場總線應用領域正越來越多地應用了工業以太網。以太網和基于IP的通信是實現工業控制系統高速互聯的驅動力,工廠自動化通過該技術實現以更短的時間、更低的成本生產更好的產品。這也是以太網在工業環境中得以進一步發展的原因。在工業4.0、工業物聯網以及大數據的時代,工業以太網通信具有更大的重要性。
為什么選用PROFINET?PROFINET集成有標準以太網通信通道,是100%的以太網技術,在標準化、集成、易于使用、信息安全以及降低成本方面具有優勢。
PROFINET技術近年來正在高速發展,PI(PROFIBUS & PROFINET國際組織)也不斷根據市場需求進行性能優化和擴展。下面將對這些內容進行介紹,同時,給出關鍵通信性能參數的關系與使用時的注意事項,以及設備制造商關心的認證測試條件及認證中的常見問題。
PROFINET技術在PROFIBUS DP應用領域正逐步將其取代,PROFINET在工廠自動化行業為用戶帶來了諸多益處。現在,過程自動化中也有了PROFINET用戶需求。但是,過程相關的系統通常結構復雜、車間(工廠)物理空間分布廣、十幾至幾十年的生命周期;而且,過程自動化一般是連續生產過程,中斷或干擾會造成對人員或環境的傷害,非計劃停止運行也會造成巨大的經濟損失。
因此,過程自動化對工業通信技術有如下要求:
1)安裝技術及現場設備易于掌握;
2)應用在危險區域,包括本質安全等;
3)長導線傳輸;
4)靈活的拓撲設計;
5)連接技術具有魯棒性;
6)關鍵部件冗余;
7)設備易于替換;
8)車間運行期間無擾組態。
針對上述過程自動化對工業通信技術的要求,PROFINET在現有通信性能基礎上增加如下性能:
1)Proxy(代理)技術,解決不同通信技術在PROFINET網絡中的集成問題,可實現投資保護,易于實現在原有技術基礎上的升級改造;
2)系統冗余(System Redundancy),解決過程自動化高可靠性的要求;
3)運行中組態(CiR,Configuration in Run),解決車間運行期間的無擾動組態要求;
4)Sequence of Events,用于將動作、報警、狀態報文等記錄為事件序列,基于IEEE 1588協議,提供高精度時戳的原因分析;
上述新增特性結合PROFINET已有的適用于PA行業要求的通信性能:設備無擾替換、符合NAMUR(德國化工協會)NE107的診斷模型、媒體冗余(MRP),PROFINET技術已具備在過程自動化中推廣應用的基本條件。
眾所周知,PROFIBUS協議分為PROFIBUS DP和PROFIBUS PA,DP用于離散制造行業,PA用于過程自動化,當前可用的PA行規版本為3.02,基于PROFIBUS通信協議。為滿足PROFINET技術在流程自動化中的應用需求,PI研制了也可適用于PROFINET通信的PA行規4.0版本,該行規既可基于PROFIBUS也可基于PROFINET。PA 4.0行規新增了制造商和用戶的要求及專家經驗,這些新增內容獨立于物理層和協議。
新增的關鍵特性主要包括:
1)工程化、安裝、調試與設備替換過程統一,且更容易;
2)現場設備在控制系統中的組態與制造商獨立;
3)傳輸大量數據,不僅包含數據和關鍵字還包含語義;
4)測量值的單位在現場設備與控制系統間同步。
PROFINET最初應用的版本為2.2,后根據用戶需求改善了性能,推出PROFINET V2.3,并停止了2.2版本的認證測試。與V2.2相比,新增如下三項性能優化措施
1)快速轉發(Fast Forwarding,FF);
2)動態幀打包(Dynamic Frame Packaging,DFP);
3)分段(Fragmentation)
以上這些PROFINET性能優化措施均基于IRT(同步)通信,同時結合了拓撲的知識。
IRT通信屬于RT_CLASS_3,不包含VLAN TAG,幀結構如圖1所示。

圖1 RT_CLASS_3幀結構
為了明確標識一個幀,交換機必須評估幀頭中的尋址信息(DA和Frame_ID)。網絡中的交換機要轉發一個幀需要的額外時間包括bridge delay和line delay。Bridge delay指交換機探測到frame_ID所需的時間,對于標準IRT幀,交換機需等待24字節。通過將Frame_ID移入DA的前兩個字節,可將bridge delay縮短為10個字節,優化后的幀結構如圖2所示。

圖2 優化的RT_CLASS_3幀結構1
優化后,目的MAC地址前兩個字節結構為如圖3所示,PROFINET為FF幀定義了特定的Frame_ID(14比特):

圖3 優化后的目的MAC地址前2字節
第二個優化措施是降低line delay,僅在“PortRxDelay”和“PortTxDelay”(即通過switch的時間)可以減低時才可實現,取決于所用的MAU類型??刹捎镁哂休^短Preamble的PHY實現優化,將8字節的Preamble縮短為2字節,line delay優化后的幀結構如圖4所示。

圖4 優化的RT_CLASS_3幀結構2
通過上述兩項優化,bridge delay可從24字節縮短為4字節,從而實現IRT幀以更快速度的轉發。
要實現動態幀打包功能,需要三個前提條件:
1)控制器知道拓撲結構;
2)系統支持IRT通信;
3)支持快速轉發。
動態幀打包的基本原理是定義一個DFP的域,所有設備的輸出在一個輸出幀中傳輸,所有設備的輸入在一個輸入幀中傳輸,這樣可優化對可用帶寬的利用。
根據系統拓撲,控制器按照順序將(輸出)數據放在數據幀中,每個相關的設備從中取出自己的數據,并更新幀的FCS和數據長度,當拓撲中最后一個設備取完輸出數據后,各設備以相反的順序將自己的輸入數據逐一放入幀中,更新幀頭以及FCS,最后形成一個包含所有設備輸入數據的數據幀給控制器,數據流向圖如圖5所示。相較于每個設備的數據獨自形成一個幀,節省了幀頭與幀尾等開銷,從而節省了帶寬。

圖5 DFP數據流向圖
DFP還有另外一種形式,即控制器與設備間的輸出幀不沿著網絡逐步縮短,各設備的子幀形成的數據幀到達每個設備時相同,這種模式適用于控制器與proxy間。
還有一個縮短總線周期的改進方法。在要求總線周期小于250us的自動化系統中,如果沒有附加措施來傳輸IRT幀、報警和非循環服務,則很難保證到達這樣的總線周期。原因是最大長度的UDP/IP幀需要占用可用帶寬中的125us。因此,為防止循環實時通信受影響,有必要將TCP/UDP IP數據包分包,將分包后的數據在1到n個周期中傳輸。
分段的基本原則,一方面,所分的段應足夠大,以充分利用可用帶寬;另一方面,產生的分段應足夠小,以在開放間隔中傳輸完畢。
在PROFINET設備的GSDML中有幾個關鍵字與響應時間密切相關:MinDeviceInterval,Reduction Ratio,SendClock(對應PROFINET規范中的SendClock Factor)。
MinDeviceInterval表示設備能夠提供新數據的時間性能,該時間值計算公式如下:
MinDeviceInterval = SendClockFactor×31.25μs
其中31.25μs為PROFINET的基本時基。
對于RT_Class_1的一致性類A和B設備,MinDeviceInterval最大允許值為128ms。對于一致性類C類設備,MinDeviceInterval值不超過1ms。
Reduction Ratio,表示在一個Send Cycle中發送和接收數據的頻率。Send Cycle與Reduction Ratio的關系如下:
Send Cycle =31.25μs×SendClockFactor×ReductionRatio
上述是理論上的對應關系,Send Cycle的值的最終確定,與PROFINET子網中所連接的其他設備相關,大小取決于更新數據(對應工程工具中的update time)最慢的設備,該值可由工程工具自動計算。
而每個設備的update time可能不同,單個設備的update time(Ta)值計算公式如下:
Ta= ReductionRatio×SendClockFactor×31.25μs
用戶對于update time值的選擇需進行多方考慮。如果選用較小的update time值,則數據更新間隔也更短,因此能以更快的速度提供數據用以處理。但是,一定時間內網絡中傳輸的數據量較多,也會造成更大的網絡負載。當周期實時通信網絡負載增加時,其他通信可用帶寬下降。
update time越小,周期實時通信占用帶寬越大;update time越大,響應時間越長。因此,建議在符合應用對響應時間的要求下,應盡量選擇較大的update time。
PI會員可以免費下載測試包,包含了測試軟件、測試配置文檔、測試案例判定幫助文檔以及部分測試案例實現文檔,全套文件與認證測試實驗室完全相同。測試包中推薦了測試輔助設備,包括控制器、交換機、PN IO設備、智能插排等,如果全部購買需投入較多的資金。對于最多見的兩端口設備來說,一個支持IRT的交換機和支持IRT的PN IO設備,即可滿足多數測試案例的基本測試要求。
下面介紹一下PROFINET認證測試中的常見問題:
PROFINET設備的MAC地址來源不合法,全球的以太網設備MAC地址統一由IEEE管理,制造商不能隨意編寫設備的MAC地址。
UDP_SrcPort超出范圍。對于UDP/IP通信,PROFINETIOServiceReqPDU和PROFINETIOServiceResPDU所用的UDP_SrcPort以及UDP_DstPort有效范圍為0xC000-0xFFFF。
錯誤碼使用不符合規范。在通信的請求和響應中,如果有負響應,則響應須按照PROFINET協議中PNIOStatus規定的各錯誤碼對應的含義,規范使用錯誤碼,涉及到的代碼主要有ErrorCode、ErrorDecode、ErrorCode1和ErrorCode2。
PROFINET認證測試是一個強制性要求。進行PROFINET認證測試的基本前提條件是具有PI分配的制造商ID以及來自IEEE的合法MAC地址。為了推廣PROFINET技術,PI為會員免費提供了強大的測試資源,這是跟現場總線時代一個最大的不同,PROFINET設備制造商應充分利用這樣的便利條件,可在開發過程中進行同步測試以排除問題,以縮短產品的開發周期與將來的認證過程。
[1]PI White Paper: PROFINET – The Solution Platform for Process Automation[Z].June 2015.
[2]Industrial communication with PROFINET,Manfred Popp,PNO Order No:4.181[Z].