<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > openSAFETY基礎(chǔ)引導(dǎo)(一)

          openSAFETY基礎(chǔ)引導(dǎo)(一)

          作者: 時間:2016-12-16 來源:網(wǎng)絡(luò) 收藏

          對機(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)。


          上一頁 1 2 3 下一頁

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();