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

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于PROFIBUS-DPFCS診斷軟件

          基于PROFIBUS-DPFCS診斷軟件

          作者: 時間:2010-07-01 來源:網絡 收藏

          PROFIBUS是工業(yè)自動化領域內市場占有率最高的一種現場總線技術,它包括用于制造業(yè)自動化的PROFIBUS-DP和用于流程工業(yè)領域的 PROFIBUS-PA,它是目前我國惟一的現場總線國家標準。隨著越來越多工業(yè)控制系統采用了PROFIBUS現場總線技術,對這些控制系統進行具體的、直觀的和實時的在線分析與診斷成為了最基本的要求,要想完成這樣的任務,就需要有相應的工程分析診斷工具。國內外目前所研究的這些總線性能分析診斷工程工具存在著功能不夠全面、界面不夠完善、價格昂貴、不適合中國國情等問題。開發(fā)一款能夠對總線系統進行分析和診斷,方便的、性能價格比高的分析診斷工程工具必將成為急需的產品。

          本文引用地址:http://www.ex-cimer.com/article/202532.htm

            由于在PRIFBUS傳輸報文可以反映出總線性能的很多參數,包括各種故障狀態(tài)。比如:從參數化報文可以看出主站和從站的關系,從站的操作方式,包括通道參數、功能設定、裝置參數和ID號等。從組態(tài)報文可以看出從站I/0類型及性質,以及模塊的I/O性質及數據類型等。從診斷報文可以看出從站各種參數設置錯誤,各種組態(tài)錯誤,以及裝置模塊錯誤類型。所以,本文作者就是在對PROFIBUS-DP報文進行詳盡分析的基礎上,采用VC++ 6.0開發(fā)了一款基于串口通訊的PROFIBUS性能分析診斷。

            1 PROFIBUS工作機理

            1.1 PROFIBUS-DP編碼技術

            PROFIBUS-DP交換數據使用異步傳輸技術和NRZ編碼。NRZ編碼的二進制信號“0”或“1”的信號電平在信號持續(xù)期間維持不變。圖1 所示為NRZ碼信號圖。

          非歸零碼信號

          圖1 非歸零碼信號

            每個數據鏈路層協議數據單元應由一定數量的字符組成,每個字符都是一個用于異步傳輸的起――停字符。

            每個字符由11個比特組成,包括1個總是為二進制“0”的起始比特(ST),8個可以是二進制數“0”亦可以是二進制數“1”的信息比特,1個可以是二進制“1”也可以是二進制數“0”的偶校驗比特(P),1個總是為二進制數“1”的停止比特,如圖2所示。

          單個字符格式

          圖2單個字符格式

            接收器的比特同步總是從起始比特的下降沿開始,也就是說,在從二進制“1”轉換到二進制數“0”時開始。在比特時間的中間應掃描起始比特和所有后繼的比特。在比特時間的中間,起始比特應是二進制數“0”,否則認為同步失敗并停止同步過程。以二進制“1”的停止比特來結束字符的同步,如果此時出現二進制數“0”來代替此停止比特,則應認為并報告一個同步差錯或字符差錯,并應等待下一個起始比特的前導沿。


          上一頁 1 2 3 下一頁

          關鍵詞: PROFIBUS-DPFCS 軟件

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();