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

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 基于虛擬儀器的CANopen協(xié)議監(jiān)控面板設計

          基于虛擬儀器的CANopen協(xié)議監(jiān)控面板設計

          作者: 時間:2012-09-26 來源:網(wǎng)絡 收藏
          -TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">4.2 數(shù)據(jù)發(fā)送/接收模塊程序設計

            數(shù)據(jù)發(fā)送模塊CANwrite.vi使用VISA Write節(jié)點予以實現(xiàn),并將該發(fā)送模塊作為子VI調(diào)用。在labview平臺控制的串行通信過程中,數(shù)據(jù)格式是以字符串的格式組成的,字符串中的每個字符實際上對應大家熟悉的ASCII字符,即計算機能夠識別的數(shù)據(jù)代碼是ASCII代碼,所以在傳送到串口發(fā)送數(shù)據(jù)之前要經(jīng)過代碼轉換,這就意味著以十進制、二進制、十六進制表示的數(shù)據(jù)必須轉化為ASCII字符串才能進行傳送和接收。數(shù)據(jù)發(fā)送模塊如圖5所示,其中,以0xAA作為握手信號

            c.JPG

            數(shù)據(jù)接收模塊CANRead.vi使用VISA Read節(jié)點讀取數(shù)據(jù),如圖6所示,從緩沖器接收到的數(shù)據(jù)是ASCII字符串,經(jīng)過ASCII字符串轉換為十六進制字節(jié)數(shù)組的模塊處理后,最終得到正確的數(shù)據(jù)。

            4.3

            使用labview開發(fā)的如圖7所示??梢钥吹?,左側為數(shù)據(jù)發(fā)送部分,首先設置NodeID,選擇主從節(jié)點類型,根據(jù)用戶需要選擇待發(fā)送的報文類型,并設置幀類型(數(shù)據(jù)幀/遠程幀)以及具體的發(fā)送數(shù)據(jù)。右側為數(shù)據(jù)接收部分,顯示從CAN總線上監(jiān)聽到的CANopen報文。

            d.JPG

            5 結語

            本文將技術與現(xiàn)場總線高層通信協(xié)議CANopen相結合,實現(xiàn)了現(xiàn)場總線上位機的開發(fā),為分布式網(wǎng)絡控制系統(tǒng)提供了高效、全面的監(jiān)控環(huán)境,不僅解決了工業(yè)現(xiàn)場不同設備同步監(jiān)控的問題,而且提供了較強的在線可控性。同時,利用labview提供的各類專業(yè)工具軟件包,可以進一步對工業(yè)數(shù)據(jù)進行處理,完成波形顯示、信號濾波和頻譜分析等功能。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(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); })();