鄭海明,尹嘉煒
(華北電力大學(xué)能源動(dòng)力與機(jī)械工程學(xué)院,河北 保定 071003)
SO2和NO兩者的排放是形成酸雨的主要原因,會(huì)導(dǎo)致土壤酸化、農(nóng)作物減產(chǎn)等危害?;痣姀S、石化廠等固定污染源煙氣排放的SO2和NO等氣體成為監(jiān)測(cè)和控制的重中之重。有效治理煙氣中SO2和NO的前提是對(duì)于兩者的體積分?jǐn)?shù)和質(zhì)量濃度的準(zhǔn)確監(jiān)測(cè)。SO2和NO的檢測(cè)手段主要包括電化學(xué)法、氣相色譜法、傅里葉轉(zhuǎn)換紅外光譜法等技術(shù),然而這些技術(shù)都有一定程度的缺陷,比如電化學(xué)法需要經(jīng)常更換傳感器,氣相色譜法不能實(shí)時(shí)檢測(cè),傅里葉轉(zhuǎn)換紅外光譜法儀器較為昂貴等。
紫外差分光學(xué)吸收光譜學(xué) (Differential Optical Absorption Spectroscopy,DOAS)技術(shù)憑借其非接觸式、設(shè)備簡單、價(jià)格低廉、能同時(shí)測(cè)量多種氣體的優(yōu)點(diǎn),被廣泛應(yīng)用于煙氣檢測(cè)領(lǐng)域。該技術(shù)于20世紀(jì)80年代由德國海德堡大學(xué)大氣環(huán)境物理研究所PLATT U和PERNER D教授提出。DOAS的主要應(yīng)用波段在紫外波段和可見波段,能夠?qū)煔鈨?nèi)的主要污染氣體SO2,O3,NOX等[1]進(jìn)行測(cè)量。截至目前,多種DOAS技術(shù)方向和改進(jìn)類型均有相關(guān)研究,例如NASSE等[2]在長光程DOAS(Long-Path DOAS),洪茜茜[3]在多軸 DOAS (MAX-DOAS)、WANG S S等[4]在車載DOAS等方面進(jìn)行研究,均廣泛應(yīng)用于工業(yè)檢測(cè)、大氣污染物檢測(cè)等環(huán)境保護(hù)方向。
根據(jù)國家環(huán)保排放的在線監(jiān)測(cè)要求,本文基于DOAS技術(shù),使用Visual Studio 2010,開發(fā)了SO2和NO氣體監(jiān)測(cè)系統(tǒng)軟件DoasMonitorSystem。
軟件具體的需求和功能分為如下4個(gè)方面。
1)與光譜儀進(jìn)行通信,能夠自行判斷是否連接上光譜儀,并且顯示在軟件界面上??梢詫?duì)光譜儀的各種參數(shù)進(jìn)行設(shè)定。顯示光譜儀本身自帶硬件的信息,包括電荷耦合器件 (Charge Coupled Device,CCD)的型號(hào)、串口號(hào)以及像素?cái)?shù)量等。
2)實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)傳輸、顯示、運(yùn)算和處理。首先接收光譜信號(hào),直接顯示在軟件界面上;其次運(yùn)算得到需求的光譜曲線;最后根據(jù)不同選擇模式,得到處理后的數(shù)據(jù)結(jié)果,并能夠儲(chǔ)存數(shù)據(jù)。
3)對(duì)離線數(shù)據(jù)進(jìn)行處理。包括讀取歷史數(shù)據(jù)、運(yùn)算和顯示光譜曲線,存儲(chǔ)運(yùn)算結(jié)果。歷史數(shù)據(jù)包括暗電流數(shù)據(jù)、參考光譜數(shù)據(jù)、光譜數(shù)據(jù)、吸收截面數(shù)據(jù)等。能夠?qū)Ω鞣N運(yùn)算參數(shù)直接進(jìn)行調(diào)整。
4)操作簡單。軟件菜單、軟件界面以及各個(gè)參數(shù)的輸入和使用方式都簡單明確,對(duì)于常見錯(cuò)誤都會(huì)有對(duì)應(yīng)提示。
在測(cè)量精度方面,依據(jù)HJ 76—2017固定污染源煙氣 (SO2、NOX、顆粒物)排放連續(xù)監(jiān)測(cè)系統(tǒng)技術(shù)要求及檢測(cè)方法[5],DOAS系統(tǒng)技術(shù)要求如下:被測(cè)氣體體積分?jǐn)?shù)>250×10-6時(shí),分析儀與參比方法的測(cè)量結(jié)果誤差≤15%;被測(cè)氣體體積分?jǐn)?shù)≥50×10-6且<250×10-6時(shí),分析儀與參比方法的測(cè)量結(jié)果誤差絕對(duì)值<20×10-6。
DoasMonitorSystem是基于Windows平臺(tái)進(jìn)行編寫的軟件。微軟基礎(chǔ)類庫 (Microsoft Foundation Classes,MFC)本質(zhì)上是一個(gè)龐大的C++類庫,其中封裝著大量的應(yīng)用程序接口 (Application Programming Interface,API)函數(shù)。MFC通過封裝Win32 API來為應(yīng)用程序的制作和設(shè)計(jì)提供巨大的便利。本文設(shè)計(jì)軟件采用的Visual Studio 2010是一款較為完善的軟件開發(fā)程序,包含開發(fā)所需要的各種功能和要求。軟件通過通用串行總線 (Universal Serial Bus,USB)與光譜儀及脈沖氙燈進(jìn)行通信。接收到由光譜儀傳輸?shù)墓庾V數(shù)據(jù)后,軟件便會(huì)對(duì)光譜數(shù)據(jù)進(jìn)行處理與計(jì)算。一是進(jìn)行差分運(yùn)算,將接收到的光強(qiáng)信息或吸光度信息進(jìn)行曲線擬合,計(jì)算得到差分后的數(shù)據(jù)。二是進(jìn)行光譜曲線繪制,將計(jì)算得到的原始數(shù)據(jù)、擬合數(shù)據(jù)與差分?jǐn)?shù)據(jù)同時(shí)繪制在軟件界面上。三是在計(jì)算模式下,將得到的差分?jǐn)?shù)據(jù)經(jīng)過算法處理后的差分吸收截面數(shù)據(jù)進(jìn)行反演,得出檢測(cè)氣體的體積分?jǐn)?shù)和質(zhì)量濃度。
2.2.1 主界面布局
1)在主界面左上角,Start按鈕用于開始測(cè)量,Stop按鈕則用于停止測(cè)量。
2)Start按鈕和Stop按鈕右邊的4個(gè)下拉菜單控 件 分 別 為 模 式 (Mode)、 氣 體 分 子 種 類(Molecule)、實(shí)時(shí)模式 (Realtime)、算法種類 (Algorithm),用于測(cè)量模式的選擇。其中,Mode的選項(xiàng)分為Scope Mode和Absorbance Mode,這兩種模式的區(qū)別在于譜線的顯示方式;Realtime選擇Yes時(shí),軟件在進(jìn)行測(cè)量的同時(shí),除了繪制光譜,還會(huì)計(jì)算體積分?jǐn)?shù)和質(zhì)量濃度,相應(yīng)程序會(huì)讀取計(jì)算機(jī)文件之前記錄的吸收截面等數(shù)據(jù)以進(jìn)行計(jì)算,并且實(shí)時(shí)顯示當(dāng)前測(cè)量氣體的體積分?jǐn)?shù) (單位為×10-6)和質(zhì)量濃度 (單位為mg/m3)。
3)在4個(gè)下拉菜單控件右邊的各項(xiàng)參數(shù)中,Int.time以及Number of avg分別為積分時(shí)間與平均次數(shù),兩者共同決定了光譜儀將采集到的數(shù)據(jù)傳輸至計(jì)算機(jī)的周期;PloyN則為曲線擬合次數(shù)。
4)在主界面右下角,Reset按鈕放在了進(jìn)度條上面,其作用是重置吸收截面信息。
5)在Reset按鈕上方,分別顯示體積分?jǐn)?shù)和質(zhì)量濃度,更方便讀取,節(jié)省換算時(shí)間。
2.2.2 光譜曲線繪制
該軟件采用TeeChart控件來進(jìn)行光譜曲線的繪制工作,使用版本為8.0。該控件必須預(yù)先在系統(tǒng)中進(jìn)行注冊(cè)后才可以正常使用[6]。TeeChart控件繪制的SO2吸收光譜曲線見圖1。
圖1 TeeChart控件繪制的SO2吸收光譜曲線
該軟件的光譜曲線繪制均是通過調(diào)用CDoas-MoSysDlg類中的兩個(gè)函數(shù)DrawLine(double*pX,double*pY,long nNum,int nIndex)和ClearAllSeries(void)來進(jìn)行控制。一是DrawLine函數(shù),它的double*pX和double*pY兩個(gè)變量代表所繪制圖形的X軸和Y軸,long nNum變量代表數(shù)組長度,int nIndex變量代表TeeChart中的序列標(biāo)號(hào),用于區(qū)別所繪制曲線。軟件中通常采用3條曲線進(jìn)行繪制,分別為原譜線 (Counts)、擬合譜線 (Ploy)以及差分譜線 (Differential)。二是ClearAllSeries函數(shù),它可以清空當(dāng)前繪制區(qū)域,為下一次光譜曲線繪制工作做好準(zhǔn)備。
該軟件可在測(cè)量過程中繪制光譜曲線,也可在離線條件下采用讀取硬盤數(shù)據(jù)的方式繪制離線光譜曲線??衫L制的光譜種類包括暗電流光譜、參考光譜(光源光譜)、吸收截面譜、實(shí)驗(yàn)數(shù)據(jù)光譜等,包含離線和實(shí)時(shí)檢測(cè)兩種模式,供使用者選擇。
數(shù)據(jù)處理是軟件最核心的功能之一。該軟件采用Microsoft Excel進(jìn)行數(shù)據(jù)保存和讀取工作,兼容的最低版本為Microsoft Excel 2003。文件的表頭和格式以及后面的數(shù)據(jù)都由軟件程序自動(dòng)完成,一共有9行,從上到下依次為文件名 (Filename)、積分時(shí)間 (Int.time)、平均次數(shù) (Number of Averages)、平滑系數(shù) (Smoothing)、溫度、壓力、氣室長度、備注信息和數(shù)據(jù)類別 (波長、光強(qiáng)、吸光度)。
該軟件在計(jì)算體積分?jǐn)?shù)和質(zhì)量濃度時(shí)有確定的流程:一是導(dǎo)入暗光譜與吸收光譜數(shù)據(jù);二是讀取事先保存好的吸收截面文件;三是讀取實(shí)驗(yàn)光譜數(shù)據(jù);四是通過對(duì)實(shí)驗(yàn)光譜數(shù)據(jù)進(jìn)行計(jì)算,獲得吸光度;五是利用多項(xiàng)式擬合來對(duì)光譜曲線進(jìn)行模擬,同時(shí)計(jì)算差分吸光度;六是根據(jù)已有的差分吸收截面與差分吸光度數(shù)據(jù)進(jìn)行運(yùn)算,采用最小二乘法求解方程組,得到待測(cè)氣體體積分?jǐn)?shù)和質(zhì)量濃度。
在數(shù)據(jù)處理方面,該軟件提供了最小二乘法、傅里葉變換濾波、SAVITZKY-GOLAY(簡稱SG)平滑濾波等3種算法以達(dá)到最好的反演效果。最小二乘法是一種尋找最小誤差和數(shù)據(jù)最佳匹配的數(shù)學(xué)優(yōu)化技術(shù),又被稱為最小平方法。最小二乘法在生產(chǎn)生活中的常見應(yīng)用是通過一組或者多組數(shù)據(jù)來進(jìn)行某些特定值的計(jì)算或估計(jì)。
該軟件主要通過動(dòng)態(tài)鏈接庫 (Dynamic Link Library,DLL)與光譜儀通信。DLL是微軟公司在微軟Windows操作系統(tǒng)中共享函數(shù)庫的一種實(shí)現(xiàn)方式。AS5216.dll是由Avantes公司提供的用于對(duì)光譜儀進(jìn)行控制的DLL,DoasMonitorSystem的開發(fā)過程中利用了該DLL,版本為2.2.0.0。
計(jì)算機(jī)和DLL的接口是基于函數(shù)接口的,接口允許應(yīng)用程序配置一個(gè)光譜儀、從光譜儀接收數(shù)據(jù)、發(fā)送數(shù)據(jù)到光譜儀。DLL是通過內(nèi)部函數(shù)實(shí)現(xiàn)功能的,例如打開函數(shù)AVS_Init()和關(guān)閉函數(shù)AVS_Done()這一對(duì)函數(shù)。其中,打開函數(shù)AVS_Init()的作用為打開COM通信端口,并且返回光譜儀連接的配置,該函數(shù)的返回值會(huì)同步更新到程序底部的第一個(gè)窗格內(nèi);與之相對(duì)應(yīng),關(guān)閉函數(shù)AVS_Done()的作用為關(guān)閉已連接通信端口,同時(shí)釋放相關(guān)的數(shù)據(jù)存儲(chǔ)。
DoasMonitorSystem是一款使用Visual Studio 2010平臺(tái)開發(fā)的基于DOAS技術(shù)的在線氣體監(jiān)測(cè)軟件,能夠用于SO2和NOX等氣體的檢測(cè),并且內(nèi)嵌3種算法,可以安裝于計(jì)算機(jī)平臺(tái)。其功能豐富,具有Microsoft Excel數(shù)據(jù)交互、光譜儀和單片機(jī)通信、實(shí)時(shí)檢測(cè)氣體體積分?jǐn)?shù)和質(zhì)量濃度并繪制光譜曲線、離線計(jì)算數(shù)據(jù)等功能。軟件內(nèi)部使用了DLL技術(shù),易于后續(xù)開發(fā)。