新聞中心

        EEPW首頁 > 測試測量 > 遠程虛擬儀器管理實戰

        遠程虛擬儀器管理實戰

        ——
        作者:上海大學 劉錟 時間:2007-05-31 來源: 收藏

          

        技術的出現徹底打破了傳統儀器由廠家定義、用戶無法改變的模式,用戶借助通用的儀器硬件平臺,調用不同的測試軟件,就可以構成不同功能的儀器。本文對中的網絡通信、工作原理、實現方案等作了系統的探討和研究。 

        醫生通過互聯網操控異地的機器人,對患者成功實施手術。

        系統是近年來誕生并發展迅速的一種新型網絡測控技術,它不同于一般的信息網絡技術,其主要應用于遠方有傳感器或其他數據接收設備得到的數據的傳輸與通信。例如,醫療系統會診、環境監測與數據分析等等。本文對遠程虛擬儀器中的網絡通信、工作原理、實現方案等作了系統的探討和研究。 

        虛擬儀器與遠程虛擬儀器 

        隨著微電子技術、計算機技術、軟件技術和網絡技術的高度發展,在科研、工業和醫學領域,隨著低成本高性能的計算機資源的有效利用,數字化平臺逐漸成為測量儀器的基礎。儀器技術和計算機技術的深層次的結合創造了虛擬儀器的概念,將計算機(處理器、存儲器、顯示器等)和通用儀器硬件(A/D、D/A 變換器、數字輸入/輸出、定時和信號處理器等)與用于數據分析、過程通訊及用戶圖形界面的軟件有效地結合起來,就組成了虛擬儀器。 

        虛擬儀器技術的出現徹底打破了傳統儀器由廠家定義、用戶無法改變的模式,用戶借助通用的儀器硬件平臺,調用不同的測試軟件,就可以構成不同功能的儀器。虛擬儀器能提供給用戶一個充分發揮自己才能和想象力的空間,用戶可以隨心所欲地設計和構造自己的儀器系統以滿足多種多樣的測試需求,而所需的只是一些必要的硬件、軟件加上通用計算機。儀器的智能化和虛擬化已經成為未來各級實驗室以及研究機構發展的方向,“The Soft is Instruments(軟件就是儀器)”正在被廣大科技、教學工作者逐步接受。 

        繼“軟件就是儀器”的概念之后,出現了“網絡就是儀器”的新觀念。遠程虛擬儀器就是虛擬儀器在網絡領域的擴展。遠程虛擬儀器技術結合了虛擬儀器技術與網絡技術,將虛擬儀器的應用范圍拓展到整個Internet網上,使信號采集、傳輸和處理一體化,一方面可以使許多昂貴的硬件資源得以共享,充分利用現有的實驗室資源; 另一方面還有利于遠程教育實驗教學的開展,從而解決限制遠程教育中的實驗教學進行的難題。因此構建基于Internet上的遠程虛擬儀器實驗系統已經成為虛擬儀器應用發展的一個重要的環節。遠程虛擬儀器結構模式如圖1所示。 


        圖1 遠程虛擬儀器的結構模式
        遠程虛擬儀器的實現 

        無論哪種遠程虛擬儀器系統,都是將硬件儀器(傳感器、調理放大器、A/D卡)搭載到遠端服務器上,加上應用軟件并和本地的筆記本電腦、臺式 PC 機或工作站等各種計算機通過網絡相連而構成的,實現了用計算機和網絡技術的全數字化的采集測試分析,因此遠程虛擬儀器的發展跟計算機和網絡技術的發展步伐完全同步,顯示出其靈活性和強大的生命力,Internet為實現遠程虛擬儀器系統提供了一個很好的平臺,利用瀏覽器/服務器模式,操控者可以在瀏覽器端控制遠程服務器進行測試以及進行遠程實驗的操作,從而實現對遠地實驗系統的遠程控制和監控。 

        遠程虛擬儀器是虛擬儀器在網絡領域的拓展,除了具備虛擬儀器的全部優點外,主要優勢還在于不受地域、環境的限制。用網絡技術組建的遠程虛擬儀器系統,可以使信號采集、傳輸和處理一體化,不但可以共享許多昂貴的硬件資源,而且還便于擴展測試系統、提高測試效率,所以應用極為廣泛,是科研、教育、開發、測量、檢測、計量、測控等領域不可多得的好工具,更值得一提的是它的出現對遠程醫療、遠程診斷等新興領域的發展有重要意義,也使現代遠程教育的全面開展成為可能,同時也會使教學實驗走上一個新的發展高度。 

        遠程虛擬儀器開發和實現方案 

        Internet 網絡技術和基于計算機技術的虛擬儀器()系統技術正在推動著遠程測控技術的迅速發展。基于 Internet 的遠程測控開發主要研究和討論基于Web的虛擬儀器技術,本文則基于最流行的現場測控開發平臺LabEW,討論了四種用于開發遠程虛擬儀器的技術實現過程及其工作原理,并對其實現特點進行了分析。 

        1. DataSocket 技術 


        LabEW 具有強大的網絡通信功能,這種功能使得 LabVIEW 的用戶可以很容易地編寫出具有強大網絡通信能力的 LabVIEW 應用軟件,實現遠程虛擬儀器。DataSocket 是 LabVIEW 最新提供的一個網絡測控系統開發工具,它大大簡化甚至免除了網絡通信編程,用戶使用這種技術可以很容易地在互聯網上實現高速實時數據交換。借助它可以在不同的應用程序和數據源之間共享數據并進行實時數據(Live data)的傳輸。圖2描述了 DataSocket 的體系結構。 

        DataSocket 可以訪問本地文件以及 HTTP 和 FTP 服務器上的數據,并為低層通信協議提供了統一的 API 函數,編程人員無需為不同的數據格式和通信協議編寫具體的通信程序代碼。DataSocket 使用一種增強型數據類型來交換儀器類型的數據,這種數據類型包括數據特性(如采樣率、操作員、通道數、時間、及采樣精度)和實際測試數據。 

        DataSocket 遵循了 TCP/IP 協議,并對底層進行了高度封裝,所提供的參數簡單友好,用類似與 Web 中的統一資源定位符(Uniform Resource Locator,URL)定位數據源,URL 不同的前綴代表了不同的數據類型。FILE 表示本地文件,HTTP 為超文本傳輸資源,FTP 為文件傳輸服務器上的資源,OPC表示訪問的資源是 OPC 服務器,DSTP(DataSocket Transfer Protocal,DataSocket 傳輸協議)則說明數據是來自 DataSocket 服務器的實時數據。 

        2. 基于 ActiveX 技術 

        組件式技術已經成為當今軟件技術的潮流之一,組件式技術是一種廣泛的體系結構,支持包括設計、開發和部署在內的整個生命周期計算的理念,它將徹底改變目前軟件生產和開發的模式。組件是一種能夠提供某種服務的自包含的軟件模塊,它封裝了一定的數據(屬性)和方法,并提供特定的接口,開發人員利用這一特定的接口來使用組件,并使其與其它組件交互通信,以此來構造應用程序,用戶可根據自己的需求靈活購買軟件組件。他們只需編寫一些“膠水編碼”將各個組件“粘”起來,便可構建自己的應用系統,就如同今天我們購買板卡組裝計算機一樣簡單。 

        目前,基于組件式技術的規范主要有 Microsoft 的 COM/ActiveX 和 Sun的 Java/JavaBeans。由于 Microsoft 的 Windows 操作系統已經成為桌面 PC 操作系統的事實上的標準,所以 COM/ActiveX 得到了許多第三方廠商的支持。利用 COM/ActiveX 技術,我們可創建各式各樣的桌面和 Internet 應用程序。ActiveX 控件技術是 COM/ActiveX 技術的重要組成部分,是 COM 技術在 Internet 上的擴展。ActiveX 是一種可以在應用程序和網絡十計算機上重復使用的程序對象。創建它的主要技術是 Microsoft 的 COM/ActiveX 技術,組件對象模型(COM)是其基礎。ActiveX 控件可以以小程戶下載裝入網頁,也可以用在一般的 Windows 應用程序環境中。 

        ActiveX 控件可以由不同的可以識別 Microsoft 的 COM 技術的語言開發,它是一個組件,它可以在同一個或分布式的計算環境中開發或使用。COM 的分布式支持技術稱為 DCOM。在實現中,ActiveX 控件是一個動態鏈接庫(DLL)模塊,它包括在容器(包括 COM 程序接口的應用程序)當中,這種可重復使用的組件技術可以加快開發速度和質量。 

        通常情況下,基于以下三點可以考慮采用 ActiveX 控件實現遠程測控功能: 

        ● 瀏覽器對組件技術,尤其是ActiveX 的廣泛支持; 

        ● ActiveX 控件在客戶端的執行效率要高于 JavaApplet; 

        ● 易于開發,Delphi 開發的程序可以直接以 ActiveX 控件形式進行網絡開發。 

        在遠程測控系統開發中,我們可以用 Borland Delphi 開發平臺對遠程測控客戶端軟件進行重新開發,并以 ActiveX 控件的形式進行封裝。當客戶端在訪問服務器網頁時,會自動下載和運行該 ActiveX 控件程序,從而實現了類似Java Applet 程序所實現的功能。 

        3. 基于 Java Applet 技術 

        (1)Java Applet 技術的特點 

        首先,Applet 程序是從服務器端自動下載到客戶端執行,并且是嵌入到瀏覽器中運行。對用戶而言,這與一般的上網瀏覽沒有任何區別,Applet 只能在瀏覽器環境內運行,只需所用的瀏覽器支持 Java 即可,而當前幾乎所有的瀏覽器均支持 Java 并擁有 Java 虛擬機,無須下載插件。而且,Java 方便的語言操作能力,無論在界面操作還是程序設計上,均給開發人員帶來極大的便利。 

        其次,Java 語言具有強大而完善的網絡開發功能。在 Applet 程序中,很容易就可以實現同遠程服務器之間建立連接并控制數據傳遞。當客戶端打開服務器網頁時,會自動下載和啟動 Applet 程序,這樣,客戶端只需簡單操作 Applet程序即可控制遠端系統工作和結果數據傳輸。 

        第三,由于 Java 本身是一種優秀的跨平臺語言,這使得無論在 Windows操作系統還是 Unix 系統抑或是 Linux 系統下,針對客戶端開發的 Applet 程序都無須修改而做到完全移植。這一特點很大程度地擴展了遠程測控系統的應用范圍。 

        (2)Java Applet的工作原理及通信過程 

        應用本方案實現的遠程測控系統的基本結構示意圖如圖3所示。客戶端由兩個部分組成,一個是網絡瀏覽器,另一部分則是嵌入到瀏覽器頁面中運行的 Java Applet 程序,客戶端通過 Internet 和支持 Java Applet 的瀏覽器來訪問服務器,自動下載并運行 Applet。服務器端由 Web 服務器、LabVIEW 程序和DataServer 三部分組成。Web 服務器為客戶端提供 WWW 服務,使得客戶端能夠通過瀏覽器訪問服務器。LabVIEW 程序負責服務器端的現場測控。而 Data Server 一方面同客戶端 JavaApplet 程序建立網絡連接,作為 Applet 程序的數據服務器,按受客戶端 Applet 程序的請求并傳送數據; 另一方面又負責響應Applet 程序的請求,以客戶方式對 LabVIEW 程序進行相應的控制。 


        具體過程如下: 

        ①客戶端 Web 瀏覽器請求服務器端的網頁,JavaApplet 自動下載到客戶端并啟動運行。建立客戶端于服務器端 Data Server 的網絡連接。 

        ②Applet 向 Data Server 發送數據請求,實現數據接收和顯示。 

        ③Applet 程序獲取鼠標和鍵盤事件,并發送到服務器端的 Data Server,Data Server 對 LabVIEW 程序進行相應的控制,從而間接實現遠程控制。 

        4. AppletVIEW 技術 


        AppletVIEW 是 Nacimiento Software Corporation 的產品,它能夠把由LabVIEW 以及 LabWindow/CVI 生成的虛擬儀器發布到 Web 上。 

        (1) AppletVIEW 技術的特點 

        客戶端程序采用 AppletVIEW 開發實現,AppletVIEW 是一個為 LabVIEW開發 Web 應用程序的軟件,可以實現 B/S 模式虛擬儀器。它為服務器端提供了網絡開發的 G 語言支持,從而在服務器端,可以在 LabVIEW 平臺上結合AppletVIEW 的代理功能更好的解決網絡多用戶問題。而且,數據的傳輸是基于 Socket 的一種傳輸方式,具有較高的數據吞吐量。針對客戶端程序開發,AppletVIEW 提供了一個友好的可視化開發環境和—些測控常用的組件,這個環境也加快了客戶端程序的設計開發。 

        (2) AppletVIEW 的工作原理及通信過程 

        AppleWIEW 開發包的一部分是 VITP 服務器,它負責處理本地儀器和遠端儀器的經由 Web 的通信。在服務器端的儀器系統里,它作為 LabVIEW 程序運行,提供了一個在 AppletVIEW 子儀器和遠端儀器之間的接口界面。此服務器經過 AppletVIEW 子儀器的來自以及送入虛擬儀器的數據,并且通過JavaApplet ID 以及一組數據管道在本地儀器和遠端儀器間進行通信。在遠端可以監控本地儀器的運行狀態,具體通信過程如圖4所示,過程描述如下: 


        1-2: Web 瀏覽器從 Web 服務器請求 HTML 頁面,Web 服務器發送此頁面到 Web 瀏覽器。 

        3-4: 在瀏覽器端,帶有< Applet>標示的 HTML 頁面說明有 Java 程序被調用,Web 瀏覽器的 Java 虛擬機運行并從 Web 服務器請求 Applet 類文件。需要的 Java 類文件在 AppletVIEW.jar 中。 

        5: 服務器發送 AppletVIEW.jar 到 Web 瀏覽器。 

        6-7: AppletVIEW.jar 加載后,程序開始運行,請求“configureFile”中的參數。 

        8: Appletbuilder 生成的 MyApplet.jvi 被送到 Web 瀏覽器的程序中。 

        9: Java 程序與服務器通過數據端口(默認 4749)建立 TCP/IP 連接,通信過程建立。 

        鏈接:四種實現方案比較 

        基于DataSocket技術的遠程測控方案,優點是DataSocket定義了一個測控數據傳輸協議,從而利用這種方法可以達到很高的數據傳輸效率,實時性能相當好。缺點是它只能實現C/S模式而不能實現B/S模式,需要同時開發服務器端程序和客戶端程序,客戶端控制功能太弱,尚有待加強。 

        基于ActiveX實現方案,在實現上采用 Delphi開發,它的優點是開發效率高,而且一旦程序下載成功,比起同樣功能的Java 程序具有更高的執行速度和效率,占用的系統資源也相對比較少; 但是,實驗證明,它生成的ActiveX控件程序的尺寸比 Java 程序要大許多,客戶端需要花費大量的時間來下載這個程序。 

        基于Java Applet技術的優點是可以實現B/S模式,只需開發服務器端程序,開發效率高,客戶端無須下載插件,程序較小便于下載執行; 缺點是圖像質量差,動態顯示有跳動感不連續。 

        基于AppletVIEW組件技術實現的遠程測控方案,可以實現B/S模式,AppletVIEW 是第三方開發的遠程測控專用組件,為遠程測控系統提供了可視化開發環境,能把LabVIEW儀器面板自動生成Java儀器面板,所以具有很高的開發效率。而且,數據的傳輸是基于Socket的一種傳輸方式,具有較高的數據吞吐量,缺點是需要修改本地測控程序,并在本地VI程序中調用AppletVIEW提供的一些網絡控件VI,來與瀏覽器端的Java程序通信,從而實現網絡測控。 

        遠程虛擬儀器是虛擬儀器在網絡領域的拓展,它的許多優點使其應用極為廣泛,是科研、教育、開發、測量、檢測、計量、測控等領域不可多得的好工具。網絡通信技術和虛擬儀器技術相結合是本文的討論重點,文中對遠程虛擬儀器的網絡結構及構成、開發方案及工作原理都作了較為系統的研究。最后再給出幾點經驗和建議: 

        (1) 如果是實驗室或小范圍的遠程測控,可采用C/S模式,客戶端實現與服務器直接相連,沒有中間環節,因此響應速度快。如果是遠距離、大范圍的遠程測控工作,可采用B/S模式,具有分布性特點,可以隨時隨地進行操作,而且升級維護方便。 

        (2) DataSocket定義了一個測控數據傳輸協議,數據傳輸效率高,實時性能好,但只能實現C/S模式。而基于ActiveX 技術開發效率高,具有更高的執行速度和效率,但生成的ActiveX控件的尺寸較大,客戶端需要花費大量的時間來下載這個程序。采用Java Applet技術可以實現B/S模式,開發效率高,實驗證明圖像質量差,動態顯示有跳動感不連續。基于AppletVIEW組件技術可以實現B/S模式,開發效率高,數據的傳輸是基于Socket的一種傳輸方式,具有較高的數據吞吐量,試驗結果表明,系統穩定可靠,實時性好。 

        (3) 服務器端IIS中的Web服務器使用的是8080端口,和LabVIEW中的Web服務器沖突,應修改端口號或關閉IIS中的 Web 服務器,這樣才能使AppletVIEW通過8080端口和LabVIEW通信。 

        網絡技術和虛擬儀器的結合,使 VI 拓展到真正的分布式網絡測試應用環境中去,對于豐富測試手段,提高測試效率,共享信息,充分合理地利用現有資源都有著很好的作用,將成為現代儀器儀表發展的方向。  

         



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁夏| 宁远县| 镇雄县| 进贤县| 治县。| 昆明市| 监利县| 敦煌市| 黔西| 丰县| 延津县| 儋州市| 洛浦县| 白山市| 齐河县| 丽江市| 安龙县| 库伦旗| 乌兰浩特市| 江口县| 酒泉市| 洪雅县| 南木林县| 长阳| 城固县| 利津县| 柳河县| 苍梧县| 汨罗市| 安新县| 美姑县| 上饶市| 伊吾县| 商河县| 宝鸡市| 高安市| 灵寿县| 万安县| 荥经县| 遵义市| 龙州县|