a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 虛擬儀表的可視化技術

虛擬儀表的可視化技術

作者: 時間:2012-06-08 來源:網絡 收藏

方案綜述:

本文引用地址:http://www.j9360.com/article/193769.htm

虛擬儀器是指具有虛擬儀器面板的個人計算機儀器,它是計算機資源、模塊化功能 硬件與用于數據分析、過程通信及圖形用戶界面的應用軟件的有機結合。它利用軟件在屏幕上生成各種儀器面板,完成對數據的處理、表達、傳送、存儲、顯示等功 能。虛擬儀器與傳統儀器相比,其主要優點是可以由用戶自己定義、自己設計儀器系統,以滿足不同的要求,使儀器的功能更加強大、靈活,而且很容易同網絡、外 設及其他應用相連接。這樣既降低了價格,節省開發、維護的費用,又縮短了技術開發周期。

虛擬儀器的關鍵技術之一就是應用軟件,這是因為,虛擬儀器的主要功能是由軟件來體現的,即“軟件就是儀器”。虛擬儀器的軟件開發平臺應該提供一個圖形化的編程設計環境,值得一提的是NI的LabView和LabWindows及HP的VEE。

本文介紹的基于網絡的系統是一個不包含數據采集及總線控制系統的虛擬測試平臺,主要用于對測試數據文件的事后處理或對被測對象進行實時仿真測試,形成網絡化測試仿真系統。

1、基于網絡的系統

系統利用軟件在計算機屏幕上生成儀表面板,通過數據接口接收需要處理顯示的儀表數據或軟件產生的仿真數據,實時顯示刷新數據、波形和圖像。該系統具有兩 個主要的特點:一是具有方便的交互性;二是實現了網絡數據傳輸和繪制的實時性,可以在不同的網絡端點顯示不同的,達到多機并行處理的目的。

1.1系統組成

整個軟件系統劃分為兩個獨立的子系統:編控子系統和播出子系統。

編控子系統的主要工作是建立、編輯演示模型并控制仿真的啟動和結束。編控子系統又可以劃分為兩個子模塊:編輯模塊和播出控制模塊。通過編輯模塊,允許用 戶設計建立滿足自身需要的虛擬儀表模型,也可以對一個現有的儀表模型進行編輯。通過播出控制模塊可以實現網絡仿真功能,建立和播出子系統之間的連接關系; 并通過數據接口不斷接收外部輸入的儀表參數,向已建立連接關系的各播出子系統發送相應的指令/數據包以更新儀表顯示狀態。

播出子 系統負責接收播出控制系統發來的指令/數據包(包括數字儀表模型、各種參數等),對指令進行解釋,不斷刷新顯示當前仿真結果。在播出子系統中可以指定某可 視化對象是否可見,這樣可以使在不同的計算機上運行的播出子系統顯示不同的儀表面板來達到分布式并行處理的目的。

1.2 參數的網絡傳輸

系統需要在不同計算機之間進行參數傳輸,因此網絡通信是必不可少的條件。本系統采用的是客戶/服務器結構的應用程序,這種結構非常適用于分布式處理的計 算機網絡環境。由于系統是面向PC機平臺的應用,因此采用基于TCP/IP協議的Winsock接口實現網絡間的數據傳輸。

2、虛擬儀表面板對象

2.1面向對象的設計方法

在虛擬儀表的設計過程中,采用了面向對象方法。一個虛擬儀表系統由許多儀表組成,每個虛擬儀表均由面板控制,因此按照面向對象的設計思想將面板分解為具有繼承關系的面板對象(Panel Object),每個面板對象都有各自的獨立屬性和行為。

對于虛擬儀表系統,可以將其儀表面板對象劃分為基本的圖形元素和專用面板對象兩類,基本的圖形元素即圖元包括直線、矩形、橢圓、多邊形和文本等;專用面 板對象包括按鈕、開關、旋鈕、動態調節器等面板控制控件和指示燈、數字儀表、指針儀表、圖像顯示器、示波器等面板顯示控件以及其它特殊顯示控件。

2.2面板對象數據結構

在虛擬儀表系統中,面板對象是以圖形的方式顯示的,系統允許用戶通過人機交互的方式對儀表對象的屬性參數進行修改。對象的描述包括了定義面板對象各組成 部分形狀的幾何坐標數據,對象的屬性如線型、顏色等,還有非幾何的文字或數值,如對象名稱和可見信息等,它對于后處理程序或交互作用的使用是非常有用的。

各種面板對象都具有共同的屬性,因此基于各種面板對象的數據類型和結構,可抽象出通用的基類數據結構。綜上所述,可以如下定義面板對象的基類數據結構:

class base{

m_csObjectName; 面板對象名稱

m_bVisible; 可視信息,0——不可見;1—— 可見

m_crPosition; 面板對象的位置信息及其包圍框大小信息

m_logbrush; 繪制該面板對象時采用的畫刷,決定填充屬性

m_logpen; 繪制該面板對象時采用的畫筆,決定線屬性

};

具體的面板對象的數據結構均繼承基類的數據結構,并在基類的基礎上,根據不同的面板對象的屬性和參數,添加相應的數據類型就可以確定特定的面板對象數據結構。

2.3 虛擬儀表實例

用戶通過系統提供的虛擬儀表面板對象,在計算機屏幕上通過鼠標可以方便地建立滿足自身測試需要的虛擬儀表系統。

3、設計與實現

虛擬儀表的技術主要有兩個方面:一是面板對象及其相關參數的可視化,即將數據轉換為圖形或圖像,實現面板對象的可視化;二是基于面向對象技術的圖形用戶界面(GUI)設計,即可視界面設計。

在系統設計中采用面向對象直接操縱的圖形交互方式(即GUI),便于用戶直接操縱屏幕上不同的可見面板對象圖元。

3.1面板對象圖元集

定義了一個可擴充的面板對象圖元集,這些對象是面板對象圖形屬性和操作的抽象表示。當建立一個面板對象或編輯其屬性時,用戶只需指定面板對象,直接進行繪制、移動、復制、刪除等操作,該對象能夠自己重新繪制或重畫,用戶不須關心如何做圖。

3.2交互繪圖工具類

對于交互反饋,沒有集成在面板對象內,而是定義了交互繪圖工具類(面板對象類的友元),用于處理施加在面板對象上的交互操作,這樣保證了通用性、獨立性和可擴充的能力。圖4給出了交互繪圖工具的類層次關系。

3.3數據的動態圖形顯示

數據可視化(Data Visualization)就是將數據以特定的動態圖形方式顯示在計算機屏幕上,供用戶監控之用。在虛擬儀表中,諸如儀表的指針偏轉和示波器的波形變化等都反映了數據的動態變化,即面板對象圖形在測試過程中具有動畫的效果。

虛擬儀表的數據可視化就是構造一個從數據集到面板對象集的映射函數F:DG→V,它需要刻劃每一(dg,v)對的可視化語義。這樣,對于不同的面板對象可以建立圖形相對于其相應的輸入變量變化的函數關系。

在應用系統的設計中,當數據變化頻繁時,對應的面板對象實時刷新將造成屏幕閃爍。事實上,當數據變化時,面板對象圖形的許多單元是固定不變的,變化的只是與數據存在參數映射的部分區域。因此在設計時,構造了用于顯示動態數據的繪圖函數。

在本系統中,虛擬儀表測試仿真計算機的數據是通過網絡從主控計算機傳來的。仿真計算機運行播出程序,啟動面板對象顯示線程,并通過網絡不斷地獲取數據,同時為面板對象分派入數據,實時顯示刷新儀表面板畫面。

在Windows環境下,我們應用VC++面向對象的類編程技術開發的虛擬儀表可視化通用系統,具有友好的圖形用戶接口,用戶可以方便地設計滿足自己需要的儀表系統。同時該系統支持網絡運行方式,實現了網絡可視化仿真。



關鍵詞: 虛擬儀表 可視化

評論


相關推薦

技術專區

關閉