手機(jī)訪問更快捷
更多流量 更易傳播
隨時(shí)掌握行業(yè)動(dòng)態(tài)
網(wǎng)絡(luò)課堂 行業(yè)直播
產(chǎn)品推薦:水表|流量計(jì)|壓力變送器|熱電偶|液位計(jì)|冷熱沖擊試驗(yàn)箱|水質(zhì)分析|光譜儀|試驗(yàn)機(jī)|試驗(yàn)箱
摘 要: 結(jié)合一個(gè)基于網(wǎng)絡(luò)的虛擬儀表系統(tǒng)的開發(fā)過程,介紹了采用面向?qū)ο蠹夹g(shù)進(jìn)行VI通用面板可視化軟件的設(shè)計(jì)以及實(shí)現(xiàn)網(wǎng)絡(luò)間數(shù)據(jù)傳輸?shù)姆椒ā?
關(guān)鍵詞: 虛擬儀器 可視化 面向?qū)ο?SOCKET
虛擬儀器是指具有虛擬儀器面板的個(gè)人計(jì)算機(jī)儀器,它是計(jì)算機(jī)資源、模塊化功能硬件與用于數(shù)據(jù)分析、過程通信及圖形用戶界面的應(yīng)用軟件的有機(jī)結(jié)合。它利用軟件在屏幕上生成各種儀器面板,完成對(duì)數(shù)據(jù)的處理、表達(dá)、傳送、存儲(chǔ)、顯示等功能。虛擬儀器與傳統(tǒng)儀器相比,其主要優(yōu)點(diǎn)是可以由用戶自己定義、自己設(shè)計(jì)儀器系統(tǒng),以滿足不同的要求,使儀器的功能更加強(qiáng)大、靈活,而且很容易同網(wǎng)絡(luò)、外設(shè)及其他應(yīng)用相連接。這樣既降低了價(jià)格,節(jié)省開發(fā)、維護(hù)的費(fèi)用,又縮短了技術(shù)開發(fā)周期。
虛擬儀器的關(guān)鍵技術(shù)之一就是應(yīng)用軟件,這是因?yàn)椋摂M儀器的主要功能是由軟件來體現(xiàn)的,即“軟件就是儀器”。虛擬儀器的軟件開發(fā)平臺(tái)應(yīng)該提供一個(gè)圖形化的編程設(shè)計(jì)環(huán)境,值得一提的是NI的LabView和LabWindows及HP的VEE。
本文介紹的基于網(wǎng)絡(luò)的虛擬儀表系統(tǒng)是一個(gè)不包含數(shù)據(jù)采集及總線控制系統(tǒng)的虛擬測試平臺(tái),主要用于對(duì)測試數(shù)據(jù)文件的事后處理或?qū)Ρ粶y對(duì)象進(jìn)行實(shí)時(shí)仿真測試,形成網(wǎng)絡(luò)化測試仿真系統(tǒng)。
1 基于網(wǎng)絡(luò)的虛擬儀表系統(tǒng)
系統(tǒng)利用軟件在計(jì)算機(jī)屏幕上生成儀表面板,通過數(shù)據(jù)接口接收需要處理顯示的儀表數(shù)據(jù)或軟件產(chǎn)生的仿真數(shù)據(jù),實(shí)時(shí)顯示刷新數(shù)據(jù)、波形和圖像。該系統(tǒng)具有兩個(gè)主要的特點(diǎn):一是具有方便的交互性;二是實(shí)現(xiàn)了網(wǎng)絡(luò)數(shù)據(jù)傳輸和繪制的實(shí)時(shí)性,可以在不同的網(wǎng)絡(luò)端點(diǎn)顯示不同的虛擬儀表,達(dá)到多機(jī)并行處理的目的。
1.1 系統(tǒng)組成
整個(gè)軟件系統(tǒng)劃分為兩個(gè)獨(dú)立的子系統(tǒng):編控子系統(tǒng)和播出子系統(tǒng)。系統(tǒng)組成如圖1所示。
編控子系統(tǒng)的主要工作是建立、編輯演示模型并控制仿真的啟動(dòng)和結(jié)束。編控子系統(tǒng)又可以劃分為兩個(gè)子模塊:編輯模塊和播出控制模塊。通過編輯模塊,允許用戶設(shè)計(jì)建立滿足自身需要的虛擬儀表模型,也可以對(duì)一個(gè)現(xiàn)有的儀表模型進(jìn)行編輯。通過播出控制模塊可以實(shí)現(xiàn)網(wǎng)絡(luò)仿真功能,建立和播出子系統(tǒng)之間的連接關(guān)系;并通過數(shù)據(jù)接口不斷接收外部輸入的儀表參數(shù),向已建立連接關(guān)系的各播出子系統(tǒng)發(fā)送相應(yīng)的指令/數(shù)據(jù)包以更新儀表顯示狀態(tài)。
播出子系統(tǒng)負(fù)責(zé)接收播出控制系統(tǒng)發(fā)來的指令/數(shù)據(jù)包(包括數(shù)字儀表模型、各種參數(shù)等),對(duì)指令進(jìn)行解釋,不斷刷新顯示當(dāng)前仿真結(jié)果。在播出子系統(tǒng)中可以某可視化對(duì)象是否可見,這樣可以使在不同的計(jì)算機(jī)上運(yùn)行的播出子系統(tǒng)顯示不同的儀表面板來達(dá)到分布式并行處理的目的。
1.2 參數(shù)的網(wǎng)絡(luò)傳輸
系統(tǒng)需要在不同計(jì)算機(jī)之間進(jìn)行參數(shù)傳輸,因此網(wǎng)絡(luò)通信是*的條件。本系統(tǒng)采用的是客戶/服務(wù)器結(jié)構(gòu)的應(yīng)用程序,這種結(jié)構(gòu)非常適用于分布式處理的計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境。由于系統(tǒng)是面向PC機(jī)平臺(tái)的應(yīng)用,因此采用基于TCP/IP協(xié)議的Winsock接口實(shí)現(xiàn)網(wǎng)絡(luò)間的數(shù)據(jù)傳輸。
2 虛擬儀表面板對(duì)象
2.1 面向?qū)ο蟮脑O(shè)計(jì)方法
在虛擬儀表的可視化設(shè)計(jì)過程中,采用了面向?qū)ο蠓椒āR粋€(gè)虛擬儀表系統(tǒng)由許多儀表組成,每個(gè)虛擬儀表均由面板控制,因此按照面向?qū)ο蟮脑O(shè)計(jì)思想將面板分解為具有繼承關(guān)系的面板對(duì)象(Panel Object),每個(gè)面板對(duì)象都有各自的獨(dú)立屬性和行為。
對(duì)于虛擬儀表系統(tǒng),可以將其儀表面板對(duì)象劃分為基本的圖形元素和面板對(duì)象兩類,如圖2所示。基本的圖形元素即圖元包括直線、矩形、橢圓、多邊形和文本等;面板對(duì)象包括按鈕、開關(guān)、旋鈕、動(dòng)態(tài)調(diào)節(jié)器等面板控制控件和指示燈、數(shù)字儀表、指針儀表、圖像顯示器、示波器等面板顯示控件以及其它特殊顯示控件。
2.2 面板對(duì)象數(shù)據(jù)結(jié)構(gòu)
在虛擬儀表系統(tǒng)中,面板對(duì)象是以圖形的方式顯示的,系統(tǒng)允許用戶通過人機(jī)交互的方式對(duì)儀表對(duì)象的屬性參數(shù)進(jìn)行修改。對(duì)象的描述包括了定義面板對(duì)象各組成部分形狀的幾何坐標(biāo)數(shù)據(jù),對(duì)象的屬性如線型、顏色等,還有非幾何的文字或數(shù)值,如對(duì)象名稱和可見信息等,它對(duì)于后處理程序或交互作用的使用是非常有用的。
各種面板對(duì)象都具有共同的屬性,因此基于各種面板對(duì)象的數(shù)據(jù)類型和結(jié)構(gòu),可抽象出通用的基類數(shù)據(jù)結(jié)構(gòu)。綜上所述,可以如下定義面板對(duì)象的基類數(shù)據(jù)結(jié)構(gòu):
class base{
m_csObjectName; 面板對(duì)象名稱
m_bVisible; 可視信息,0——不可見;1
—— 可見
m_crPosition; 面板對(duì)象的位置信息及其包
圍框大小信息
m_logbrush; 繪制該面板對(duì)象時(shí)采用的畫
刷,決定填充屬性
m_logpen; 繪制該面板對(duì)象時(shí)采用的畫
筆,決定線屬性
};
具體的面板對(duì)象的數(shù)據(jù)結(jié)構(gòu)均繼承基類的數(shù)據(jù)結(jié)構(gòu),并在基類的基礎(chǔ)上,根據(jù)不同的面板對(duì)象的屬性和參數(shù),添加相應(yīng)的數(shù)據(jù)類型就可以確定特定的面板對(duì)象數(shù)據(jù)結(jié)構(gòu)。
2.3 虛擬儀表實(shí)例
用戶通過系統(tǒng)提供的虛擬儀表面板對(duì)象,在計(jì)算機(jī)屏幕上通過鼠標(biāo)可以方便地建立滿足自身測試需要的虛擬儀表系統(tǒng)。圖3為利用該開發(fā)平臺(tái)建立的一個(gè)虛擬儀表操作面板實(shí)例。
3 可視化設(shè)計(jì)與實(shí)現(xiàn)
虛擬儀表的可視化技術(shù)主要有兩個(gè)方面:一是面板對(duì)象及其相關(guān)參數(shù)的可視化,即將數(shù)據(jù)轉(zhuǎn)換為圖形或圖像,實(shí)現(xiàn)面板對(duì)象的可視化;二是基于面向?qū)ο蠹夹g(shù)的圖形用戶界面(GUI)設(shè)計(jì),即可視界面設(shè)計(jì)。
相關(guān)產(chǎn)品
免責(zé)聲明
客服熱線: 15267989561
加盟熱線: 15267989561
媒體合作: 0571-87759945
投訴熱線: 0571-87759942
下載儀表站APP
Ybzhan手機(jī)版
Ybzhan公眾號(hào)
Ybzhan小程序