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