基于LabVIEW的遠程測控方法
摘要:文章對利用虛擬儀器技術實施遠程網絡測控的關鍵技術進行了分析,并比較了以C/S和B/S方式實現的遠程測控。
1 遠程測試系統的組成
根據遠程測控數據流量狀況及不同的測試需求可采用基于Client/Server(簡寫為C/S)和Browser/Server(簡寫為B/S)兩種網絡模型組建遠程測試系統。C/S模式適合數據傳送量大的情況,而且具有效率高,數據可靠完整、兼容性強等特點。而對于數據傳送量不大,需要遠程模擬仿真的情況可以采用B/S模式,這樣對于客戶端的需求會很低,不需在客戶端上安裝相應的客戶端軟件,只需要瀏覽器便可登陸服務器對遠程測試進行監控。遠程測控系統結構圖如圖1所示。其中測控服務器作為測量發布節點,主要完成數據采集、數據發布以及將采集的數據存儲到數據庫服務器中的功能。Web服務器主要提供基本的網站功能,客戶端通過訪問該網站,可以獲得數據庫服務器中的實時作業信息和歷史數據。另外,客戶端利用虛擬儀器應用程序(C/S方式)或者通過瀏覽器監控遠程面板(B/S方式)建立與服務器端的網絡通信,監測和控制服務器端的作業,接收來自服務器端的作業數據,并進行數據分析處理、數據處理結果的存儲與顯示、生成數據報表以及數據或波形打印等。
根據遠程測控數據流量狀況及不同的測試需求可采用基于Client/Server(簡寫為C/S)和Browser/Server(簡寫為B/S)兩種網絡模型組建遠程測試系統。C/S模式適合數據傳送量大的情況,而且具有效率高,數據可靠完整、兼容性強等特點。而對于數據傳送量不大,需要遠程模擬仿真的情況可以采用B/S模式,這樣對于客戶端的需求會很低,不需在客戶端上安裝相應的客戶端軟件,只需要瀏覽器便可登陸服務器對遠程測試進行監控。遠程測控系統結構圖如圖1所示。其中測控服務器作為測量發布節點,主要完成數據采集、數據發布以及將采集的數據存儲到數據庫服務器中的功能。Web服務器主要提供基本的網站功能,客戶端通過訪問該網站,可以獲得數據庫服務器中的實時作業信息和歷史數據。另外,客戶端利用虛擬儀器應用程序(C/S方式)或者通過瀏覽器監控遠程面板(B/S方式)建立與服務器端的網絡通信,監測和控制服務器端的作業,接收來自服務器端的作業數據,并進行數據分析處理、數據處理結果的存儲與顯示、生成數據報表以及數據或波形打印等。

2 遠程測控實現技術
2.1基于C/S模式的DataSocket技術
DataSocket控件能根據具體的數據傳輸要求轉換數據。DataSocket由DataSocket Server、DataSocket Pub-lisher、DataSocket Subscriber、Data Item組成。
DataSocket Publisher和DataSocket Subscriber是DataSocket Server的客戶端,通過DataSocket Server進行數據共享和交換,三者可以運行在同一臺機器上或三臺各自的機器上(視具體情況而定),如圖2所示。但把服務器同發布者和接收者分離則可以提高系統的安全性和可靠性。數據交換的雙方無需直接對話,而是向第三方DataSocket Server讀取或者寫入數據,因此DataSocket簡化了應用程序和計算機之間的通訊,應用程序的數據接口變得非常簡單,數據類型也無需轉換。

利用DataSocket技術實現網絡化虛擬試驗具有許多優越性。首先是安全性高。利用DataSocket ServerManager可以設定客戶端連接數目、數據項數目,創建用戶組和用戶,設置用戶讀/寫以及創建數據項的權限(未設定權限的用戶對服務器不可訪問)。另外,DataSocket傳輸數據的端口使用3015,此端口已經通過IANA(Internet地址分配機構)注冊為DSTP協議專用端口,因此可以在防火墻外部的計算機上運行DataSocket服務器,同時可保證在防火墻內部的計算機上安全的運行數據發布等應用程序,如圖3所示。DataSocket傳輸的數據本身包含很小的頭文件,因此,數據傳輸速度快,適合于在網絡上大量實時數據的傳輸。

為實現遠程測控,利用DataSocket技術采取如下方案:利用網絡上的單獨的一臺計算機作為DataSocketServer;測控服務器完成數據采集和發布數據的功能,即測控服務器作為DataSocketPublisher;連接到網絡上的客戶計算機作為DataSocketSubscriber。由測控服務器采集數據,利用DataSocketPublisher把采集的數據發布到DataSocketServer中,客戶端便可以利用DataSocketSubscriber從DataSocketServer中接收數據,這樣可保證客戶端原始實驗數據的一致性。應用DataSocket技術進行實時數據傳輸的框圖程序如圖4所示。

在需要同時進行多個信號的采集時,采集的數據跟時間是密切相關的,因此,通道、時間信息需要和采集的實時數據一起進行傳遞。這種情況可以采取在發布端發送多個數據項的方法解決,即把實時數據、通道值、時間分別建立各自的數據項,之后經采集服務器端的DataSocket Publisher分別發布給DataSocket Server,再由客戶端分別接收。但經測試發現,會產生偽數據現象。為保證客戶端接收數據的一致性,采用數據屬性方法,把通道、時間作為數據屬性同實時數據綁定后再進行數據發布。這樣在服務器和客戶端之間傳遞的是實時數據、通道和時間的綁定整體,所有的傳遞信息同時到達數據接收端,之后再由接收端利用數據屬性來提取相應的數據。采用這種措施后即使傳輸過程中出現數據丟失現象,丟失的也只能是綁定的數據包,并不會對下次傳來的數據產生影響,實驗的偽數據就不會產生了,從而避免了因某一項數據丟失而無法匹配或匹配錯誤情況的發生。
2.2 基于B/S模式的遠程面板技術
基于B/S網絡模型的遠程測控可以通過遠程面板技術實現。測控服務器把虛擬儀器應用程序的前面 板發布到Web頁面上,客戶端的用戶便可以通過瀏覽器對服務器端的遠程面板進行監控。遠程面板容易配置,能夠跨平臺,無需ActiveX控件、Java Applet或者是CGI腳本,而且可以多同步連接監控;控制是動態的,客戶端在瀏覽器中看到的監測畫面同服務器端完全一致。另外的一個特點是完全服務器端管理。
遠程面板技術的實現原理是借助于LabVIEW內置的Web Server技術實現的。服務器端利用LabVIEWWeb Publishing Tool把虛擬儀器應用程序的前面板嵌入到Web頁面中,并借助LabVIEW Web Server提供的虛擬儀器Web服務,只要服務器端的應用程序載入內存,客戶端便可以通過瀏覽器對遠程的虛擬儀器應用程序進行監控。但在同一時刻,只有一個用戶具有控制權限,其余用戶只能對遠程面板進行監測。客戶端控制的權限可以通過遠程面板的Request/ReleaseCon-trol VI獲得或釋放,服務器端擁有絕對的控制權限。
2.3 基于C/S和B/S開發模式的比較
無論是基于C/S還是B/S網絡模型實現遠程測控,其核心技術主要是DataSocket。它們各有其優缺點,詳情參見表1。
3 結束語
虛擬儀器技術與網絡技術的結合,及其在測控領域中的應用,是對傳統測控方式的一場革命。應用abVIEW作為虛擬儀器軟件開發平臺,為開發高性能的計算機測控系統提供了極大的便利。測控方式的網絡化,是未來測控技術發展的必然趨勢,通過建立分布式網絡測控系統,能夠充分利用現有資源和網絡帶來的種種好處,實現各種資源最有效合理的配置。應用分布網絡測控,可以進行多點測量,多點分析處理。這樣既可以充分發揮服務器控制測試儀器的接口能力,又能發揮客戶機數據處理能力,而且便于系統的擴展。
文章版權歸西部工控xbgk所有,未經許可不得轉載。