PROFIBUS故障安全通信技術(shù)探討
在復(fù)雜的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,發(fā)送報文會引發(fā)一系列的錯誤,如報文丟失、重復(fù)、添加、順序錯、延遲以及偽數(shù)據(jù),等等。在故障安全通信中還會出現(xiàn)尋址錯,即一個標(biāo)準(zhǔn)報文錯誤地出現(xiàn)在一個故障安全站點中,且被當(dāng)作故障安全報文輸出(Masquerade)。此外,傳輸速率的不同還可能對存儲器產(chǎn)生不良后果。 PROFIsafe采取以下措施來對付傳輸錯誤.
●故障安全報文按順序編號;?
●帶應(yīng)答的時間監(jiān)控;?
用密碼標(biāo)識發(fā)送器和接收器;?
●增設(shè)16/32位循環(huán)冗余校驗(CRC),以保證數(shù)據(jù)的安全。?
一臺接收器根據(jù)順序號可以判斷它是否收到按正確順序排列的全部報文。如果它將有順序號的“空”報文作為應(yīng)答送返發(fā)送器,則該接收器同樣是可信的。從原理上講,只要在其中設(shè)置一個“Toggle-Bit”也就足夠了,但PROFIsafe因其采用總線存儲元件(路由器)而選擇了一個0…255的計數(shù)器,其中 “0”為例外。
在故障安全技術(shù)中,一個報文僅僅傳輸正確的過程信號或數(shù)值是不夠的,重要的是這些數(shù)值必須在故障極限時間內(nèi)送達,才能使現(xiàn)場相關(guān)站點自動地作出安全響應(yīng)。為此,各站點均配備一個時間控制器,它在故障安全報文到達后即刻“復(fù)原”。
主站與從站之間1:1的關(guān)系易于辨別錯誤報文。兩者均設(shè)有網(wǎng)絡(luò)明確規(guī)定的標(biāo)志(密碼),以此即可核查某報文的真實性。
增設(shè)循環(huán)冗余校驗(CRC-Cyctic-Redundancy-Check)對報文錯誤數(shù)據(jù)位的識別具有重要作用。有關(guān)故障概率的研討可參閱 IEC61508,它對所有的故障安全功能均作了詳述。根據(jù)IEC61508,PROFIsafe是以一個或若干個故障安全功能的控制回路為考慮故障概率的出發(fā)點).
一個故障安全控制回路包括參與某個安全控制功能的全部傳感器、執(zhí)行器、傳輸元件和邏輯處理單元。在IEC61508中,針對不同的安全級別(Safety-Integrity-Levels)規(guī)定了故障總概率。例如,SIL3:10-7/h。PROFIsafe在傳輸過程中僅占其1%,即容 許的故障概率為10-9/h。根據(jù)IEC61508和EN50159-1,對于SIL3可應(yīng)用下式計算:?
RDP=RHW+REMI+RTC10-9/h (1)?
式中:RHW=Hardware_Failure?
REMI=EMI_Failure?
RTC=Transmissioncode_Failure?
由此可以建立與報文長度相關(guān)的CRC一多項式,以保證未經(jīng)發(fā)現(xiàn)的錯誤報文殘留錯誤率(Residual Error Rate)達到所要求的數(shù)量級。在 PROFIsafe中不使用PROFIBUS所依靠的幀-校驗-序列(FCS:Frame-Checking-Sequence)和奇偶校驗(Parity-Check)來識別基本錯誤。換句話說,基本機制下的故障揭示概率不受附加的PROFIsafe CRC-機制的影響。
當(dāng)位錯誤率很高時,即當(dāng)一個報文有許多位受到干擾時,殘留錯誤率難以確定。為避免任何不安全性,PROFIsafe使用了一種稱之為SIL-監(jiān)視器的方法),這種方法已經(jīng)獲得專利權(quán)。?
CRC-安全措施不僅循環(huán)地保證過程信號和數(shù)據(jù)的完整性,而且也保證在相關(guān)從站中存放的參數(shù),如標(biāo)志(密碼)、看門狗(Watch-Dog)時間等完整性。
五、F-報文結(jié)構(gòu)?
以上討論了PROFIsafe安全傳輸報文所使用的方法。下面介紹故障安全報文結(jié)構(gòu),即PROFIsafe在PROFIBUS通信上的具體映像。先來觀察PROFIBUS-DP報文結(jié)構(gòu)。?
在DP-幀結(jié)構(gòu)中,Data-Unit,PB(Parity-Bit)和FCS是人們關(guān)注的焦點。在系統(tǒng)組態(tài)/啟動階段,Slave(從站)通過GSD-設(shè)備基本數(shù)據(jù)文件將有效數(shù)據(jù)的格式通報DP-Master(主站)。在PROFIsafe中的情況雷同。
F-Host和F-Slave(F:Fail-safe,故障安全)在封閉的條件下彼此交換控制信息和狀態(tài)信息。當(dāng)一個F-Slave需要增加參數(shù),或者 F-Host要更改參數(shù)時,兩者之間就要交換信息。此外F-Slave可將出錯報文通知F-Host。為進行上述信息交換,PROFIsafe將 1Byte(狀態(tài)/控制字節(jié))設(shè)在有效數(shù)據(jù)左邊(圖10、11)。Status/Control Byte各個位所代表的狀態(tài)見。
另有1Byte用于順序號,該號由某報文的發(fā)送器登錄(源計數(shù)器),由接收器驗證且以應(yīng)答報文送返發(fā)送器。在一次循環(huán)操作中,計數(shù)器從1計數(shù)到255,0是為系統(tǒng)啟動而設(shè)定的。
如前所述,制造業(yè)和過程工業(yè)對一個安全系統(tǒng)的要求是不同的。前者必須以極快的速度處理(斷路)信號;后者則允許更多的時間處理過程數(shù)據(jù)。 PROFIsafe因此規(guī)定了兩種不同的有效數(shù)據(jù)長度,它們要求采取不同的CRC-安全措施。第一種有效長最多為12Bytes且有1個2Bytes- CRC2接于流水號之后;另一種有效長最多為122Bytes且有1個4Bytes-CRC2。?
剩余報文有效空間可為標(biāo)準(zhǔn)數(shù)據(jù)所用。當(dāng)系統(tǒng)設(shè)有通往其他安全總線的F-網(wǎng)關(guān)時(圖1),這種結(jié)構(gòu)使通信效率提高。
F報文順序號用于監(jiān)控發(fā)送器的生存期(life)和監(jiān)控鏈接接收器的通信區(qū)段。借助順序號和PROFIsafe應(yīng)答機制可對F-CPU〈-〉F-Output之間報文運行時間進行控制。
評論