<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 虛擬測試儀表的可視化技術(shù)

虛擬測試儀表的可視化技術(shù)

作者: 時(shí)間:2012-08-29 來(lái)源:網(wǎng)絡(luò ) 收藏

方案綜述:

本文引用地址:http://dyxdggzs.com/article/193320.htm

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

虛擬儀器的關(guān)鍵技術(shù)之一就是應用軟件,這是因為,虛擬儀器的主要功能是由軟件來(lái)體現的,即軟件就是儀器。虛擬儀器的軟件開(kāi)發(fā)平臺應該提供一個(gè)圖形化的編程設計環(huán)境,值得一提的是NI的LabView和LabWindows及HP的VEE。

本文介紹的基于網(wǎng)絡(luò )的虛擬系統是一個(gè)不包含數據采集及總線(xiàn)控制系統的平臺,主要用于對測試數據文件的事后處理或對被測對象進(jìn)行實(shí)時(shí)仿真測試,形成網(wǎng)絡(luò )化測試仿真系統。

1、基于網(wǎng)絡(luò )的系統

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

1.1系統組成

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

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

播出子系統負責接收播出控制系統發(fā)來(lái)的指令/數據包(包括數字儀表模型、各種參數等),對指令進(jìn)行解釋?zhuān)粩嗨⑿嘛@示當前仿真結果。在播出子系統中可以指定某對象是否可見(jiàn),這樣可以使在不同的計算機上運行的播出子系統顯示不同的儀表面板來(lái)達到分布式并行處理的目的。

1.2 參數的網(wǎng)絡(luò )傳輸

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

2、虛擬儀表面板對象

2.1面向對象的設計方法

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

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

2.2面板對象數據結構

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

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

class base{

m_csObjectName; 面板對象名稱(chēng)

m_bVisible; 可視信息,0不可見(jiàn);1 可見(jiàn)

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

m_logbrush; 繪制該面板對象時(shí)采用的畫(huà)刷,決定填充屬性

m_logpen; 繪制該面板對象時(shí)采用的畫(huà)筆,決定線(xiàn)屬性

};

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

2.3 儀表實(shí)例

用戶(hù)通過(guò)系統提供的虛擬

儀表面板對象,在計算機屏幕上通過(guò)鼠標可以方便地建立滿(mǎn)足自身測試需要的虛擬儀表系統。

3、設計與實(shí)現

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

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

3.1面板對象圖元集

定義了一個(gè)可擴充的面板對象圖元集,這些對象是面板對象圖形屬性和操作的抽象表示。當建立一個(gè)面板對象或編輯其屬性時(shí),用戶(hù)只需指定面板對象,直接進(jìn)行繪制、移動(dòng)、復制、刪除等操作,該對象能夠自己重新繪制或重畫(huà),用戶(hù)不須關(guān)心如何做圖。

3.2交互繪圖工具類(lèi)

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

3.3數據的動(dòng)態(tài)圖形顯示

數據可視化(Data Visualization)就是將數據以特定

的動(dòng)態(tài)圖形方式顯示在計算機屏幕上,供用戶(hù)監控之用。在虛擬儀表中,諸如儀表的指針偏轉和示波器的波形變化等都反映了數據的動(dòng)態(tài)變化,即面板對象圖形在測試過(guò)程中具有動(dòng)畫(huà)的效果。

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

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

在本系統中,虛擬儀表測試仿真計算機的數據是通過(guò)網(wǎng)絡(luò )從主控計算機傳來(lái)的。仿真計算機運行播出程序,啟動(dòng)面板對象顯示線(xiàn)程,并通過(guò)網(wǎng)絡(luò )不斷地獲取數據,同時(shí)為面板對象分派入數據,實(shí)時(shí)顯示刷新儀表面板畫(huà)面。

在Windows環(huán)境下,我們應用VC++面向對象的類(lèi)編程技術(shù)開(kāi)發(fā)的虛擬儀表可視化通用系統,具有友好的圖形用戶(hù)接口,用戶(hù)可以方便地設計滿(mǎn)足自己需要的儀表系統。同時(shí)該系統支持網(wǎng)絡(luò )運行方式,實(shí)現了網(wǎng)絡(luò )可視化仿真。



關(guān)鍵詞: 虛擬測試 可視化 儀表

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>