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

          新聞中心

          EEPW首頁 > 測(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 來源:網(wǎng)絡(luò) 收藏
          1. 基于B/S和C/S模式的網(wǎng)絡(luò)通信技術(shù)
          (1)TCP與UDP
          TCP與UDP為傳輸層協(xié)議,當(dāng)需要保證數(shù)據(jù)傳輸?shù)耐暾耘c可靠性時(shí),TCP為當(dāng)然的選擇;UDP則適合于大量的連接和高速度傳輸。。LabVlEW 中對(duì)這兩種協(xié)議的編程進(jìn)行了高度集成,將Winsock DLL封起來,形成TCP與UDP圖形化編程節(jié)點(diǎn)與VI。
          (2)DataSocker
          DataSocket是NI提供的一種編程工具,借助它可以在不同的應(yīng)用程序和數(shù)據(jù)源之間傳遞數(shù)據(jù)。。DataSocket可以訪問本地文件以及HTTP和FTP服務(wù)器上的數(shù)據(jù)。DataSocket為低層通訊協(xié)議提供了一致的API,編程者無需為不同的數(shù)據(jù)格式和通信協(xié)議編寫具體的程序代碼,而且這些數(shù)據(jù)源可以分布在不同的計(jì)算機(jī)上。使用一種增強(qiáng)數(shù)據(jù)類型來交換儀器類型的數(shù)據(jù),這種數(shù)據(jù)類型包含數(shù)據(jù)特性和實(shí)際測(cè)試數(shù)據(jù)。用類似于Web中的統(tǒng)一資源定位器(URL)定位數(shù)據(jù)源,URL不同的前綴表示了不同的數(shù)據(jù)類型。
          (3)VI Server
          VI Server是LabVlEW 獨(dú)有的一項(xiàng)技術(shù)。利用VI Server技術(shù)用戶可以編程動(dòng)態(tài)控制位于本地或遠(yuǎn)程計(jì)算機(jī)上的LabVlEW Vls,但不能在本地打開位于遠(yuǎn)程計(jì)算機(jī)上的VI前面板。
          使用VI Server,首先需要對(duì)VI Server進(jìn)行設(shè)置,設(shè)置內(nèi)容有三項(xiàng):Configuration、TCP/IP Access、Exported VIs;接著利用LabVlEW 定義好的Application類和VI類的屬性和方法進(jìn)行編程來控制應(yīng)用程序和VI。
          (4)Remote Panels
          LabVlEW 提供的Web Server,可構(gòu)建兩種網(wǎng)絡(luò)通信方法:一種是將已被載人服務(wù)器內(nèi)存的VI前面板圖像嵌入網(wǎng)頁;另一種方法是利用Remote Panels技術(shù),實(shí)現(xiàn)用戶可直接在本地計(jì)算機(jī)上打開并操作位于遠(yuǎn)程計(jì)算機(jī)上VI的前面板,甚至在網(wǎng)頁
          中打開并操作它。也可以開發(fā)與服務(wù)器端的數(shù)據(jù)采集應(yīng)用程序進(jìn)行TCP/UDP/DSTP通信的ActiveX控件,并將其嵌入網(wǎng)頁,用Web服務(wù)器提供Web服務(wù),客戶端通過下載的ActiveX控件與服務(wù)器端的數(shù)據(jù)采集程序通信。
          2. 遠(yuǎn)程數(shù)據(jù)采集實(shí)現(xiàn)
          基于NI PCI-6221的簡(jiǎn)單采集VI如圖1所示,采集數(shù)據(jù)為一個(gè)帶噪聲的方波電壓波形信號(hào)。

          本文引用地址:http://www.ex-cimer.com/article/201701/336575.htm
          圖1(a)前面板

          圖1(b)框圖程序
          圖1 DAQ.vi前面板和框圖程序
          下文基于LabVIEW 的上述四種通信方式分別以此DAQ.vi做為子程序,將電壓信號(hào)進(jìn)行網(wǎng)絡(luò)通信,從而實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集。
          2.1 基于TCP/IP通信的數(shù)據(jù)采集
          圖2 TCP遠(yuǎn)程采集服務(wù)器端前面板及框圖程序
          圖3 TCP遠(yuǎn)程采集客戶端前面板及框圖程序
          利用TCP進(jìn)行雙機(jī)通信實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集如圖2和圖3所示。運(yùn)行這兩個(gè)程序,若首先運(yùn)行服務(wù)器端VI,高亮運(yùn)行可以觀察到VI不進(jìn)入循環(huán),直到運(yùn)行客戶端VI時(shí),服務(wù)器端VI才采集數(shù)據(jù),同時(shí)服務(wù)器端和客戶端顯示數(shù)據(jù)。兩臺(tái)PC顯示器上的波形圖數(shù)據(jù)一致,表明遠(yuǎn)程數(shù)據(jù)采集成功。關(guān)閉時(shí)若先關(guān)閉客戶端,服務(wù)器端繼續(xù)采集;若關(guān)閉服務(wù)器,則客戶端停止數(shù)據(jù)顯示。
          2.2 基于DataSocket技術(shù)的數(shù)據(jù)采集
          DataSocket通信的三要素為:Publisher、DataSocket Server和Subscriber。Publisher將數(shù)據(jù)寫到DataSocket中,而Subscriber讀出數(shù)據(jù)。
          利用DataSocket分別編寫服務(wù)器端和客戶端軟件,可以實(shí)現(xiàn)客戶端與服務(wù)器端運(yùn)行狀態(tài)完全相同,即客戶端不僅可以顯示服務(wù)器前面板上的數(shù)據(jù)和控件狀態(tài),而且可以控制服務(wù)器端面板上的控件動(dòng)作,因此也是一種實(shí)現(xiàn)網(wǎng)絡(luò)測(cè)控的方法。
          創(chuàng)建客戶端程序,只需將服務(wù)器端前面板的所有控件復(fù)制到一個(gè)新的VI中,即客戶端前面板與服務(wù)器端前面板完全相同。由于DataSocket只能傳遞控件對(duì)應(yīng)變量的值,而不能傳遞控件的屬性,因此客戶端需要對(duì)控件值的變化而引起的控件屬
          性的變化進(jìn)行編程。利用DataSocket通信實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集的程序如圖4所示。
          上一頁 1 2 下一頁

          評(píng)論


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