(機(jī)械工業(yè)儀器儀表綜合技術(shù)經(jīng)濟(jì)研究所,北京 100055)
工業(yè)通信是現(xiàn)代自動化的關(guān)鍵技術(shù),在制造和生產(chǎn)過程中用于控制和監(jiān)視機(jī)器與系統(tǒng),連接生產(chǎn)島、集成鄰近的任務(wù)(邏輯、質(zhì)保與系統(tǒng)維護(hù))。工業(yè)通信技術(shù)主要包括現(xiàn)場總線、工業(yè)以太網(wǎng)和工業(yè)無線技術(shù)。傳統(tǒng)現(xiàn)場總線應(yīng)用領(lǐng)域正越來越多地應(yīng)用了工業(yè)以太網(wǎng)。以太網(wǎng)和基于IP的通信是實(shí)現(xiàn)工業(yè)控制系統(tǒng)高速互聯(lián)的驅(qū)動力,工廠自動化通過該技術(shù)實(shí)現(xiàn)以更短的時(shí)間、更低的成本生產(chǎn)更好的產(chǎn)品。這也是以太網(wǎng)在工業(yè)環(huán)境中得以進(jìn)一步發(fā)展的原因。在工業(yè)4.0、工業(yè)物聯(lián)網(wǎng)以及大數(shù)據(jù)的時(shí)代,工業(yè)以太網(wǎng)通信具有更大的重要性。
為什么選用PROFINET?PROFINET集成有標(biāo)準(zhǔn)以太網(wǎng)通信通道,是100%的以太網(wǎng)技術(shù),在標(biāo)準(zhǔn)化、集成、易于使用、信息安全以及降低成本方面具有優(yōu)勢。
PROFINET技術(shù)近年來正在高速發(fā)展,PI(PROFIBUS & PROFINET國際組織)也不斷根據(jù)市場需求進(jìn)行性能優(yōu)化和擴(kuò)展。下面將對這些內(nèi)容進(jìn)行介紹,同時(shí),給出關(guān)鍵通信性能參數(shù)的關(guān)系與使用時(shí)的注意事項(xiàng),以及設(shè)備制造商關(guān)心的認(rèn)證測試條件及認(rèn)證中的常見問題。
PROFINET技術(shù)在PROFIBUS DP應(yīng)用領(lǐng)域正逐步將其取代,PROFINET在工廠自動化行業(yè)為用戶帶來了諸多益處。現(xiàn)在,過程自動化中也有了PROFINET用戶需求。但是,過程相關(guān)的系統(tǒng)通常結(jié)構(gòu)復(fù)雜、車間(工廠)物理空間分布廣、十幾至幾十年的生命周期;而且,過程自動化一般是連續(xù)生產(chǎn)過程,中斷或干擾會造成對人員或環(huán)境的傷害,非計(jì)劃停止運(yùn)行也會造成巨大的經(jīng)濟(jì)損失。
因此,過程自動化對工業(yè)通信技術(shù)有如下要求:
1)安裝技術(shù)及現(xiàn)場設(shè)備易于掌握;
2)應(yīng)用在危險(xiǎn)區(qū)域,包括本質(zhì)安全等;
3)長導(dǎo)線傳輸;
4)靈活的拓?fù)湓O(shè)計(jì);
5)連接技術(shù)具有魯棒性;
6)關(guān)鍵部件冗余;
7)設(shè)備易于替換;
8)車間運(yùn)行期間無擾組態(tài)。
針對上述過程自動化對工業(yè)通信技術(shù)的要求,PROFINET在現(xiàn)有通信性能基礎(chǔ)上增加如下性能:
1)Proxy(代理)技術(shù),解決不同通信技術(shù)在PROFINET網(wǎng)絡(luò)中的集成問題,可實(shí)現(xiàn)投資保護(hù),易于實(shí)現(xiàn)在原有技術(shù)基礎(chǔ)上的升級改造;
2)系統(tǒng)冗余(System Redundancy),解決過程自動化高可靠性的要求;
3)運(yùn)行中組態(tài)(CiR,Configuration in Run),解決車間運(yùn)行期間的無擾動組態(tài)要求;
4)Sequence of Events,用于將動作、報(bào)警、狀態(tài)報(bào)文等記錄為事件序列,基于IEEE 1588協(xié)議,提供高精度時(shí)戳的原因分析;
上述新增特性結(jié)合PROFINET已有的適用于PA行業(yè)要求的通信性能:設(shè)備無擾替換、符合NAMUR(德國化工協(xié)會)NE107的診斷模型、媒體冗余(MRP),PROFINET技術(shù)已具備在過程自動化中推廣應(yīng)用的基本條件。
眾所周知,PROFIBUS協(xié)議分為PROFIBUS DP和PROFIBUS PA,DP用于離散制造行業(yè),PA用于過程自動化,當(dāng)前可用的PA行規(guī)版本為3.02,基于PROFIBUS通信協(xié)議。為滿足PROFINET技術(shù)在流程自動化中的應(yīng)用需求,PI研制了也可適用于PROFINET通信的PA行規(guī)4.0版本,該行規(guī)既可基于PROFIBUS也可基于PROFINET。PA 4.0行規(guī)新增了制造商和用戶的要求及專家經(jīng)驗(yàn),這些新增內(nèi)容獨(dú)立于物理層和協(xié)議。
新增的關(guān)鍵特性主要包括:
1)工程化、安裝、調(diào)試與設(shè)備替換過程統(tǒng)一,且更容易;
2)現(xiàn)場設(shè)備在控制系統(tǒng)中的組態(tài)與制造商獨(dú)立;
3)傳輸大量數(shù)據(jù),不僅包含數(shù)據(jù)和關(guān)鍵字還包含語義;
4)測量值的單位在現(xiàn)場設(shè)備與控制系統(tǒng)間同步。
PROFINET最初應(yīng)用的版本為2.2,后根據(jù)用戶需求改善了性能,推出PROFINET V2.3,并停止了2.2版本的認(rèn)證測試。與V2.2相比,新增如下三項(xiàng)性能優(yōu)化措施
1)快速轉(zhuǎn)發(fā)(Fast Forwarding,F(xiàn)F);
2)動態(tài)幀打包(Dynamic Frame Packaging,DFP);
3)分段(Fragmentation)
以上這些PROFINET性能優(yōu)化措施均基于IRT(同步)通信,同時(shí)結(jié)合了拓?fù)涞闹R。
IRT通信屬于RT_CLASS_3,不包含VLAN TAG,幀結(jié)構(gòu)如圖1所示。
圖1 RT_CLASS_3幀結(jié)構(gòu)
為了明確標(biāo)識一個(gè)幀,交換機(jī)必須評估幀頭中的尋址信息(DA和Frame_ID)。網(wǎng)絡(luò)中的交換機(jī)要轉(zhuǎn)發(fā)一個(gè)幀需要的額外時(shí)間包括bridge delay和line delay。Bridge delay指交換機(jī)探測到frame_ID所需的時(shí)間,對于標(biāo)準(zhǔn)IRT幀,交換機(jī)需等待24字節(jié)。通過將Frame_ID移入DA的前兩個(gè)字節(jié),可將bridge delay縮短為10個(gè)字節(jié),優(yōu)化后的幀結(jié)構(gòu)如圖2所示。
圖2 優(yōu)化的RT_CLASS_3幀結(jié)構(gòu)1
優(yōu)化后,目的MAC地址前兩個(gè)字節(jié)結(jié)構(gòu)為如圖3所示,PROFINET為FF幀定義了特定的Frame_ID(14比特):
圖3 優(yōu)化后的目的MAC地址前2字節(jié)
第二個(gè)優(yōu)化措施是降低line delay,僅在“PortRxDelay”和“PortTxDelay”(即通過switch的時(shí)間)可以減低時(shí)才可實(shí)現(xiàn),取決于所用的MAU類型??刹捎镁哂休^短Preamble的PHY實(shí)現(xiàn)優(yōu)化,將8字節(jié)的Preamble縮短為2字節(jié),line delay優(yōu)化后的幀結(jié)構(gòu)如圖4所示。
圖4 優(yōu)化的RT_CLASS_3幀結(jié)構(gòu)2
通過上述兩項(xiàng)優(yōu)化,bridge delay可從24字節(jié)縮短為4字節(jié),從而實(shí)現(xiàn)IRT幀以更快速度的轉(zhuǎn)發(fā)。
要實(shí)現(xiàn)動態(tài)幀打包功能,需要三個(gè)前提條件:
1)控制器知道拓?fù)浣Y(jié)構(gòu);
2)系統(tǒng)支持IRT通信;
3)支持快速轉(zhuǎn)發(fā)。
動態(tài)幀打包的基本原理是定義一個(gè)DFP的域,所有設(shè)備的輸出在一個(gè)輸出幀中傳輸,所有設(shè)備的輸入在一個(gè)輸入幀中傳輸,這樣可優(yōu)化對可用帶寬的利用。
根據(jù)系統(tǒng)拓?fù)?,控制器按照順序?qū)ⅲㄝ敵觯?shù)據(jù)放在數(shù)據(jù)幀中,每個(gè)相關(guān)的設(shè)備從中取出自己的數(shù)據(jù),并更新幀的FCS和數(shù)據(jù)長度,當(dāng)拓?fù)渲凶詈笠粋€(gè)設(shè)備取完輸出數(shù)據(jù)后,各設(shè)備以相反的順序?qū)⒆约旱妮斎霐?shù)據(jù)逐一放入幀中,更新幀頭以及FCS,最后形成一個(gè)包含所有設(shè)備輸入數(shù)據(jù)的數(shù)據(jù)幀給控制器,數(shù)據(jù)流向圖如圖5所示。相較于每個(gè)設(shè)備的數(shù)據(jù)獨(dú)自形成一個(gè)幀,節(jié)省了幀頭與幀尾等開銷,從而節(jié)省了帶寬。
圖5 DFP數(shù)據(jù)流向圖
DFP還有另外一種形式,即控制器與設(shè)備間的輸出幀不沿著網(wǎng)絡(luò)逐步縮短,各設(shè)備的子幀形成的數(shù)據(jù)幀到達(dá)每個(gè)設(shè)備時(shí)相同,這種模式適用于控制器與proxy間。
還有一個(gè)縮短總線周期的改進(jìn)方法。在要求總線周期小于250us的自動化系統(tǒng)中,如果沒有附加措施來傳輸IRT幀、報(bào)警和非循環(huán)服務(wù),則很難保證到達(dá)這樣的總線周期。原因是最大長度的UDP/IP幀需要占用可用帶寬中的125us。因此,為防止循環(huán)實(shí)時(shí)通信受影響,有必要將TCP/UDP IP數(shù)據(jù)包分包,將分包后的數(shù)據(jù)在1到n個(gè)周期中傳輸。
分段的基本原則,一方面,所分的段應(yīng)足夠大,以充分利用可用帶寬;另一方面,產(chǎn)生的分段應(yīng)足夠小,以在開放間隔中傳輸完畢。
在PROFINET設(shè)備的GSDML中有幾個(gè)關(guān)鍵字與響應(yīng)時(shí)間密切相關(guān):MinDeviceInterval,Reduction Ratio,SendClock(對應(yīng)PROFINET規(guī)范中的SendClock Factor)。
MinDeviceInterval表示設(shè)備能夠提供新數(shù)據(jù)的時(shí)間性能,該時(shí)間值計(jì)算公式如下:
MinDeviceInterval = SendClockFactor×31.25μs
其中31.25μs為PROFINET的基本時(shí)基。
對于RT_Class_1的一致性類A和B設(shè)備,MinDeviceInterval最大允許值為128ms。對于一致性類C類設(shè)備,MinDeviceInterval值不超過1ms。
Reduction Ratio,表示在一個(gè)Send Cycle中發(fā)送和接收數(shù)據(jù)的頻率。Send Cycle與Reduction Ratio的關(guān)系如下:
Send Cycle =31.25μs×SendClockFactor×ReductionRatio
上述是理論上的對應(yīng)關(guān)系,Send Cycle的值的最終確定,與PROFINET子網(wǎng)中所連接的其他設(shè)備相關(guān),大小取決于更新數(shù)據(jù)(對應(yīng)工程工具中的update time)最慢的設(shè)備,該值可由工程工具自動計(jì)算。
而每個(gè)設(shè)備的update time可能不同,單個(gè)設(shè)備的update time(Ta)值計(jì)算公式如下:
Ta= ReductionRatio×SendClockFactor×31.25μs
用戶對于update time值的選擇需進(jìn)行多方考慮。如果選用較小的update time值,則數(shù)據(jù)更新間隔也更短,因此能以更快的速度提供數(shù)據(jù)用以處理。但是,一定時(shí)間內(nèi)網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量較多,也會造成更大的網(wǎng)絡(luò)負(fù)載。當(dāng)周期實(shí)時(shí)通信網(wǎng)絡(luò)負(fù)載增加時(shí),其他通信可用帶寬下降。
update time越小,周期實(shí)時(shí)通信占用帶寬越大;update time越大,響應(yīng)時(shí)間越長。因此,建議在符合應(yīng)用對響應(yīng)時(shí)間的要求下,應(yīng)盡量選擇較大的update time。
PI會員可以免費(fèi)下載測試包,包含了測試軟件、測試配置文檔、測試案例判定幫助文檔以及部分測試案例實(shí)現(xiàn)文檔,全套文件與認(rèn)證測試實(shí)驗(yàn)室完全相同。測試包中推薦了測試輔助設(shè)備,包括控制器、交換機(jī)、PN IO設(shè)備、智能插排等,如果全部購買需投入較多的資金。對于最多見的兩端口設(shè)備來說,一個(gè)支持IRT的交換機(jī)和支持IRT的PN IO設(shè)備,即可滿足多數(shù)測試案例的基本測試要求。
下面介紹一下PROFINET認(rèn)證測試中的常見問題:
PROFINET設(shè)備的MAC地址來源不合法,全球的以太網(wǎng)設(shè)備MAC地址統(tǒng)一由IEEE管理,制造商不能隨意編寫設(shè)備的MAC地址。
UDP_SrcPort超出范圍。對于UDP/IP通信,PROFINETIOServiceReqPDU和PROFINETIOServiceResPDU所用的UDP_SrcPort以及UDP_DstPort有效范圍為0xC000-0xFFFF。
錯(cuò)誤碼使用不符合規(guī)范。在通信的請求和響應(yīng)中,如果有負(fù)響應(yīng),則響應(yīng)須按照PROFINET協(xié)議中PNIOStatus規(guī)定的各錯(cuò)誤碼對應(yīng)的含義,規(guī)范使用錯(cuò)誤碼,涉及到的代碼主要有ErrorCode、ErrorDecode、ErrorCode1和ErrorCode2。
PROFINET認(rèn)證測試是一個(gè)強(qiáng)制性要求。進(jìn)行PROFINET認(rèn)證測試的基本前提條件是具有PI分配的制造商ID以及來自IEEE的合法MAC地址。為了推廣PROFINET技術(shù),PI為會員免費(fèi)提供了強(qiáng)大的測試資源,這是跟現(xiàn)場總線時(shí)代一個(gè)最大的不同,PROFINET設(shè)備制造商應(yīng)充分利用這樣的便利條件,可在開發(fā)過程中進(jìn)行同步測試以排除問題,以縮短產(chǎn)品的開發(fā)周期與將來的認(rèn)證過程。
[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].