在LabVIEW中實現(xiàn)基于C/S結構的遠程數(shù)據(jù)采集
方式一:在LabVIEW環(huán)境中利用Connect to Remote Panels工具可以直接操作Remote Panels 。
方式二:利用網頁瀏覽器在網頁中直接操作Remote Panels。若在客戶端的網頁瀏覽器的地址欄中輸入服務器的網址,即可實現(xiàn)在網頁中直接操作Remote Panels。在局域網內,網址格式是:http://PcName:Port/ViName.htm;在Internet互聯(lián)網上,網址格式為:http://IpAddr:Port/ViName.htm。當Remote Panels出現(xiàn)在瀏覽器上時,通過右鍵下拉菜單可以獲得Remote Panels的控制權。利用網頁瀏覽器操作Remote Panels不需要安裝LabVIEW,只需安裝一個LabVIEW RunTime Engine即可。圖2所示的是在IE瀏覽器中打開的一個位于服務器上的虛擬儀器前面板。
LabVIEW的Remote Panels不僅可以觀看,而且可以在LabVIEW的環(huán)境中或瀏覽器上加以控制 。這個強大的功能讓開發(fā)人員可以輕松的創(chuàng)建遠程應用程序,使用戶在周末的時侯坐在家中的計算機前輕松的監(jiān)控辦公室、實驗室甚至生產線上的各種情況。這種方式的缺點是在客戶端不能得到測試數(shù)據(jù)。
RDA在編程方面與使用本機DAQ設備完全一樣。在LabVIEW中利用RDA技術實現(xiàn)遠程數(shù)據(jù)采集的步驟如下:
第一步,配置RDA服務器。RDA服務器需要安裝NI-DAQ6.0(或更高版本)以及DAQ設備,設置服務器的IP地址,例如192.168.0.1,其子網掩碼為255.255.255.0。然后啟動服務器上的Remote Device Access Server即可。若有必要,可以在DAQ設備的屬性對話框中設置RDA訪問密碼。
第二步,設置客戶機。RDA客戶端應安裝與服務器相同版本的NI-DAQ,否則DAQ設備會無法連接。設置客戶機的IP地址,例如192.168.0.2,其子網掩碼為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ù)采集。
第一步,配置RDA服務器。RDA服務器需要安裝NI-DAQ6.0(或更高版本)以及DAQ設備,設置服務器的IP地址,例如192.168.0.1,其子網掩碼為255.255.255.0。然后啟動服務器上的Remote Device Access Server即可。若有必要,可以在DAQ設備的屬性對話框中設置RDA訪問密碼。
第二步,設置客戶機。RDA客戶端應安裝與服務器相同版本的NI-DAQ,否則DAQ設備會無法連接。設置客戶機的IP地址,例如192.168.0.2,其子網掩碼為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ù)采集。
服務器端軟件的框圖程序如圖4所示,客戶機端軟件的前面板及框圖程序如圖5所示。
LabVIEW6i以上的LabVIEW版本中,所有控件都增加了一個叫做DataSocket Connection的特殊屬性,利用這個屬性,可以實現(xiàn)不同計算機上相對應的兩個甚至多個同類別控件之間的DataSocket通信。
在控件的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軟件。
在控件的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軟件。
Remote Panels技術通過共享軟件界面的方式使用戶通過IE瀏覽器直接操作服務器上的DAQ軟件,適用于在客戶機上進行現(xiàn)場監(jiān)控。RDA技術通過共享硬件的方式使用戶直接控制網絡上的遠端DAQ設備成為可能。TCP技術通過編程實現(xiàn)數(shù)據(jù)發(fā)布和傳輸,編程稍為復雜,但靈活。DataSocket技術通過數(shù)據(jù)共享的方式傳送測控參數(shù),是一種簡單易用的數(shù)據(jù)傳輸方法,其最大的特點是高速的實時數(shù)據(jù)的發(fā)布。上述4種技術各有優(yōu)缺點,用戶可以根據(jù)它們各自的特點,靈活使用這些技術構建功能強大的遠程虛擬儀器。
評論