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