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