openSAFETY基礎(chǔ)引導(dǎo)(一)
對機(jī)器生產(chǎn)商的好處
•可以自由選擇安全傳感器
•更快的響應(yīng)時間
•更少的安全距離
•更高的生產(chǎn)力
•簡便的開發(fā)和診斷
•機(jī)器指令輕松實(shí)施
三、openSAFETY原理
1. 原理
OpenSAFETY值得人們注意的是數(shù)據(jù)傳輸定義以及它提供的高層配置服務(wù)、尤其是對安全相關(guān)數(shù)據(jù)的封裝,使之成為靈活的報文格式。實(shí)際上,在所有應(yīng)用中,openSAFETY都使用統(tǒng)一格式的幀,無論是用于負(fù)載數(shù)據(jù)的傳輸,還是用于配置或時間同步信息。幀長度可變且經(jīng)濟(jì),主要還是取決于要傳輸?shù)臄?shù)據(jù)量。網(wǎng)絡(luò)上的安全節(jié)點(diǎn)自動識別其內(nèi)容,即不必配置幀類型和幀長度。
自動的安全參數(shù)分配
openSAFETY的亮點(diǎn)之一就是自動的安全參數(shù)分配:該協(xié)議可以進(jìn)行安全應(yīng)用的詳細(xì)配置信息的存儲,例如安全控制器中的光幕。如果一個設(shè)備要換下,安全控制器會自動并準(zhǔn)確無誤地將存儲的配置信息下載到換上的應(yīng)用中。即,當(dāng)用戶換掉下一個安全設(shè)備后,用戶無需手動配置新節(jié)點(diǎn)。
故障可靠檢測
openSAFETY通過校驗(yàn)和來檢查是否存在不完整的數(shù)據(jù)傳輸,以及對于數(shù)據(jù)傳輸率的常監(jiān)視。因?yàn)檠h(huán)時間是非常短的,錯誤幾乎沒有任何延遲便可檢測到。由于所有數(shù)據(jù)通信的一場都能被識別,甚至非安全網(wǎng)絡(luò)無法兼容安全向功能。
下圖指出可能會發(fā)生哪些錯誤,并解釋openSAFETY使用的用以便是和防止故障的機(jī)制。
該表列出錯誤已知傳輸錯誤和openSAFETY可用的故障識別機(jī)制。
2. 故障原因
數(shù)據(jù)傳輸錯誤中的很大比例是網(wǎng)關(guān)轉(zhuǎn)發(fā)時出的錯。假若兩個網(wǎng)絡(luò)之間有兩個網(wǎng)關(guān),傳輸了相同的數(shù)據(jù),那么數(shù)據(jù)重復(fù)便可能發(fā)生。另一方面,如果網(wǎng)關(guān)沒有轉(zhuǎn)發(fā)數(shù)據(jù),或者轉(zhuǎn)發(fā)到其他網(wǎng)絡(luò)上,那么數(shù)據(jù)包就丟失了。如果數(shù)據(jù)包可以根據(jù)長度需要,以一個部分包序列傳輸,那么因路徑不同、網(wǎng)關(guān)各式各樣,造成數(shù)據(jù)包的一些段的順序錯誤和混淆。網(wǎng)關(guān)的數(shù)據(jù)轉(zhuǎn)發(fā)也會因其負(fù)載過高而延遲。
另一個數(shù)據(jù)出錯源頭是電磁干擾。它可能導(dǎo)致數(shù)據(jù)位翻轉(zhuǎn),甚至破壞真?zhèn)€信息段。再者,在傳輸標(biāo)準(zhǔn)數(shù)據(jù)和安全數(shù)據(jù)的網(wǎng)絡(luò)上,還會出現(xiàn)“數(shù)據(jù)偽裝”(masquerades),即因錯序和混淆導(dǎo)致標(biāo)準(zhǔn)信息被錯當(dāng)成安全信息。這會造成嚴(yán)重故障。
3. 錯誤辨識和防止
OpenSAFETY的一項關(guān)鍵機(jī)制是時間戳,它可以防止數(shù)據(jù)重復(fù)、混淆和延遲。每個數(shù)據(jù)包都被標(biāo)記以當(dāng)前時間,使接收端可以避免讀重數(shù)據(jù),并判斷時序和延遲。
OpenSAFETY不依靠分布時鐘,而是通過一個特殊方法為所有節(jié)點(diǎn)進(jìn)行同步。同時采用時間監(jiān)視方式防止因數(shù)據(jù)丟失或過長延遲導(dǎo)致的錯誤,即實(shí)時、連續(xù)地監(jiān)視節(jié)點(diǎn)。
另外,從提示信息中用戶可以知道數(shù)據(jù)鏈路層的連接狀態(tài)。OpenSAFETY使用 “看門狗”這樣一種軟件上的機(jī)制。在接收端,標(biāo)識符可以排除一切混淆:OpenSAFETY幀有一個獨(dú)特的8位或16位ID標(biāo)識,包含地址域信息、報文類型和幀類型的信息。最可靠的辨明原始信息發(fā)生變化的方法是通過CRC。它通過一個key為每組數(shù)據(jù)生產(chǎn)校驗(yàn)和,連同key本身以位序列的形式加入數(shù)據(jù)組中。該校驗(yàn)和本身可以看作數(shù)據(jù)的一個獨(dú)特的編碼。通過位序列和key,接收端可以計算出原始數(shù)據(jù)組,并與實(shí)際接受到的數(shù)據(jù)比較。如果檢查出任何不同,該條信息就會被忽略。
4. OpenSAFETY的幀結(jié)構(gòu)
OpenSAFETY復(fù)制要傳輸?shù)膸?,然后將它們?lián)合為1個OpenSAFETY幀。因此,OpenSAFETY幀包含兩個有著相同內(nèi)容的子幀。
每個子幀都有一個獨(dú)立的校驗(yàn)和作為保障。接收端比較兩個子幀的內(nèi)容。這樣的兩個子幀中相同數(shù)據(jù)被改變或破壞的可能性是極低的,并且?guī)L度增加會讓它進(jìn)一步降低。假使發(fā)生最極端的特例,校驗(yàn)和也會起到糾正作用。OpenSAFETY的這種特殊格式,即兩個相同子幀、每個帶有獨(dú)自的校驗(yàn)和的形式,同樣使“偽裝”也不會出現(xiàn),排除偽裝的標(biāo)準(zhǔn)信息的可能性。
安全幀被包含在標(biāo)準(zhǔn)幀的負(fù)載數(shù)據(jù)域;它由兩個相同子幀組成,各自有校驗(yàn)和。
5. OpenSAFETY網(wǎng)絡(luò)
一個OpenSAFETY網(wǎng)絡(luò)可以包含多達(dá)1023個安全域,每個域又可以包含1023個節(jié)點(diǎn)或設(shè)備。
安全域可以跨越不同網(wǎng)絡(luò),并且可以將分散在不同網(wǎng)絡(luò)上的安全節(jié)點(diǎn)整合為一個域。安全和非安全誰被可以共處于一個域。通過網(wǎng)關(guān)可以使不同安全域之間的通信成為可能。通過OpenSAFETY,用戶可以強(qiáng)制按層級式劃分網(wǎng)絡(luò),也可以建立各自獨(dú)立的安全域。比如,可以建立這樣的網(wǎng)絡(luò):一個域內(nèi)實(shí)施安裝,而另一個域中的生產(chǎn)毫不受影響地進(jìn)行。每個域中,有一個安全配置管理器(SCM)負(fù)責(zé)連續(xù)監(jiān)視所有安全節(jié)點(diǎn)。
評論