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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 虛擬儀器在電機(jī)控制器開發(fā)中的應(yīng)用

          虛擬儀器在電機(jī)控制器開發(fā)中的應(yīng)用

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

          2.2 LabVIEW通信編程相關(guān)
          在LabVIEW中串口通信主要用到NI VISA編程,NI-VISA(Virtual Instrument Software Architecture)是美國國家NI(National In-strument)公司的一種用來與各種總線進(jìn)行通信的高級編程接口。VISA表示可視化軟件結(jié)構(gòu),從本質(zhì)上講,VISA是用于控制GPIB,串口或VXI儀器以及根據(jù)根據(jù)儀器類型進(jìn)行適當(dāng)調(diào)用的VI(類似于傳統(tǒng)語言的函數(shù)或子程序)庫。這里串口操作主要用到的4個節(jié)點見圖2,即串口的配置、串口寫、串口讀、串口關(guān)閉等。

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

          d.jpg



          3 LabVIEW程序設(shè)計
          上位機(jī)程序功能為:配置串口,選擇工作模式;發(fā)送PI參數(shù)或發(fā)送采集數(shù)據(jù)指令,讀取數(shù)據(jù),轉(zhuǎn)換并顯示。程序流程圖見圖3。

          c.jpg


          串口配置完成后可由生成的前面板設(shè)置串口通信參數(shù),打開串口時,要設(shè)定串口的屬性需要設(shè)置串行通信的波特率,數(shù)據(jù)位數(shù),奇偶校驗和停止位的個數(shù)。正確打開串口后,就可以獲得一個VISA資源連接,將這個連接接到VISA串口讀/寫VI節(jié)點,就可以實現(xiàn)對計算機(jī)串口的讀/寫。串口前面板效果如圖4所示。用事件結(jié)構(gòu)可進(jìn)行工作模式的設(shè)定判定。當(dāng)模式按鈕為TRUE時工作于數(shù)據(jù)采集模式,為FALSE時則工作于PI參數(shù)設(shè)置模式;當(dāng)工作于數(shù)據(jù)采集模式時完成字符1,2,3,4依次寫入VISA字符串寫節(jié)點。循環(huán)結(jié)構(gòu)中同樣套用了事件結(jié)構(gòu),相關(guān)程序如圖5所示。

          e.jpg


          當(dāng)工作于PI參數(shù)設(shè)定模式時完成PI參數(shù)的發(fā)送,程序中主要用到了字符串轉(zhuǎn)換節(jié)點和字符串連接節(jié)點,工作程序如圖6所示。為了能直觀地顯示檢測數(shù)據(jù),前面板采用表盤形式顯示,同時為了方便后邊的Graph方式的顯示,將讀回的數(shù)據(jù)轉(zhuǎn)換并設(shè)置成局部變量,相關(guān)程序見圖7。將數(shù)據(jù)讀回后顯示成Graph形式則更能展示出相關(guān)數(shù)據(jù)的橫向變化趨勢,程序采用了下拉菜單及Graph顯示模塊,用事件結(jié)構(gòu)完成下拉菜單,這樣設(shè)置可以同時顯示時時轉(zhuǎn)速與相關(guān)參數(shù)的關(guān)系,在事件結(jié)構(gòu)中分別設(shè)定顯示控件的顯示刻度屬性節(jié)點使其自動適應(yīng)所接受數(shù)據(jù)范圍。相關(guān)程序如圖8所示。實測中前面板效果如圖9所示。

          f.jpg



          評論


          相關(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); })();