基于虛擬儀器的氣體濃度檢測系統(tǒng)的設(shè)計
1 引言
虛擬儀器(Virtual Instrument)的概念是由美國國家儀器公司(National Instruments)最先提出的[1],其核心技術(shù)思想就是“軟件即是儀器”。它改變了傳統(tǒng)儀器的測量模式,使測量系統(tǒng)由松散結(jié)合的、常常不兼容的獨立儀器發(fā)展成緊密結(jié)合的虛擬測量系統(tǒng)。當(dāng)用戶的測試要求變化時可以方便地由用戶自己來增減硬、軟件模塊,或重新配置現(xiàn)有系統(tǒng)以滿足新的測試要求。這樣,當(dāng)用戶從一個項目轉(zhuǎn)向另一個項目時,就能簡單地構(gòu)造出新的 VI 系統(tǒng)而不丟失己有的硬件和軟件資源。
目前城市中汽車保有量的大幅度增加,給人們的日常生活帶來了極大的便利,同時也帶來了嚴(yán)峻的環(huán)境問題,其產(chǎn)生的尾氣已經(jīng)構(gòu)成公害,因此對于機動車尾氣的監(jiān)測已經(jīng)成為治理環(huán)境污染的一個重要指標(biāo)。本文設(shè)計一套基于虛擬儀器的氣體濃度檢測的系統(tǒng),采用NI公司的PCI-6221數(shù)據(jù)采集卡實現(xiàn)氣體檢測數(shù)據(jù)的采集,并借助于NI公司的LabVIEW軟件實現(xiàn)數(shù)據(jù)的處理。
2 虛擬儀器概述
虛擬儀器是基于計算機的功能化硬件模塊和計算機軟件構(gòu)成的電子測試儀器,而軟件是虛擬儀器的核心(如圖1所示),其中軟件的基礎(chǔ)部分是設(shè)備驅(qū)動軟件,而這些標(biāo)準(zhǔn)的儀器驅(qū)動軟件使得系統(tǒng)的開發(fā)與儀器的硬件變化無關(guān)。這是虛擬儀器最大的優(yōu)點之一,有了這一點,儀器的開發(fā)和換代時間將大大縮短。
圖1虛擬儀器開發(fā)框圖
與傳統(tǒng)儀器不同,虛擬儀器有其自身的優(yōu)點:
它可以通過在幾個分面板上的操作來實現(xiàn)比較復(fù)雜的功能。這樣,在每個分面板上就可以實現(xiàn)功能操作的單純化和面板布置的簡潔化,從而提高操作的正確性和便捷性。設(shè)計者可以根據(jù)用戶的要求和操作需要來設(shè)計儀器面板。設(shè)計者可以根據(jù)用戶的要求和操作需要來設(shè)計儀器面板;儀器的功能是由用戶根據(jù)需要用軟件來定義,不是事先由廠家定義的;虛擬儀器開放、靈活,與計算機同步發(fā)展,與網(wǎng)絡(luò)及其他周邊設(shè)備互聯(lián);由于其以 PC 為核心,在軟件的支持下,利用 PC 機 CPU 的強大的數(shù)據(jù)處理功能來完成;可方便地存貯和交換測試數(shù)據(jù),測試結(jié)果的表達(dá)方式更加豐富多樣。
3 系統(tǒng)組成
檢測系統(tǒng)的組成如圖2所示。
圖2 測量系統(tǒng)結(jié)構(gòu)圖
光源發(fā)出的紅外光經(jīng)過前光學(xué)系統(tǒng)匯聚變成平行光束,然后平行光經(jīng)過通有待測氣體的氣體池,被測氣體將吸收特定波長的紅外光,紅外輻射的光能量(光強)發(fā)生變化(光強減小)。經(jīng)過氣體的吸收后再通過后光學(xué)系統(tǒng)的匯聚,將光匯聚到多探頭的紅外探測器上[2]。當(dāng)多種混合氣體之間沒有作用,且吸收光譜沒有重疊或影響較小時,可在傳感器前安置適合分析氣體吸收波長的窄帶濾光片,經(jīng)過濾光片后,紅外探測器把被測組分吸收后的剩余光能轉(zhuǎn)換為電信號,經(jīng)過信號調(diào)理電路的濾波放大后通過采集卡送到計算機進(jìn)行數(shù)據(jù)分析。入射光強和出射光強的差值是與氣體的濃度有關(guān)系的,據(jù)此可以檢測出氣體的濃度。
現(xiàn)代自動檢測和自動控制都離不開傳感器,它是測試與控制系統(tǒng)的首要環(huán)節(jié),它能把被測物理量直接轉(zhuǎn)換為與之有確定對應(yīng)關(guān)系的并容易檢測的電信號輸出,以滿足信息的分析、處理等要求。本系統(tǒng)選擇了Heimann的TPS4339熱電堆探測器。主要是用來檢測待測氣體所處于吸收波長的光能量的變化。
數(shù)據(jù)采集是采用NI公司推出的PCI-6221數(shù)據(jù)采集卡,是基于計算機PCI總線技術(shù),屬于M系列卡,只支持DAQmx的數(shù)據(jù)采集方法。PCI-6221提供16路帶37針D-Sub的模擬輸入,16位的A/D 轉(zhuǎn)換器,采樣率可達(dá)到250 kS/s [3]。圖3所示是PCI-6221數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)框圖。
紅外傳感器的信號是通過CB-68LP接線端子和SHC68-68-EP電纜送入數(shù)據(jù)采集卡。采集卡對采集到的信號進(jìn)行A/D裝換,然后通過NI DAQmx驅(qū)動與操作系統(tǒng)聯(lián)系,將采集到的數(shù)據(jù)用于系統(tǒng)分析處理。
圖3 PCI-6221數(shù)據(jù)采集系統(tǒng)框圖
4 軟件設(shè)計
檢測系統(tǒng)啟動之后首先初始化各個模塊,包括采集卡的配置以及各個采集通道的配置;然后判斷是否需要標(biāo)定,如果需要標(biāo)定將彈出一個標(biāo)定窗口程序進(jìn)行標(biāo)定;如果不需要標(biāo)定則直接進(jìn)入數(shù)據(jù)采集;一次數(shù)據(jù)采集完后進(jìn)入數(shù)據(jù)處理模塊;處理完后將結(jié)果顯示出來,這樣就完成了一次的數(shù)據(jù)采集和處理。本系統(tǒng)是連續(xù)的采集,所以判斷是否要結(jié)束采集,否的話繼續(xù)新一輪的數(shù)據(jù)采集和處理;采集結(jié)束的話程序停止。每次采集處理的數(shù)據(jù)都會存在數(shù)據(jù)庫里,可以方便的進(jìn)行以往數(shù)據(jù)的查詢。如圖4所示是系統(tǒng)的操作界面。
圖4 系統(tǒng)操作界面
4.1 標(biāo)定模塊
該系統(tǒng)標(biāo)定是否準(zhǔn)確關(guān)系到整個系統(tǒng)最后得到的結(jié)果的準(zhǔn)確性。
如圖5所示標(biāo)定程序啟動之后首先要選擇標(biāo)定氣體以及標(biāo)定點數(shù)進(jìn)行參數(shù)設(shè)置。由朗伯-比爾定律可知,氣體的吸收率和氣體濃度呈線性關(guān)系,通過往氣體池內(nèi)通入標(biāo)準(zhǔn)的不同濃度的待測氣體,對紅外光的吸收不同,紅外傳感器的信號也就不同。利用配比不同濃度的標(biāo)準(zhǔn)樣氣來對吸收曲線進(jìn)行定標(biāo),通過增加標(biāo)定的點數(shù)來提高吸收曲線的精度。開始標(biāo)定,首先輸入所用標(biāo)氣的標(biāo)準(zhǔn)濃度值,然后通過采集卡采集電壓數(shù)據(jù),數(shù)據(jù)穩(wěn)定后將這兩組數(shù)據(jù)輸入保存起來,再進(jìn)行下一個標(biāo)定點,直到輸入完所有標(biāo)定點的數(shù)據(jù)。這時形成的都是一組一組的數(shù)據(jù)對,然后擬合出氣體的線性吸收曲線。在實際的檢測中將利用擬合出的吸收曲線對數(shù)據(jù)進(jìn)行處理。
圖5 標(biāo)定模塊前面板圖
4.2 數(shù)據(jù)采集處理模塊
本文利用采集卡采集的是模擬輸入信號,NI公司的數(shù)據(jù)采集卡對于模擬信號的輸入可以分為三種連接形式:差分(Differential),參考地單端(Reference Single-ended RSE),無參考地單端(Non-Reference Single-ended NRSE)[3]。一般數(shù)據(jù)采集首先要根據(jù)實際信號和采集設(shè)備對采集卡進(jìn)行配置,然后才能利用LabVIEW的VI模塊進(jìn)行采集程序的設(shè)計。
本文中傳感器的信號是不與任何地(如大地或建筑物的地)連接的信號,即浮地信號。而且傳感器的信號經(jīng)過調(diào)理放大大于1V,所有的信號可以共享一個公共參考點,所以本系統(tǒng)采用參考地單端連接方式,將信號參考點與儀器的模擬輸入地連接起來[4]。本系統(tǒng)要采集CO和CO2,以及參考光的信號,所以要用三個通道分別連續(xù)的采集數(shù)據(jù)。將通道配置程序圖做成子VI,便于其他程序的調(diào)用。
通過PCI-6221采集卡直接采集到的是三個通道的數(shù)據(jù),為了分別對三個通道的數(shù)據(jù)進(jìn)行處理,就需要將三個通道的數(shù)據(jù)分離開,并分別進(jìn)行保存。每完成一次完整的采集就將數(shù)據(jù)保存到數(shù)據(jù)庫,便于歷史數(shù)據(jù)的復(fù)查。
由于數(shù)據(jù)分析導(dǎo)致的延遲將會增大數(shù)據(jù)采集的周期,因此采用了隊列的方式,即數(shù)據(jù)采集循環(huán)不間斷的采集數(shù)據(jù),并將采集到的數(shù)據(jù)放在隊列中,數(shù)據(jù)分析循環(huán)不間斷的處理數(shù)據(jù)。如果分析數(shù)據(jù)的周期大于采集周期,那么數(shù)據(jù)將會緩存在隊列中,隊列只要沒有滿就不會丟失數(shù)據(jù);如果分析數(shù)據(jù)的周期小于采集周期,那么在隊列為空時,數(shù)據(jù)分析處于等待狀態(tài),也不會導(dǎo)致數(shù)據(jù)的重復(fù)分析;當(dāng)數(shù)據(jù)采集循環(huán)停止時,若隊列中還有數(shù)據(jù),則數(shù)據(jù)分析循環(huán)也會將剩余的數(shù)據(jù)全部分析,這樣也不會丟失前面采集的數(shù)據(jù)[5]。
4.3 數(shù)據(jù)庫模塊
由于LabVIEW本身并不具備數(shù)據(jù)庫訪問功能,可以利用LabVIEW用戶開發(fā)的免費LabVIEW數(shù)據(jù)庫訪問工具包LabSQL。LabSQL利用Microsoft ADO以及SQL語言來完成數(shù)據(jù)庫的訪問。
首先需要在Access中建立一個數(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ū)動。在彈出的ODBC Microsoft Access Setup對話框中選擇已經(jīng)創(chuàng)建好的Access數(shù)據(jù)庫即可,這樣就完成了數(shù)據(jù)源的建立。在LabVIEW中通過ADO與創(chuàng)建的DSN建立連接來實現(xiàn)對Access數(shù)據(jù)庫的訪問了[6]。
本系統(tǒng)的數(shù)據(jù)庫訪問主要是實現(xiàn)對以往數(shù)據(jù)的查詢,據(jù)此來為大氣環(huán)境污染治理提供參考數(shù)據(jù)。如圖6所示,數(shù)據(jù)庫中是以日期為表記錄當(dāng)天的數(shù)據(jù),表中的每條記錄記錄的是當(dāng)下檢測的時間以及檢測得到的CO和CO2氣體濃度值。查詢的時候先選擇數(shù)據(jù)庫,然后選擇要查詢的日期即表名。查詢的時候既可以選擇單項查詢也可以選擇組合查詢。例如可以選擇查詢2008年10月2日16點到16點30分檢測到的機動車尾氣中CO和CO2的濃度值,操作字段和操作條件設(shè)置以后選擇組合查詢,就可以得到符合條件的數(shù)據(jù)。
圖6 數(shù)據(jù)庫模塊的前面板圖
圖7 數(shù)據(jù)庫模塊的后面板程序圖
5 結(jié)論
本文以LabVIEW軟件為平臺所開發(fā)的機動車尾氣濃度檢測系統(tǒng),可以方便的對CO和CO2氣體濃度采集與檢測,分析得出污染氣體的濃度值。操作界面友好,直觀明了,非常容易實現(xiàn)操作。LabVIEW本身編程效率高,可以方便快捷的實現(xiàn)軟件系統(tǒng)的升級。本系統(tǒng)的檢測結(jié)果既可以對機動車的性能進(jìn)行監(jiān)測評價,也可以為治理大氣環(huán)境污染提供參考數(shù)據(jù),非常適應(yīng)現(xiàn)代化檢測的要求。