基于LabVIEW的遠(yuǎn)程測(cè)控方法
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1遠(yuǎn)程測(cè)試系統(tǒng)的組成
根據(jù)遠(yuǎn)程測(cè)控數(shù)據(jù)流量狀況及不同的測(cè)試需求可采用基于Client/Server(簡(jiǎn)寫為C/S)和Browser/Server(簡(jiǎn)寫為B/S)兩種網(wǎng)絡(luò)模型組建遠(yuǎn)程測(cè)試系統(tǒng)。C/S模式適合數(shù)據(jù)傳送量大的情況,而且具有效率高,數(shù)據(jù)可靠完整、兼容性強(qiáng)等特點(diǎn)。而對(duì)于數(shù)據(jù)傳送量不大,需要遠(yuǎn)程模擬仿真的情況可以采用B/S模式,這樣對(duì)于客戶端的需求會(huì)很低,不需在客戶端上安裝相應(yīng)的客戶端軟件,只需要瀏覽器便可登陸服務(wù)器對(duì)遠(yuǎn)程測(cè)試進(jìn)行監(jiān)控。遠(yuǎn)程測(cè)控系統(tǒng)結(jié)構(gòu)圖如圖1所示。其中測(cè)控服務(wù)器作為測(cè)量發(fā)布節(jié)點(diǎn),主要完成數(shù)據(jù)采集、數(shù)據(jù)發(fā)布以及將采集的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)服務(wù)器中的功能。Web服務(wù)器主要提供基本的網(wǎng)站功能,客戶端通過訪問該網(wǎng)站,可以獲得數(shù)據(jù)庫(kù)服務(wù)器中的實(shí)時(shí)作業(yè)信息和歷史數(shù)據(jù)。另外,客戶端利用虛擬儀器應(yīng)用程序(C/S方式)或者通過瀏覽器監(jiān)控遠(yuǎn)程面板(B/S方式)建立與服務(wù)器端的網(wǎng)絡(luò)通信,監(jiān)測(cè)和控制服務(wù)器端的作業(yè),接收來自服務(wù)器端的作業(yè)數(shù)據(jù),并進(jìn)行數(shù)據(jù)分析處理、數(shù)據(jù)處理結(jié)果的存儲(chǔ)與顯示、生成數(shù)據(jù)報(bào)表以及數(shù)據(jù)或波形打印等。
2遠(yuǎn)程測(cè)控實(shí)現(xiàn)技術(shù)
2.1基于C/S模式的DataSocket技術(shù)
DataSocket控件能根據(jù)具體的數(shù)據(jù)傳輸要求轉(zhuǎn)換數(shù)據(jù)。DataSocket由DataSocket Server、DataSocket Pub-lisher、DataSocket Subscriber、Data Item組成。
DataSocket Publisher和DataSocket Subscriber是DataSocket Server的客戶端,通過DataSocket Server進(jìn)行數(shù)據(jù)共享和交換,三者可以運(yùn)行在同一臺(tái)機(jī)器上或三臺(tái)各自的機(jī)器上(視具體情況而定),如圖2所示。但把服務(wù)器同發(fā)布者和接收者分離則可以提高系統(tǒng)的安全性和可靠性。數(shù)據(jù)交換的雙方無需直接對(duì)話,而是向第三方DataSocket Server讀取或者寫入數(shù)據(jù),因此DataSocket簡(jiǎn)化了應(yīng)用程序和計(jì)算機(jī)之間的通訊,應(yīng)用程序的數(shù)據(jù)接口變得非常簡(jiǎn)單,數(shù)據(jù)類型也無需轉(zhuǎn)換。
利用DataSocket技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)化虛擬試驗(yàn)具有許多優(yōu)越性。首先是安全性高。利用DataSocket ServerManager可以設(shè)定客戶端連接數(shù)目、數(shù)據(jù)項(xiàng)數(shù)目,創(chuàng)建用戶組和用戶,設(shè)置用戶讀/寫以及創(chuàng)建數(shù)據(jù)項(xiàng)的權(quán)限(未設(shè)定權(quán)限的用戶對(duì)服務(wù)器不可訪問)。另外,DataSocket傳輸數(shù)據(jù)的端口使用3015,此端口已經(jīng)通過IANA(Internet地址分配機(jī)構(gòu))注冊(cè)為DSTP協(xié)議專用端口,因此可以在防火墻外部的計(jì)算機(jī)上運(yùn)行DataSocket服務(wù)器,同時(shí)可保證在防火墻內(nèi)部的計(jì)算機(jī)上安全的運(yùn)行數(shù)據(jù)發(fā)布等應(yīng)用程序,如圖3所示。DataSocket傳輸?shù)臄?shù)據(jù)本身包含很小的頭文件,因此,數(shù)據(jù)傳輸速度快,適合于在網(wǎng)絡(luò)上大量實(shí)時(shí)數(shù)據(jù)的傳輸。
為實(shí)現(xiàn)遠(yuǎn)程測(cè)控,利用DataSocket技術(shù)采取如下方案:利用網(wǎng)絡(luò)上的單獨(dú)的一臺(tái)計(jì)算機(jī)作為DataSocketServer;測(cè)控服務(wù)器完成數(shù)據(jù)采集和發(fā)布數(shù)據(jù)的功能,即測(cè)控服務(wù)器作為DataSocketPublisher;連接到網(wǎng)絡(luò)上的客戶計(jì)算機(jī)作為DataSocketSubscriber.由測(cè)控服務(wù)器采集數(shù)據(jù),利用DataSocketPublisher把采集的數(shù)據(jù)發(fā)布到DataSocketServer中,客戶端便可以利用DataSocketSubscriber從DataSocketServer中接收數(shù)據(jù),這樣可保證客戶端原始實(shí)驗(yàn)數(shù)據(jù)的一致性。應(yīng)用DataSocket技術(shù)進(jìn)行實(shí)時(shí)數(shù)據(jù)傳輸?shù)目驁D程序如圖4所示。
在需要同時(shí)進(jìn)行多個(gè)信號(hào)的采集時(shí),采集的數(shù)據(jù)跟時(shí)間是密切相關(guān)的,因此,通道、時(shí)間信息需要和采集的實(shí)時(shí)數(shù)據(jù)一起進(jìn)行傳遞。這種情況可以采取在發(fā)布端發(fā)送多個(gè)數(shù)據(jù)項(xiàng)的方法解決,即把實(shí)時(shí)數(shù)據(jù)、通道值、時(shí)間分別建立各自的數(shù)據(jù)項(xiàng),之后經(jīng)采集服務(wù)器端的DataSocket Publisher分別發(fā)布給DataSocket Server,再由客戶端分別接收。但經(jīng)測(cè)試發(fā)現(xiàn),會(huì)產(chǎn)生偽數(shù)據(jù)現(xiàn)象。為保證客戶端接收數(shù)據(jù)的一致性,采用數(shù)據(jù)屬性方法,把通道、時(shí)間作為數(shù)據(jù)屬性同實(shí)時(shí)數(shù)據(jù)綁定后再進(jìn)行數(shù)據(jù)發(fā)布。這樣在服務(wù)器和客戶端之間傳遞的是實(shí)時(shí)數(shù)據(jù)、通道和時(shí)間的綁定整體,所有的傳遞信息同時(shí)到達(dá)數(shù)據(jù)接收端,之后再由接收端利用數(shù)據(jù)屬性來提取相應(yīng)的數(shù)據(jù)。采用這種措施后即使傳輸過程中出現(xiàn)數(shù)據(jù)丟失現(xiàn)象,丟失的也只能是綁定的數(shù)據(jù)包,并不會(huì)對(duì)下次傳來的數(shù)據(jù)產(chǎn)生影響,實(shí)驗(yàn)的偽數(shù)據(jù)就不會(huì)產(chǎn)生了,從而避免了因某一項(xiàng)數(shù)據(jù)丟失而無法匹配或匹配錯(cuò)誤情況的發(fā)生。
2.2基于B/S模式的遠(yuǎn)程面板技術(shù)
基于B/S網(wǎng)絡(luò)模型的遠(yuǎn)程測(cè)控可以通過遠(yuǎn)程面板技術(shù)實(shí)現(xiàn)。測(cè)控服務(wù)器把虛擬儀器應(yīng)用程序的前面板發(fā)布到Web頁(yè)面上,客戶端的用戶便可以通過瀏覽器對(duì)服務(wù)器端的遠(yuǎn)程面板進(jìn)行監(jiān)控。遠(yuǎn)程面板容易配置,能夠跨平臺(tái),無需ActiveX控件、Java Applet或者是CGI腳本,而且可以多同步連接監(jiān)控;控制是動(dòng)態(tài)的,客戶端在瀏覽器中看到的監(jiān)測(cè)畫面同服務(wù)器端完全一致。另外的一個(gè)特點(diǎn)是完全服務(wù)器端管理。
遠(yuǎn)程面板技術(shù)的實(shí)現(xiàn)原理是借助于LabVIEW內(nèi)置的Web Server技術(shù)實(shí)現(xiàn)的。服務(wù)器端利用LabVIEWWeb Publishing Tool把虛擬儀器應(yīng)用程序的前面板嵌入到Web頁(yè)面中,并借助LabVIEW Web Server提供的虛擬儀器Web服務(wù),只要服務(wù)器端的應(yīng)用程序載入內(nèi)存,客戶端便可以通過瀏覽器對(duì)遠(yuǎn)程的虛擬儀器應(yīng)用程序進(jìn)行監(jiān)控。但在同一時(shí)刻,只有一個(gè)用戶具有控制權(quán)限,其余用戶只能對(duì)遠(yuǎn)程面板進(jìn)行監(jiān)測(cè)??蛻舳丝刂频臋?quán)限可以通過遠(yuǎn)程面板的Request/ReleaseCon-trol VI獲得或釋放,服務(wù)器端擁有絕對(duì)的控制權(quán)限。
2.3基于C/S和B/S開發(fā)模式的比較
無論是基于C/S還是B/S網(wǎng)絡(luò)模型實(shí)現(xiàn)遠(yuǎn)程測(cè)控,其核心技術(shù)主要是DataSocket.
3結(jié)束語(yǔ)
虛擬儀器技術(shù)與網(wǎng)絡(luò)技術(shù)的結(jié)合,及其在測(cè)控領(lǐng)域中的應(yīng)用,是對(duì)傳統(tǒng)測(cè)控方式的一場(chǎng)革命。應(yīng)用abVIEW作為虛擬儀器軟件開發(fā)平臺(tái),為開發(fā)高性能的計(jì)算機(jī)測(cè)控系統(tǒng)提供了極大的便利。測(cè)控方式的網(wǎng)絡(luò)化,是未來測(cè)控技術(shù)發(fā)展的必然趨勢(shì),通過建立分布式網(wǎng)絡(luò)測(cè)控系統(tǒng),能夠充分利用現(xiàn)有資源和網(wǎng)絡(luò)帶來的種種好處,實(shí)現(xiàn)各種資源最有效合理的配置。應(yīng)用分布網(wǎng)絡(luò)測(cè)控,可以進(jìn)行多點(diǎn)測(cè)量,多點(diǎn)分析處理。這樣既可以充分發(fā)揮服務(wù)器控制測(cè)試儀器的接口能力,又能發(fā)揮客戶機(jī)數(shù)據(jù)處理能力,而且便于系統(tǒng)的擴(kuò)展。