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


在控件的DataSocket Connection屬性的配置對話(huà)框中可以設置該控件的DataSocket URL地址,地址的格式如下:dstp://servername/dataname,例如:dstp://lht/wave。如果為兩臺計算機中的兩個(gè)類(lèi)型相同的LabVIEW控件設置相同的DataSocket ConnectionURL地址(例如都是dstp://lht/wave),并且其連接類(lèi)型(Connection Type)都設為Publish and Subscribe,這兩個(gè)控件就由DataSocket連接起來(lái),這兩個(gè)控件的值會(huì )完全保持同步,其中一個(gè)控件發(fā)生了變化,另一個(gè)控件也會(huì )同步發(fā)生同樣的變化。
利用DataSocket的這種特性,就可實(shí)現遠程數據采集:利用服務(wù)器端軟件控制DAQ設備完成數據采集,將測試數據放到一個(gè)數組控件中,在客戶(hù)機端軟件中利用同樣的數組控件通過(guò)DataSocket Server接收這些數據,然后通過(guò)進(jìn)一步的編程對這些數據進(jìn)行相關(guān)處理。這種方法實(shí)際上就是利用DataSocket的數據共享獲得服務(wù)器端的數據。
與方法三相比,方法四不需要專(zhuān)門(mén)編寫(xiě)用于發(fā)送和接收數據的程序,但是需要在服務(wù)器和客戶(hù)機上額外安裝一個(gè)DataSocket Server軟件。
評論