虛擬儀表在VC++中的一種應(yīng)用實(shí)現(xiàn)_第1頁(yè)
虛擬儀表在VC++中的一種應(yīng)用實(shí)現(xiàn)_第2頁(yè)
虛擬儀表在VC++中的一種應(yīng)用實(shí)現(xiàn)_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、虛擬儀表在VC+中的一種應(yīng)用實(shí)現(xiàn)摘要虛擬儀表應(yīng)用越來(lái)越廣泛,本文根據(jù)V開(kāi)發(fā)虛擬儀表的流程和原理,從實(shí)際應(yīng)用角度設(shè)計(jì)了一個(gè)虛擬指南針儀表的實(shí)例。關(guān)鍵詞虛擬儀表;V+面向?qū)ο?;?dòng)態(tài)仿真1引言隨著計(jì)算機(jī)技術(shù)的日益成熟,計(jì)算機(jī)的應(yīng)用已浸透到各個(gè)領(lǐng)域,各種車載裝備也逐步向數(shù)字化、智能化方向開(kāi)展。用數(shù)字化的虛擬儀表取代機(jī)械式傳統(tǒng)儀表已成為實(shí)現(xiàn)車輛自動(dòng)化的一個(gè)重要課題。在車輛中,駕駛員儀外表板是駕駛員獲取各種工況數(shù)據(jù)的重要窗口。長(zhǎng)期以來(lái)駕駛員儀外表板采用機(jī)械式傳統(tǒng)儀表,這種傳統(tǒng)儀表裝置在車輛中占用了固定的空間、顯示精度低、可讀性差、不易擴(kuò)展,而且效率非常低下。而采用虛擬儀表后,在駕駛員前方放置一臺(tái)平板顯示屏

2、,為延續(xù)傳統(tǒng)操作習(xí)慣,將原來(lái)駕駛員儀表盤(pán)的車況數(shù)據(jù)在顯示屏上以模擬表形式顯示,為方便讀數(shù),增加了數(shù)字表及棒圖形式顯示,而對(duì)越限工況及各種報(bào)警,在顯示屏上以圖形指示燈形式指示報(bào)警。顯示屏可以在車輛不同的狀態(tài)下顯示不同的工況參數(shù)及報(bào)警信號(hào),各個(gè)參數(shù)可以根據(jù)需要通過(guò)熱鍵自由切換,采用虛擬儀表后,儀表的讀數(shù)一目了然,可讀性好,讀數(shù)精度高,并且容易晉級(jí)、擴(kuò)展。因此,虛擬儀表是將來(lái)車輛的開(kāi)展方向。2虛擬儀表控件的組成原理儀表解決方案采用完全開(kāi)放的組織架構(gòu),將儀表創(chuàng)立切分為:儀表盤(pán)、指針、度量刻度以及背景幾個(gè)部分,這些部分既互相關(guān)聯(lián),又充分獨(dú)立,當(dāng)創(chuàng)立新的儀表的時(shí)候,可以根據(jù)需要將其進(jìn)展任意組合,例如圓盤(pán)儀

3、表盤(pán)+圓盤(pán)刻度+指針,就可以構(gòu)建如圖所示的儀表。圖1儀表框架原理框架可以由三個(gè)根底類YPaintBase,YShapeBase和YFillBase組成。其中YFillBase是填充根底類(簡(jiǎn)稱“填充),它負(fù)責(zé)對(duì)顏色、圖像的填充,邊框等。YShapeBase是根本圖形根底類(簡(jiǎn)稱“形狀),由此類派生出簡(jiǎn)單的根本圖形,如:圓、三角、五角星、特殊指針款式。YPaintBase是邏輯組合根底類(簡(jiǎn)稱“邏輯),由YPaintBase把YShapeBase和YFillBase進(jìn)展組合,構(gòu)建出復(fù)雜圖形,而復(fù)雜圖形可由YPaintBase的派生類再次組合??蚣芤部捎珊瘮?shù)體來(lái)完成,分別定義一些畫(huà)背景、刻度、指針

4、的函數(shù),即可完成上述功能,本文采用第二種方式來(lái)實(shí)現(xiàn)儀表框架的建立。3應(yīng)用實(shí)例首先建立一個(gè)工程文件命名為eter,采用對(duì)話框格式,其余選擇默認(rèn)選項(xiàng)即可。添加一個(gè)新類eter,里面增加如下函數(shù)體1:vidDraNeedle(D*pD);/畫(huà)指針vidDraeterBakgrund(D*pD,Retret);/畫(huà)儀表背景vidSetAngleRange(intnStartAngleDeg,intnEndAngleDeg);/表盤(pán)圓弧起始終止角度vidSetSubTiks(intnSubTiks);/設(shè)置每?jī)蓚€(gè)大刻度之間分為幾個(gè)子刻度數(shù)vidSetTiks(intnTiks);/設(shè)置整個(gè)表盤(pán)分為幾個(gè)大

5、刻度數(shù)vidDraValue(D*pD);/表盤(pán)上的數(shù)值顯示vidSetlrTik(BLblrTik=FALSE);/設(shè)置刻度盤(pán)顏色vidSetValueDeials(intnDeials);/設(shè)置數(shù)值顯示精度(小數(shù)點(diǎn)后位數(shù))vidSetUnits(StringstrUnits);/設(shè)置單位vidSetSaleDeials(intnDeials);/設(shè)置刻度顯示精度(小數(shù)點(diǎn)后位數(shù))vidSetRange(dubledin,dubledax);/設(shè)置可測(cè)量范圍vidSetNeedlelr(LRREFlrNeedle);/設(shè)置指針顏色vidUpdateNeedle(dubledValue);/更新

6、指針指向當(dāng)前值轉(zhuǎn)貼于論文聯(lián)盟.ll.在對(duì)話框Dlg.pp程序函數(shù)yeterDlg:nInitDialg()中添加_yeter.SetNeedlelr(_lrNeedle);/設(shè)置eter類變量_yeter指針的顏色_yeter.SetlrTik(TRUE);/設(shè)置eter類變量_yeter刻度盤(pán)的顏色SetTier(1,200,NULL);/使指針按照指定時(shí)間間隔轉(zhuǎn)動(dòng)圖2虛擬指南針各個(gè)函數(shù)可以參考相關(guān)的V資料很容易實(shí)現(xiàn),本文主要講解其實(shí)現(xiàn)的原理。并根據(jù)實(shí)際需要制作了如圖所示的虛擬指南針儀表。經(jīng)過(guò)實(shí)驗(yàn)證明可以以非常高的精度和直觀性滿足實(shí)際應(yīng)用需要,到達(dá)了很好的效果。4總結(jié)虛擬儀表的應(yīng)用,使儀表的讀數(shù)更加明晰、直觀,信息量更多,智能化程度更高,因此具有廣泛的應(yīng)用前景。當(dāng)然這一領(lǐng)域在我國(guó)尚處于起步階段,要成為真正實(shí)用階段還有很多工作要做,但隨著技術(shù)的成熟,必將產(chǎn)生深遠(yuǎn)的影響。參考文獻(xiàn)1熊永華,吳敏,曹衛(wèi)華.基于網(wǎng)絡(luò)測(cè)量系統(tǒng)的虛擬儀表的設(shè)計(jì)與應(yīng)用J.計(jì)算機(jī)測(cè)量與控制,2022,14(4):435-436。2王韜,郭玲,史迎春.基于penGVS的虛擬儀表實(shí)現(xiàn)J.計(jì)算機(jī)仿真,2022,23(3):257-258。3譚浩強(qiáng).

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論