新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于虛擬儀器的汽車檢測(cè)儀設(shè)計(jì)與實(shí)現(xiàn)

基于虛擬儀器的汽車檢測(cè)儀設(shè)計(jì)與實(shí)現(xiàn)

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

當(dāng)需要暫停設(shè)備時(shí),執(zhí)行StopDeviceProAD,當(dāng)需要關(guān)閉 A/D設(shè)備時(shí),ReleaseDeviceProAD便可實(shí)現(xiàn),但設(shè)備對(duì)象hDevice依然存在。ReadDeviceProAD_Half函數(shù)在半滿狀態(tài)有效時(shí)也可以單點(diǎn)或幾點(diǎn)的方式讀取A/D數(shù)據(jù),只是到下一次半滿信號(hào)到來(lái)時(shí)的時(shí)間間隔會(huì)變得非常短,而不再是半滿間隔。
2.4 用中斷方式采集數(shù)據(jù)
用CreateDevice函數(shù)創(chuàng)建設(shè)備對(duì)象,同時(shí)調(diào)用CreateSystemEvent函數(shù)創(chuàng)建一個(gè)內(nèi)核事件對(duì)象句柄hEvent賦給InitDeviceIntAD的相應(yīng)參數(shù),它將作為接收A/D半滿中斷事件的變量。啟動(dòng)A/D部件,開(kāi)始A/D采樣,接著調(diào)用Win32 API函數(shù)WaitForSingleObject等待hEvent中斷事件的發(fā)生,在中斷未到時(shí),自動(dòng)使所在線程進(jìn)入睡眠狀態(tài)(不消耗CPU時(shí)間),反之,則立即喚醒所在線程,執(zhí)行它下面的代碼,此時(shí)您便可用ReadDeviceIntAD函數(shù)讀取一批半滿長(zhǎng)度(或半滿以下)的A/D數(shù)據(jù),然后再接著等待FIFO的半滿中斷事件,若有效再讀取,就這樣反復(fù)讀取A/D數(shù)據(jù)即可實(shí)現(xiàn)連續(xù)不間斷采樣。用同樣函數(shù)可暫停和關(guān)閉A/D設(shè)備。

3 軟件編程
3.1 編程框圖
軟件總體框圖如圖3所示。

3.2 程序界面設(shè)計(jì)
虛擬式的軟件界面如圖4所示。

軟件啟動(dòng)畫面有兩個(gè)大內(nèi)容,分別是示波器模式和電壓表模式。示波器項(xiàng)可以顯示各種電子部件產(chǎn)生的在線實(shí)時(shí)信號(hào);電壓表項(xiàng)可以顯示信號(hào)的數(shù)據(jù)大小,要求輸入通道數(shù)(最大為32個(gè))和采集頻率,左下框顯示各通道電壓波形的峰峰值和頻率。



關(guān)鍵詞: 虛擬儀器 汽車 檢測(cè)儀

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉