在LabVIEW中實(shí)現(xiàn)基于C/S結(jié)構(gòu)的遠(yuǎn)程數(shù)據(jù)采集的方式方法
方式一:在LabVIEW環(huán)境中利用Connect to Remote Panels工具可以直接操作Remote Panels 。
方式二:利用網(wǎng)頁(yè)瀏覽器在網(wǎng)頁(yè)中直接操作Remote Panels。若在客戶端的網(wǎng)頁(yè)瀏覽器的地址欄中輸入服務(wù)器的網(wǎng)址,即可實(shí)現(xiàn)在網(wǎng)頁(yè)中直接操作Remote Panels。在局域網(wǎng)內(nèi),網(wǎng)址格式是:http://PcName:Port/ViName.htm;在Internet互聯(lián)網(wǎng)上,網(wǎng)址格式為:http://IpAddr:Port/ViName.htm。當(dāng)Remote Panels出現(xiàn)在瀏覽器上時(shí),通過(guò)右鍵下拉菜單可以獲得Remote Panels的控制權(quán)。利用網(wǎng)頁(yè)瀏覽器操作Remote Panels不需要安裝LabVIEW,只需安裝一個(gè)LabVIEW RunTime Engine即可。圖2所示的是在IE瀏覽器中打開(kāi)的一個(gè)位于服務(wù)器上的虛擬儀器前面板。
LabVIEW的Remote Panels不僅可以觀看,而且可以在LabVIEW的環(huán)境中或?yàn)g覽器上加以控制 。這個(gè)強(qiáng)大的功能讓開(kāi)發(fā)人員可以輕松的創(chuàng)建遠(yuǎn)程應(yīng)用程序,使用戶在周末的時(shí)侯坐在家中的計(jì)算機(jī)前輕松的監(jiān)控辦公室、實(shí)驗(yàn)室甚至生產(chǎn)線上的各種情況。這種方式的缺點(diǎn)是在客戶端不能得到測(cè)試數(shù)據(jù)。
第一步,配置RDA服務(wù)器。RDA服務(wù)器需要安裝NI-DAQ6.0(或更高版本)以及DAQ設(shè)備,設(shè)置服務(wù)器的IP地址,例如192.168.0.1,其子網(wǎng)掩碼為255.255.255.0。然后啟動(dòng)服務(wù)器上的Remote Device Access Server即可。若有必要,可以在DAQ設(shè)備的屬性對(duì)話框中設(shè)置RDA訪問(wèn)密碼。
第二步,設(shè)置客戶機(jī)。RDA客戶端應(yīng)安裝與服務(wù)器相同版本的NI-DAQ,否則DAQ設(shè)備會(huì)無(wú)法連接。設(shè)置客戶機(jī)的IP地址,例如192.168.0.2,其子網(wǎng)掩碼為255.255.255.0。RDA客戶機(jī)的設(shè)置比較復(fù)雜,通常按照下列步驟進(jìn)行:
■在客戶機(jī)的MAX(Measurement Automation Explor er)左側(cè)目錄樹(shù)中的Devices and Interfaces項(xiàng)的右鍵彈出菜單中選擇“Create New”,在Create New窗口選擇RDA/Ethernet Device。■在隨后出現(xiàn)的Select Remote Computer對(duì)話框中輸入服務(wù)器的IP地址或計(jì)算機(jī)名。■在隨后出現(xiàn)的System對(duì)話框中設(shè)定設(shè)備號(hào),若服務(wù)器上的DAQ設(shè)備設(shè)置了RDA訪問(wèn)密碼,則還需在Password欄中輸入正確的密碼。
至此,就完成了客戶機(jī)上RDA設(shè)備的添加,客戶機(jī)的MAX左側(cè)目錄樹(shù)中會(huì)出現(xiàn)這個(gè)RDA設(shè)備。從此以后,用戶可以像在本地一樣操作該設(shè)備。在客戶機(jī)上直接編寫DAQ軟件,實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集。
在控件的DataSocket Connection屬性的配置對(duì)話框中可以設(shè)置該控件的DataSocket URL地址,地址的格式如下:dstp://servername/dataname,例如:dstp://lht/wave。如果為兩臺(tái)計(jì)算機(jī)中的兩個(gè)類型相同的LabVIEW控件設(shè)置相同的DataSocket ConnectionURL地址(例如都是dstp://lht/wave),并且其連接類型(Connection Type)都設(shè)為Publish and Subscribe,這兩個(gè)控件就由DataSocket連接起來(lái),這兩個(gè)控件的值會(huì)完全保持同步,其中一個(gè)控件發(fā)生了變化,另一個(gè)控件也會(huì)同步發(fā)生同樣的變化。
利用DataSocket的這種特性,就可實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集:利用服務(wù)器端軟件控制DAQ設(shè)備完成數(shù)據(jù)采集,將測(cè)試數(shù)據(jù)放到一個(gè)數(shù)組控件中,在客戶機(jī)端軟件中利用同樣的數(shù)組控件通過(guò)DataSocket Server接收這些數(shù)據(jù),然后通過(guò)進(jìn)一步的編程對(duì)這些數(shù)據(jù)進(jìn)行相關(guān)處理。這種方法實(shí)際上就是利用DataSocket的數(shù)據(jù)共享獲得服務(wù)器端的數(shù)據(jù)。
與方法三相比,方法四不需要專門編寫用于發(fā)送和接收數(shù)據(jù)的程序,但是需要在服務(wù)器和客戶機(jī)上額外安裝一個(gè)DataSocket Server軟件。
評(píng)論