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

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于串口實現(xiàn)LabVIEW與PLC的無線通信

          基于串口實現(xiàn)LabVIEW與PLC的無線通信

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


          3.2 LabVIEW 與PLC 的串口通信

          利用串口實現(xiàn) LabVIEW 與PLC 之間通信的常用方法一般有兩種,第一種方法是利用VISA 進(jìn)行串口通信。VISA 是應(yīng)用于儀器編程的標(biāo)準(zhǔn)I/O 應(yīng)用程序接口,它本身并不具有儀器編程能力,VISA 是調(diào)用底層驅(qū)動器的高層API。第二種方法是利用標(biāo)準(zhǔn)串口通信函數(shù)進(jìn)行串口通信。LabVIEW 中提供了幾個標(biāo)準(zhǔn)的串口通信函數(shù),包括串口初始化函數(shù)、數(shù)據(jù)寫入串口函數(shù)、從串口讀出數(shù)據(jù)函數(shù)以及關(guān)閉端口函數(shù)等。這兩種方法雖然都可是實現(xiàn)LabVIEW 與PLC 的串口通信,但是前提是程序設(shè)計人員必須充分熟悉串口通信的工作原理及LabVIEW 的程序編寫,并且還需要設(shè)置相關(guān)的參數(shù)以及出錯處理等,保證串口通信正常進(jìn)行,程序編制過程相對比較復(fù)雜。

          實際上,LabVIEW 本身就帶有“Instrument I/O Assistant”,這個I/O 助手可幫助程序設(shè)計人員輕松完成串口通信相關(guān)參數(shù)的設(shè)置,并實現(xiàn)與相關(guān)設(shè)備的串口通信。下面就以LabVIEW 與PLC 的串口通信為例說明如何利用I/O 助手實現(xiàn)串口通信。

          I/O 助手可以選擇不同的設(shè)備端口,設(shè)定延遲時間以及定義接收和發(fā)送時結(jié)尾字符。由于LabVIEW 與PLC 的串口通信是應(yīng)答式的,并且設(shè)計中以LabVIEW 為主動,PLC 為被動,所以在“Select Instrument”中要先選擇加入“Write”,并將其輸入的字符串命名為input,用以存放給串口的寫入命令,來對PLC 進(jìn)行讀或?qū)?,然后選擇加入“Read and Parse”,并將其輸出的字符串命名為output,用以存放串口中的返回數(shù)據(jù)。設(shè)置好的設(shè)置界面如圖2 所示。



          松下公司的 PLC 串口通信格式是采用MEWTOCOL 協(xié)議,所以還要根據(jù)其協(xié)議格式來組織輸入的命令字符串以及分解串口返回的字符串。以向PLC 中寫數(shù)據(jù)為例,如果要向PLC的DT600 到DT603 四個數(shù)據(jù)單元中分別寫入數(shù)據(jù)100、200、300、400,則輸入字符串,即控制命令字符串應(yīng)為“%01#WD00600006036400C8002C019001CR”,其中CR 為校驗碼,控制命令字符串中的4 個數(shù)據(jù)項應(yīng)當(dāng)都為16 進(jìn)制數(shù)據(jù)。命令字符串的組成可以通過LabVIEW提供的相關(guān)函數(shù)來完成,如圖3 所示。



          關(guān)鍵詞: 收發(fā)器

          評論


          相關(guān)推薦

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