在LabVIEW中實(shí)現(xiàn)基于C/S結(jié)構(gòu)的遠(yuǎn)程數(shù)據(jù)采集
點(diǎn)擊:1370
A+ A-
所屬頻道:新聞中心
LabVIEW具有強(qiáng)大的遠(yuǎn)程數(shù)據(jù)采集能力,實(shí)現(xiàn)方法主要有主要4種:方法一, 軟件操作界面共享方式, 利用RemotePanels技術(shù)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集;方法二, DAQ 設(shè)備共享方式,采用RDA 技術(shù)實(shí)現(xiàn)DAQ 設(shè)備的遠(yuǎn)程控制;方法三,數(shù)據(jù)發(fā)布方式,利用TCP技術(shù)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集 ;方法四,數(shù)據(jù)共享方式,利用DataSocket技術(shù)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集。無(wú)論采用哪種方式,系統(tǒng)都由通過(guò)網(wǎng)絡(luò)連接的客戶機(jī)(Client)和服務(wù)器(Server)構(gòu)成,其中DAQ設(shè)備安裝在服務(wù)器上,客戶機(jī)通過(guò)網(wǎng)絡(luò)控制服務(wù)器上的DAQ設(shè)備完成數(shù)據(jù)采集。
利用Remote Panels技術(shù)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集
從LabVIEW 6. 1 開(kāi)始, LabV IEW 集成了RemotePanels技術(shù), 允許用戶直接在客戶端計(jì)算機(jī)上打開(kāi)并操作位于服務(wù)器端計(jì)算機(jī)上的V I的前面板, 甚至可以將LabVIEW V Is的前面板窗口嵌入到一個(gè)網(wǎng)頁(yè)中并在網(wǎng)頁(yè)中直接操作它, 這是一種軟件操作界面共享方式。按照常規(guī)方式編寫服務(wù)器端軟件, 控制DAQ設(shè)備完成數(shù)據(jù)采集, 通過(guò)一定的設(shè)置將服務(wù)器端軟件的前面板發(fā)布到客戶機(jī)中, 這樣, 用戶在客戶機(jī)上就可以直接操作位于服務(wù)器上的軟件, 實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集。在LabVIEW中設(shè)定并使用Remote Panels僅需兩個(gè)步驟:
第一步,在LabVIEW Web Server端的計(jì)算機(jī)上開(kāi)啟LabVIEW Web Server服務(wù):在客戶端使用Remote Panels之前,必須首先在Server計(jì)算機(jī)上運(yùn)行LabVIEW, 并利用LabVIEW 的Op tions配置對(duì)話框配置Web Server的文件路徑和網(wǎng)絡(luò)參數(shù)、客戶機(jī)訪問(wèn)權(quán)限和V Is訪問(wèn)權(quán)限。為了提供網(wǎng)頁(yè)瀏覽器訪問(wèn),必須在配置服務(wù)器時(shí)利用Web Publish Tool將網(wǎng)頁(yè)發(fā)布出去。
第二步,在客戶端計(jì)算機(jī)上連接并運(yùn)行RemotePanels。有兩種方式可以實(shí)現(xiàn)Remote Panels操作:方式一:在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è)中直接操作RemotePanels。在局域網(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ò)右鍵下拉菜單可以獲得RemotePanels的控制權(quán)。利用網(wǎng)頁(yè)瀏覽器操作Remote Panels不需要安裝LabVIEW,只需安裝一個(gè)LabVIEW Run-Time Engine即可。
LabV IEW的Remote Panels不僅可以觀看,而且可以在LabV IEW的環(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技術(shù)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集
利用RDA (Remote Device Access)技術(shù)共享服務(wù)器上的設(shè)備,在客戶機(jī)上編程直接控制服務(wù)器上的DAQ設(shè)備,實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集。RDA在編程方面與使用本機(jī)DAQ 設(shè)備完全一樣。在LabV IEW中利用RDA技術(shù)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集的步驟如下:
第一步,配置RDA 服務(wù)器。RDA 服務(wù)器需要安裝N I-DAQ6. 0 (或更高版本)以及DAQ設(shè)備,設(shè)置服務(wù)器的IP地址,例如192. 168. 0. 1,其子網(wǎng)掩碼為255.255. 255. 0。然后啟動(dòng)服務(wù)器上的RemoteDevice Access Server即可。若有必要,可以在DAQ設(shè)備的屬性對(duì)話框中設(shè)置RDA訪問(wèn)密碼。
第二步,設(shè)置客戶機(jī)。RDA客戶端應(yīng)安裝與服務(wù)器相同版本的N I-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 Exp lorer) 左側(cè)目錄樹(shù)中的De-vices and InteRFaces項(xiàng)的右鍵彈出菜單中選擇“Create New.。 . ”,在Create New窗口選擇RDA /Ethernet Device。
在隨后出現(xiàn)的Se-lect 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ù)采集。
利用TCP技術(shù)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集
LabV IEW提供了一系列用于實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)腡CP節(jié)點(diǎn)(功能函數(shù)) 。編寫服務(wù)器端軟件,控制DAQ設(shè)備完成數(shù)據(jù)采集,然后利用TCP節(jié)點(diǎn)編程將數(shù)據(jù)發(fā)布到網(wǎng)絡(luò)上。在客戶端軟件中利用TCP節(jié)點(diǎn)接收這些數(shù)據(jù)即可實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集。雙機(jī)通信的流程如圖3所示。該方法實(shí)際上是通過(guò)編程實(shí)現(xiàn)測(cè)試數(shù)據(jù)的傳輸。
利用DataSocket技術(shù)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集
DataSocket 是N I公司推出的一項(xiàng)基于TCP / IP標(biāo)準(zhǔn)的面向測(cè)量和自動(dòng)化工程的網(wǎng)上實(shí)時(shí)高速數(shù)據(jù)交換的新技術(shù),可用于一個(gè)計(jì)算機(jī)內(nèi)或者網(wǎng)絡(luò)中多個(gè)應(yīng)用程序之間實(shí)時(shí)數(shù)據(jù)的共享和發(fā)布。 DataSocket利用dstp (DataSocket Transfer Protocol)協(xié)議、通用資源定位符URL進(jìn)行網(wǎng)絡(luò)通信。DataSocket摒除了較為復(fù)雜的TCP / IP底層編程,克服了傳輸速率較慢的缺點(diǎn),大大簡(jiǎn)化甚至免除了Internet編程。
LabV IEW6 i以上的LabV IEW版本中,所有控件都增加了一個(gè)叫做DataSocket Connection的特殊屬性,利用這個(gè)屬性,可以實(shí)現(xiàn)不同計(jì)算機(jī)上相對(duì)應(yīng)的兩個(gè)甚至多個(gè)同類別控件之間的DataSocket通信。
在控件的DataSocket Connection屬性的配置對(duì)話框中可以設(shè)置該控件的DataSocket URL地址,地址的格式如下: dstp: / / servername /dataname,例如: dstp: / /lht/wave。如果為兩臺(tái)計(jì)算機(jī)中的兩個(gè)類型相同的LabV IEW控件設(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軟件。
結(jié)論
使用Remote Panels、RDA、TCP和DataSocket等4種技術(shù)都可實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集,它們各有特點(diǎn),表1對(duì)這4種技術(shù)進(jìn)行了比較。
Remote Panels技術(shù)通過(guò)共享軟件界面的方式使用戶通過(guò)IE瀏覽器直接操作服務(wù)器上的DAQ軟件,適用于在客戶機(jī)上進(jìn)行現(xiàn)場(chǎng)監(jiān)控。RDA技術(shù)通過(guò)共享硬件的方式使用戶直接控制網(wǎng)絡(luò)上的遠(yuǎn)端DAQ設(shè)備成為可能。TCP技術(shù)通過(guò)編程實(shí)現(xiàn)數(shù)據(jù)發(fā)布和傳輸,編程稍為復(fù)雜,但靈活。DataSocket技術(shù)通過(guò)數(shù)據(jù)共享的方式傳送測(cè)控參數(shù),是一種簡(jiǎn)單易用的數(shù)據(jù)傳輸方法,其最大的特點(diǎn)是高速的實(shí)時(shí)數(shù)據(jù)的發(fā)布。上述4種技術(shù)各有優(yōu)缺點(diǎn),用戶可以根據(jù)它們各自的特點(diǎn),靈活使用這些技術(shù)構(gòu)建功能強(qiáng)大的遠(yuǎn)程虛擬儀器。
(審核編輯: 智匯小新)
分享