基于虛擬儀器的氣體濃度檢測系統(tǒng)的設(shè)計(jì)
4.2 數(shù)據(jù)采集處理模塊
本文利用采集卡采集的是模擬輸入信號,NI公司的數(shù)據(jù)采集卡對于模擬信號的輸入可以分為三種連接形式:差分(Differential),參考地單端(Reference Single-ended RSE),無參考地單端(Non-Reference Single-ended NRSE)[3]。一般數(shù)據(jù)采集首先要根據(jù)實(shí)際信號和采集設(shè)備對采集卡進(jìn)行配置,然后才能利用LabVIEW的VI模塊進(jìn)行采集程序的設(shè)計(jì)。
本文中傳感器的信號是不與任何地(如大地或建筑物的地)連接的信號,即浮地信號。而且傳感器的信號經(jīng)過調(diào)理放大大于1V,所有的信號可以共享一個(gè)公共參考點(diǎn),所以本系統(tǒng)采用參考地單端連接方式,將信號參考點(diǎn)與儀器的模擬輸入地連接起來[4]。本系統(tǒng)要采集CO和CO2,以及參考光的信號,所以要用三個(gè)通道分別連續(xù)的采集數(shù)據(jù)。將通道配置程序圖做成子VI,便于其他程序的調(diào)用。
通過PCI-6221采集卡直接采集到的是三個(gè)通道的數(shù)據(jù),為了分別對三個(gè)通道的數(shù)據(jù)進(jìn)行處理,就需要將三個(gè)通道的數(shù)據(jù)分離開,并分別進(jìn)行保存。每完成一次完整的采集就將數(shù)據(jù)保存到數(shù)據(jù)庫,便于歷史數(shù)據(jù)的復(fù)查。
由于數(shù)據(jù)分析導(dǎo)致的延遲將會(huì)增大數(shù)據(jù)采集的周期,因此采用了隊(duì)列的方式,即數(shù)據(jù)采集循環(huán)不間斷的采集數(shù)據(jù),并將采集到的數(shù)據(jù)放在隊(duì)列中,數(shù)據(jù)分析循環(huán)不間斷的處理數(shù)據(jù)。如果分析數(shù)據(jù)的周期大于采集周期,那么數(shù)據(jù)將會(huì)緩存在隊(duì)列中,隊(duì)列只要沒有滿就不會(huì)丟失數(shù)據(jù);如果分析數(shù)據(jù)的周期小于采集周期,那么在隊(duì)列為空時(shí),數(shù)據(jù)分析處于等待狀態(tài),也不會(huì)導(dǎo)致數(shù)據(jù)的重復(fù)分析;當(dāng)數(shù)據(jù)采集循環(huán)停止時(shí),若隊(duì)列中還有數(shù)據(jù),則數(shù)據(jù)分析循環(huán)也會(huì)將剩余的數(shù)據(jù)全部分析,這樣也不會(huì)丟失前面采集的數(shù)據(jù)[5]。
4.3 數(shù)據(jù)庫模塊
由于LabVIEW本身并不具備數(shù)據(jù)庫訪問功能,可以利用LabVIEW用戶開發(fā)的免費(fèi)LabVIEW數(shù)據(jù)庫訪問工具包LabSQL。LabSQL利用Microsoft ADO以及SQL語言來完成數(shù)據(jù)庫的訪問。
首先需要在Access中建立一個(gè)數(shù)據(jù)庫,然后創(chuàng)建系統(tǒng)數(shù)據(jù)源名(Systems Data Source Name),在“Windows控制面板-管理工具-數(shù)據(jù)源(ODBC)”下的數(shù)據(jù)源管理器可以完成創(chuàng)建,并為數(shù)據(jù)源選擇Microsoft Access Drive(*.mdb)驅(qū)動(dòng)。在彈出的ODBC Microsoft Access Setup對話框中選擇已經(jīng)創(chuàng)建好的Access數(shù)據(jù)庫即可,這樣就完成了數(shù)據(jù)源的建立。在LabVIEW中通過ADO與創(chuàng)建的DSN建立連接來實(shí)現(xiàn)對Access數(shù)據(jù)庫的訪問了[6]。
本系統(tǒng)的數(shù)據(jù)庫訪問主要是實(shí)現(xiàn)對以往數(shù)據(jù)的查詢,據(jù)此來為大氣環(huán)境污染治理提供參考數(shù)據(jù)。如圖6所示,數(shù)據(jù)庫中是以日期為表記錄當(dāng)天的數(shù)據(jù),表中的每條記錄記錄的是當(dāng)下檢測的時(shí)間以及檢測得到的CO和CO2氣體濃度值。查詢的時(shí)候先選擇數(shù)據(jù)庫,然后選擇要查詢的日期即表名。查詢的時(shí)候既可以選擇單項(xiàng)查詢也可以選擇組合查詢。例如可以選擇查詢2008年10月2日16點(diǎn)到16點(diǎn)30分檢測到的機(jī)動(dòng)車尾氣中CO和CO2的濃度值,操作字段和操作條件設(shè)置以后選擇組合查詢,就可以得到符合條件的數(shù)據(jù)。
圖6 數(shù)據(jù)庫模塊的前面板圖
圖7 數(shù)據(jù)庫模塊的后面板程序圖
5 結(jié)論
本文以LabVIEW軟件為平臺所開發(fā)的機(jī)動(dòng)車尾氣濃度檢測系統(tǒng),可以方便的對CO和CO2氣體濃度采集與檢測,分析得出污染氣體的濃度值。操作界面友好,直觀明了,非常容易實(shí)現(xiàn)操作。LabVIEW本身編程效率高,可以方便快捷的實(shí)現(xiàn)軟件系統(tǒng)的升級。本系統(tǒng)的檢測結(jié)果既可以對機(jī)動(dòng)車的性能進(jìn)行監(jiān)測評價(jià),也可以為治理大氣環(huán)境污染提供參考數(shù)據(jù),非常適應(yīng)現(xiàn)代化檢測的要求。
評論