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

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > LabVIEW中遠(yuǎn)程數(shù)據(jù)采集的實(shí)現(xiàn)

          LabVIEW中遠(yuǎn)程數(shù)據(jù)采集的實(shí)現(xiàn)

          作者: 時(shí)間:2017-01-05 來(lái)源:網(wǎng)絡(luò) 收藏
          運(yùn)行時(shí),客戶(hù)端和服務(wù)器端都打開(kāi)DataSocket Server。首先運(yùn)行服務(wù)器VI,服務(wù)器端開(kāi)始采集數(shù)據(jù)并顯示,若再運(yùn)行客戶(hù)端VI,此VI獲得服務(wù)器端數(shù)據(jù),從自身運(yùn)行時(shí)開(kāi)始與服務(wù)器端幾乎同步顯示。若先關(guān)閉客戶(hù)端,服務(wù)器端繼續(xù)采集數(shù)據(jù)。
          a)服務(wù)器端框圖程序
          b) 客戶(hù)端框圖程序
          圖4 DataSocket服務(wù)端和客戶(hù)端框圖程序
          2.3 基于VI Server的數(shù)據(jù)采集
          服務(wù)器端安裝并運(yùn)行LabVIEW,VI Server的設(shè)置為:1)VI服務(wù)器:配置對(duì)話(huà)框中的TCP/IP項(xiàng)確保選中;2)VI 服務(wù)器:機(jī)器訪問(wèn)對(duì)話(huà)框中若沒(méi)有設(shè)置所有計(jì)算機(jī)(用“*”表示)有訪問(wèn)權(quán),須添加指定客戶(hù)機(jī)的名稱(chēng);3)VI 服務(wù)器:導(dǎo)出VI對(duì)話(huà)框若沒(méi)有設(shè)置所有VI,須添加特定的VI名稱(chēng)。
          填人遠(yuǎn)程計(jì)算機(jī)名或lP地址,客戶(hù)端就能調(diào)用服務(wù)器端硬盤(pán)中(或內(nèi)存中,只需要稍加修改)的DAQ.Vi數(shù)據(jù)采集程序。
          利用Vl Server實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集的程序如圖5所示。
          圖5 Vl Server客戶(hù)端前面板殛框圖程序
          2.4 Remote Panels
          LabVlEW 的遠(yuǎn)程面板技術(shù)使得客戶(hù)機(jī)可以在LabVlEW 環(huán)境中操作遠(yuǎn)程面板,亦可用瀏覽器在網(wǎng)頁(yè)中操作遠(yuǎn)程面板。LabVlEW 默認(rèn)的遠(yuǎn)程面板客戶(hù)端數(shù)目是一個(gè),要讓更多的客戶(hù)同時(shí)使用遠(yuǎn)程面板功能,需要向Nl公司購(gòu)買(mǎi)授權(quán)。當(dāng)有多個(gè)客戶(hù)端授權(quán)時(shí),服務(wù)器端需要使用“遠(yuǎn)程面板連接管理器”工具來(lái)監(jiān)控客戶(hù)端的連接。
          實(shí)現(xiàn)遠(yuǎn)程面板的簡(jiǎn)單步驟是:① 配置LabVlEW 的Web Server;② 在服務(wù)器端計(jì)算機(jī)中打開(kāi)DAQ.vi前面板;③在客戶(hù)端LabVIEW 中選擇"操作->連接遠(yuǎn)程前面板...”在彈出的對(duì)話(huà)框中設(shè)置服務(wù)器端計(jì)算機(jī)的IP地址、域名或計(jì)算機(jī)名;單擊“Connect”,即可。
          通過(guò)網(wǎng)頁(yè)瀏覽器在網(wǎng)頁(yè)中操作Remote Panels,只需在網(wǎng)頁(yè)瀏覽器的地址欄中輸入http://PcName:Port/ViName.htm(局域網(wǎng))或http://IpAddr:Port/ViName.htm(Internet),本例:http://192.168.1.111/DAQ.htm。
          3 四種實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集方式比較

          表1 本文四種實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集方式比較

          項(xiàng)目

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

          TCP/IP

          DataSocket

          VI Server

          Remote Panels

          編程難易

          I.(最難),服務(wù)器端客戶(hù)端都需編程,且需了解低層協(xié)議

          II. 服務(wù)端客戶(hù)

          端都需編程

          III.服務(wù)器端做DAQ子VI,客戶(hù)端編程調(diào)用

          IIII.最方便,只要相關(guān)設(shè)置即可

          服務(wù)器端

          LabVIEW/NI-

          DAQmx/采集卡

          LabVIEW/NI-

          DAQmx/采集卡/DataSocket Server/服務(wù)器端軟件

          LabVIEW/NI-

          DAQmx/采集卡

          LabVIEW或第三方軟件/NI-

          DAQmx/采集卡

          客戶(hù)端

          LabVIEW

          DataSocket Server/客戶(hù)端軟件

          LabVIEW

          LabVIEW或網(wǎng)頁(yè)瀏覽器

          何時(shí)進(jìn)行數(shù)據(jù)采集

          客戶(hù)端運(yùn)行VI,服務(wù)端運(yùn)行DAQ子VI

          客戶(hù)端和服務(wù)器端都運(yùn)行DataSocket Server后,服務(wù)器端VI運(yùn)行DAQ子VI

          客戶(hù)端調(diào)用服務(wù)器段DAQ子VI

          服務(wù)器端VI運(yùn)行子VI

          特點(diǎn)

          在LabVIEW中雖具有功能模塊,但要實(shí)現(xiàn)遠(yuǎn)程面板功能,編程需要熟悉網(wǎng)絡(luò)知識(shí),難度較大。

          高速實(shí)時(shí)數(shù)據(jù)發(fā)布和數(shù)據(jù)共享,克服了傳輸速率慢的特點(diǎn),是DataSocket與其他方式相比最大的優(yōu)勢(shì)。

          實(shí)際是遠(yuǎn)程VI調(diào)用,在本地不能顯示遠(yuǎn)程VI的前面板。只需在客戶(hù)端編程,數(shù)據(jù)采集程序位于服務(wù)器。

          除LabVIEW也有第三方發(fā)布,例如:LabVNC??蛻?hù)端可以顯示遠(yuǎn)程VI前面板。在LabVIEW或網(wǎng)頁(yè)中直接操作即可,實(shí)現(xiàn)簡(jiǎn)單。

          因?qū)崿F(xiàn)功能相同,各種方法均只作了數(shù)據(jù)采集和顯示,編程方式一致,利用Vl性能略圖比較各方式內(nèi)存開(kāi)銷(xiāo)可大致對(duì)各種方式的遠(yuǎn)程數(shù)采性能情況作個(gè)參考。
          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          技術(shù)專(zhuān)區(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); })();