吳 焱
(安徽工貿(mào)職業(yè)技術(shù)學(xué)院 機械與汽車工程系,安徽 淮南 232001)
NDIR+PID傳感器氣體檢測系統(tǒng)硬件結(jié)構(gòu)如圖1所示,包括信號處理模塊、數(shù)據(jù)處理模塊和通信模塊等。對NDIR傳感器,信號處理模塊包括紅外光源和增益濾波電路。ADuCM360控制紅外光源發(fā)出光脈沖,NDIR傳感器根據(jù)檢測到的光信號輸出對應(yīng)的電壓值,本文采用的熱電堆傳感器輸出最大mV級的電壓信號,再經(jīng)過增益濾波后傳輸給數(shù)據(jù)處理模塊的AD7190采樣。對PID傳感器,信號處理模塊包括帶增益的IV轉(zhuǎn)換和低通濾波電路。因為輸出的是微弱電流信號,微弱電流經(jīng)IV轉(zhuǎn)換放大成合適的電壓信號,經(jīng)過低通濾波后送給數(shù)據(jù)處理模塊的AD7190采樣。AD7190把采樣數(shù)據(jù)傳給ADuCM360處理并通過通信接口傳輸。通信模塊包括串口、USB和4~20mA的標準工業(yè)信號接口,可滿足各種場合的應(yīng)用。軟件結(jié)構(gòu)如圖2所示,包括上位機與下位機兩部分。下位機運行在檢測硬件上,執(zhí)行AD采樣、DA輸出和傳輸?shù)裙δ堋I衔粰C運行在客戶端,java存儲程序存儲采樣數(shù)據(jù)到hsqldb數(shù)據(jù)庫,LabVIEW監(jiān)控程序顯示采樣信息。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
圖2 系統(tǒng)軟件結(jié)構(gòu)圖
2.1.1 紅外光源驅(qū)動電路
采用MR3-1089為紅外光源,驅(qū)動電壓為5V時的驅(qū)動電流達到150mA可使紅外輻射最大化以獲得最佳性能。光源關(guān)閉時的燈絲阻值較低,這時光源開啟會產(chǎn)生瞬間的電流浪涌,且紅外光源的驅(qū)動電流較大,要避免燈的電流回路流經(jīng)熱電堆回路產(chǎn)生的電壓失調(diào)誤差。為解決上述問題,采用帶軟啟動功能的穩(wěn)壓器ADP7105給光源單獨供電,電路如圖3所示。斬波頻率范圍從0.1Hz~5Hz,本文設(shè)為0.25Hz。ADP7105外接10nF的電容,軟啟動時間約12.2ms,是100ms最小斬波階躍時間的0.122倍,電路可正常工作。
圖3 熱電堆信號處理電路
2.1.2 增益濾波電路
采用NDIR原理的熱電堆氣體傳感器輸出電壓在幾百微伏到幾毫伏,后端連接的運放電路要具備高可調(diào)增益和很低的漂移和噪聲,避免直流誤差。本文采用最大偏置電流僅1pA的AD8605,電壓噪聲8nV/√Hz,低于熱電堆46nV/√Hz的電壓噪聲。電流噪聲10fA/√Hz,熱電堆內(nèi)部電阻84kΩ,電流流過的噪聲為840pV/√Hz,影響極低。
熱電堆電路如圖3所示,ACT和REF分別是測量和參考輸出,84kΩ內(nèi)部堆電阻與電容8.2nF的CACT1組成低通濾波電路,-3dB截止頻率約231Hz。RACT1、RACT2、CACT2與AD8605構(gòu)成同相放大電路,CACT2是濾波電容,對低頻信號電容可看作開路,對高頻信號電容看作短接,此時的電路相當(dāng)于一個電壓跟隨器,避免了對高頻信號的放大,取值約15nF。該電路的截止頻率為241.3Hz,22位階躍函數(shù)建立時間10ms。NDIR最大斬波頻率是5Hz,半個周期的脈沖寬度最小值100ms,同相放大電路的階躍函數(shù)建立時間是它的0.1倍,電路可以使用。熱電堆的滿量程輸出電壓為1mVp-p,AD7190基準電壓為2.5V,RACT1和RACT2取值236Ω和47kΩ,同相放大電路增益200,后續(xù)AD7190采樣電路內(nèi)部PGA設(shè)置為8,獲得約1.6V的采樣輸入電壓。如果要調(diào)整同相電路增益,可調(diào)節(jié)RACT1阻值,不建議調(diào)整RACT2,會影響電路主極點的頻率。
針對上述問題,參考傳統(tǒng)LNG氣化站設(shè)計理念,以小型撬裝式氣化站為主體,充分考慮空間的局限,采用管道分析軟件CAESARⅡ?qū)η搜b式LNG氣化站管線進行應(yīng)力分析,以保證小型撬裝式LNG氣化站能夠安全運行。
圖4 NTC電路
2.2.1 IV轉(zhuǎn)換電路+低通濾波電路
電流輸出型傳感器常采用IV轉(zhuǎn)換和可編程增益以最大程度提高動態(tài)范圍,PID傳感器的輸出電流非常小,可看作電流源并聯(lián)分流電容和分流電阻,電容和電阻的典型值在150pF和600MΩ。通過IV轉(zhuǎn)換的反饋電阻RF把電流轉(zhuǎn)換成電壓,RF取值1MΩ。RF會在反饋環(huán)路中產(chǎn)生一個低頻極點導(dǎo)致運算放大器振蕩。為了保持電路穩(wěn)定需要并聯(lián)一個反饋電容CF。CF會影響電路的最高帶寬,選擇小電容可以帶來高的帶寬和低的相位裕量,但可能會導(dǎo)致輸出振蕩,本文取值4.7pF,信號帶寬34kHz。
為實現(xiàn)IV轉(zhuǎn)換后的電壓信號放大,有兩種常用方法:
(1)IV轉(zhuǎn)換+PGA,如圖5(A)所示。
(2)帶可調(diào)增益的IV轉(zhuǎn)換,如圖5(B)所示。
不使用PGA,采用1MΩ+4.7pF(PGA=1)和10MΩ+0.47pF(PGA=10)兩種情況進行對比,帶寬依然是34kHz。前者最終的總噪聲依然是50μVrms,后者因為RF阻值較大,相應(yīng)的三種噪聲源數(shù)值也增加,分別為NCURRENT≈114uVrms,NRF≈93uVrms,fp1≈70kHz,NOP≈791uVrms,,總噪聲約805uVrms,經(jīng)RC低通濾波后總噪聲約460uVrms。所以,采用帶增益的IV轉(zhuǎn)換電路噪聲表現(xiàn)優(yōu)于IV轉(zhuǎn)換+PGA的組合電路方式。
圖5 PID信號處理模塊
本文采用圖5(B)的電路。
2.3.1 ADC
AD7190是24位,具有片內(nèi)極低噪聲可編程增益的AD,可直接采樣小信號數(shù)據(jù)。具有四個偽差分(單極性)或兩個差分(雙極性)模擬量輸入通道,每個通道都可以被配置為緩沖或無緩沖模式。無緩沖模式時輸入通道的模擬輸入電流會導(dǎo)致動態(tài)的負載,需要合理選擇電阻電容數(shù)值降低增益誤差,如表1所示。本文選擇無緩沖模式,模擬量輸入通道前接電壓跟隨器。AIN1-AIN2是熱電堆輸入,AIN4是PID傳感器輸入,AINCOM是參考端。AD7190與MCU的通信通過CS、DIN、DOU/RDY和SCLK完成,CS是器件選擇引腳,DIN引腳用于向寄存器寫入數(shù)據(jù),DOUT/RDY用于指示采樣完成和讀取采樣數(shù)據(jù),SCLK是時鐘引腳,AD7190的所有操作都是基于SCLK時鐘進行的。AD7190片內(nèi)包含多種寄存器,對它的操作是通過配置寄存器實現(xiàn)的,關(guān)鍵的寄存器有:(1)通信寄存器,對AD7190的操作從通信寄存器開始,寫入通信寄存器的數(shù)據(jù)指示下一步要操作的對象和讀寫操作狀態(tài)。(2)狀態(tài)寄存器(000),只讀寄存器,讀取AD7190的各種狀態(tài),如是否就緒,是否發(fā)生錯誤。(3)模式寄存器(001),用于設(shè)置AD7190的工作模式,如連續(xù)轉(zhuǎn)換、單次轉(zhuǎn)換等。(4)配置寄存器(010),用于設(shè)置AD7190是單極性還是雙極性,是否使能緩沖器,PGA增益等。(5)數(shù)據(jù)寄存器(011),只讀寄存器,讀取AD采樣的結(jié)果。以連續(xù)轉(zhuǎn)換模式為例,AD7190上電后默認是該模式,CS拉低選中AD7190,向DIN寫入0x58指示下一步從數(shù)據(jù)寄存器讀取采樣數(shù)據(jù),當(dāng)DOUT/RDY為低電平,指示轉(zhuǎn)換完成,從DOUT/RDY讀取采樣數(shù)據(jù),完畢后DOUT/RDY為高電平,表明讀取操作完成。如果要設(shè)置為單次轉(zhuǎn)換,流程如下:向DIN寫入0x08,指示下一步要寫入模式寄存器(001),之后向DIN寫入0x280060,把模式寄存器的MR23-MR21位置為001,AD7190為單次轉(zhuǎn)換模式,在一次轉(zhuǎn)換完成后,DOUT/RDY變?yōu)榈碗娖?,向DINI寫入0x58,指示下一步要讀取數(shù)據(jù)寄存器,然后從DOUT/RDY讀取采樣數(shù)據(jù),完成后DOUT/RDY變?yōu)楦唠娖剑僮鹘Y(jié)束,AD7190進入省電模式。上述模式的特點在于每次讀取前都要向寄存器寫入數(shù)據(jù)進行配置,操作較為繁瑣。AD7190提供了連續(xù)讀取模式,該模式下只需要配置一次,之后的采樣結(jié)果會自動放置在DOUT/RDY上。向DIN寫入0×5C,配置通信寄存器的CR2位為1,激活連續(xù)讀取模式,DOUT/RDY為低采樣完成,數(shù)據(jù)讀取完成DOUT/RDY為高,等到下一次采樣結(jié)果可用時DOUT/RDY為低,可直接讀取。要注意,所有操作都要在SCLK的時鐘信號下進行。
以熱電堆傳感器采樣為例,向通信寄存器寫入0x10指示下一步操作配置寄存器,然后向配置寄存器寫入0x00F00B,通道選擇AIN1到AIN4,增益8,單端輸入。之后向通信寄存器寫入0x08指示下一步操作模式寄存器,向模式寄存器寫入0x0003FF配置時鐘、輸出速率和連續(xù)采樣模式。根據(jù)數(shù)據(jù)手冊,熱電堆數(shù)據(jù)采樣速率設(shè)置在3.5~483Hz可獲得最佳噪聲性能,本文AD采樣速率設(shè)置為10Hz,熱電堆的輸出數(shù)據(jù)在2s半周期內(nèi)的后1.5s以10Hz采樣率獲得,可以保證信號的完整性。最后向通信寄存器寫入0x58讀取數(shù)據(jù)寄存器的采樣數(shù)據(jù),完成操作。
2.3.2 通信模塊
考慮到可能的應(yīng)用場合,提供了串口、USB和4~20mA標準輸出三種接口。串口和USB分別采用ADM3202和MCP2200,這里不再贅述。AD5420+AD5700提供了4~20mA的標準輸出且兼容HART的通信接口,可方便接入包含變送器的應(yīng)用場合。HART是雙向數(shù)字通信,它改變了傳統(tǒng)4~20mA每次只能進行一個過程變量的單向通信的限制,通過在4~20mA信號上調(diào)制一個1mA p-p FSK信號實現(xiàn),包含1200Hz和2200Hz移頻。電路如圖6所示,AD5420是一款16位電流輸出DAC,AD5700是一款低功耗HART調(diào)制解調(diào)器,AD5700的HART_OUT引腳輸出HART信號,交流耦合到AD5420的CAP2引腳,之后HART信號就會出現(xiàn)在AD5420的IOUT輸出端。CAP2與HART_OUT和AVDD間的電容要確保FSK輸出沒有失真,C2和C3取值分別為2.2nF和22nF。AVDD采用24V現(xiàn)場供電,旁路電容采用10uF+0.1uF并聯(lián)形式,10uF采用鉭電容,0.1uF采用低ESR和ESI的陶瓷電容,可以較好的處理內(nèi)部邏輯開關(guān)引起的瞬態(tài)電容。如果驅(qū)動負載難以確定,IOUT和GND之間要外接0.01uF電容,能保證驅(qū)動超過50mH的負載??紤]到工業(yè)環(huán)境可能的瞬態(tài)高電壓,采用電阻、鉗位二極管和TVS保護AD5420,電阻取值要考慮IOUT流過的壓降在AVDD-2.5V以內(nèi),這里取值18Ω,最大降壓0.36V。IOUT和AVDD都外接了TVS,IOUT與AVDD和GND間配置鉗位二極管。AD5700采用外接帶通濾波器將電流限制在能夠滿足本質(zhì)安全的水平,電阻取值150kΩ。
圖6 4~20mA輸出電路
AD5420的操作涉及到多個寄存器,24位移位寄存器由地址字節(jié)+數(shù)據(jù)字組成,DB15-DB0是數(shù)據(jù)字,DB23-DB16是地址字節(jié),確定要操作的對象,如控制寄存器、數(shù)據(jù)寄存器等。如果要激活回讀功能,DB23-DB16設(shè)置為00000010,此時的DB1-DB0是讀取地址,取值范圍從00~10,分別表示讀取狀態(tài)寄存器、數(shù)據(jù)寄存器和控制寄存器。以回讀數(shù)據(jù)寄存器為例,寫入0x020001到移位寄存器,設(shè)置讀取數(shù)據(jù)寄存器,接著寫入NOP條件0x000000,在該寫操作期間,數(shù)據(jù)寄存器中的數(shù)據(jù)可在SDO上讀取。向移位寄存器DB23-DB16寫入0x55可尋址控制寄存器,DB15-DB0可設(shè)置各種功能:DB15-DB14取值00,DB13是REXT,用于選擇外部電流設(shè)置電阻。DB12是OUTEN,置1輸出使能。DB11-DB8是SLEW RATE數(shù)字壓擺率時鐘,DB7-DB5是SR步進,DB4是SREN,使能SR,DB3是DCEN,使能daisy chain,DB2-DB0選擇輸出范圍,設(shè)置為101輸出4~20mA電流。向移位寄存器的DB23-DB16寫入0x01尋址數(shù)據(jù)寄存器,DB15-DB0是要寫入的數(shù)據(jù)。AD5420的配置流程如圖7所示,首先向移位寄存器寫入0x551005配置控制寄存器,不選擇外部電流設(shè)置電阻,輸出使能,禁用數(shù)字壓擺率控制,輸出4~20mA電流。之后再把AD采樣數(shù)據(jù)寫入數(shù)據(jù)寄存器,完成配置。
圖7 AD5420配置流程圖
圖8 下位機流程圖
3.2.1 hsqldb數(shù)據(jù)庫
采用java內(nèi)置的hsqldb數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)存儲功能,hsqldb提供了服務(wù)器、standalone、內(nèi)存和web服務(wù)等四種模式。standalone的數(shù)據(jù)保存在本地文件,跟隨java虛擬機啟動,JDBC實例是jdbc:hsqldb:file:數(shù)據(jù)庫文件路徑。內(nèi)存模式的數(shù)據(jù)都保存在內(nèi)存中,程序結(jié)束的同時數(shù)據(jù)也被銷毀,JDBC實例是jdbc:hsqldb:mem:數(shù)據(jù)庫名稱。服務(wù)器模式下hsqldb與其他數(shù)據(jù)庫一樣,JDBC實例是jdbc:hsqldb:hsql://localhost:端口號/數(shù)據(jù)庫名稱。Web服務(wù)同服務(wù)器模式類似,只是通過http協(xié)議傳輸數(shù)據(jù),本文采用服務(wù)器模式。
hsqldb安裝流程如下:(1)安裝數(shù)據(jù)庫:在hsqldb官網(wǎng)下載并解壓數(shù)據(jù)包,在PC端合適位置建立數(shù)據(jù)庫文件夾hsqldb,在hsqldb建立database、data和lib目錄,把解壓縮數(shù)據(jù)包的libhsqldb.jar復(fù)制到該目錄。(2)創(chuàng)建數(shù)據(jù)庫:首先要保證java已經(jīng)配置到path路徑下,在cmd命令行模式下進入hsqldbdata目錄,執(zhí)行java-cp../lib/hsqldb.jar org.hsqldb.Server-datatbase qitijiance,在data目錄下創(chuàng)建了qitijiance數(shù)據(jù)庫。此時的data目錄下有3個新建的文件,其中.properties是qitijiance數(shù)據(jù)庫的配置文件,可根據(jù)需要修改端口號等信息。.lck是鎖狀態(tài),.log是運行和操作的歷史記錄信息。之后進入database目錄,建立runmanager、runmanagerswing和runserver2.bat文件,執(zhí)行runserver2.bat啟動hsqldb數(shù)據(jù)庫。(3)配置數(shù)據(jù)庫:執(zhí)行runmanager.bat打開GUI界面,配置數(shù)據(jù)庫的詳細內(nèi)容,如驅(qū)動名稱、JDBC連接、用戶名、密碼、服務(wù)器模式等。之后點擊OK確認,連接到qitijiance數(shù)據(jù)庫。(4)操作數(shù)據(jù)庫,執(zhí)行SQL語句進行創(chuàng)建表等操作。
3.2.2 基于java的數(shù)據(jù)存儲
3.2.2.1 基于串口的通信
采用java實現(xiàn)數(shù)據(jù)存儲功能[7,8],在eclipse環(huán)境下開發(fā)。串口下的java包有3類,第1類是SUN提供的comm2.0和comm3.0,前者支持Windows,后者支持Linux。第2類是IBM提供的串口API。第3類是其他開源的API。本文采用comm2.0jar包,在eclipse環(huán)境下開發(fā),把win32com.dll、comm.jar和javax.comm.properties分別復(fù)制到bin和jrein目錄、lib和jrelibext目錄、lib和jrelib目錄下。如果要在64位環(huán)境下開發(fā),可以采用rxtxjar包。eclipse環(huán)境的JRE指定為JDK的安裝路徑并導(dǎo)入hsqldb.jar、comm.jar包。串口讀取并存儲的操作流程如下:(1)獲取本地串口:列舉出本地所有的串口并打開需要的串口,涉及到serialport和commportidentifier類,通過getPortIdentifiers靜態(tài)方法獲取本地串口,Enumeration> allPorts = CommPortIdentifier.getPortIdentifiers(); com1 = CommPortIdentifier.getPortIdentifier(“COM1”);再通過open方法打開,serialcom1=(SerialPort)com1.open(“OpenerAndCloser”, 1000); setSerialPortParams方法用于設(shè)置串口的參數(shù)。(2)從串口讀取數(shù)據(jù),一般有輪詢和事件監(jiān)聽兩種模式,前者在固定的時間間隔掃描串口,有數(shù)據(jù)就執(zhí)行讀取操作,后者注冊串口事件監(jiān)聽類,有數(shù)據(jù)就自動觸發(fā)事件,在響應(yīng)方法中讀取數(shù)據(jù)。本文采用事件監(jiān)聽模式,實現(xiàn)serialporteventlistense類,重寫serialevent方法,實現(xiàn)監(jiān)聽邏輯。定義輸入流datastream= serialcom1.getInputStream(),添加監(jiān)聽事件對象serialcom1.addEventListener(this),serialcom1.notifyOnDataAvailable(true),重寫監(jiān)聽方法,定義讀取數(shù)據(jù)緩存數(shù)組byte[]datacache,如果串口有可用數(shù)據(jù)event.getEventType()==SerialPortEvent.DATA_AVAILABLE,把串口數(shù)據(jù)保存到緩存數(shù)組中datastream.read(datacache)。(3)把數(shù)據(jù)存儲到數(shù)據(jù)庫,初始化hsqldb的jdbc驅(qū)動,class.forname(“org.hsqldb.jdbcDriver”),獲取hsqldb數(shù)據(jù)庫的連接,connection hsqldb_c=drivermanager.getconnection(“jdbc:hsqldb:hsql://localhost:端口號/qitijiance”,”用戶名”,”密碼”),如果采用其他模式,JDBC的實例語句也要做修改。statement exec_st= hsqldb_c.createstatement(),執(zhí)行exec_st.execute(SQL語句)把串口數(shù)據(jù)存儲到數(shù)據(jù)庫中。
3.2.2.2 基于USB的通信
采用libusbjava實現(xiàn)基于USB通信的數(shù)據(jù)存儲,libusbjava是對libusb的java封裝包,首先要安裝libusb,在官網(wǎng)下載libusbjava支持的1.0.19源碼解壓縮,復(fù)制libusb-1.0.dll到c:windowssystem32。之后安裝libusbjava,下載最新版本源代碼,復(fù)制libusbjava-*.dll到c:windowssystem32,復(fù)制liggcc_s_seh-1.dll等mingw c++標準庫到c:windowssystem32,如果已經(jīng)安裝了mingw就不用復(fù)制了。導(dǎo)入libusbjava.jar到當(dāng)前工程文件,如果是java8版本,復(fù)制libusbjava.jar到c:windowssunjavalibext,如果是9或更新的版本,安裝eclipse的libusbjava插件。安裝完成就可以在java項目利用libusbjava讀取USB數(shù)據(jù)并存儲了:(1)初始化libusb,創(chuàng)建一個新的context,usb_ctx=new Context()。(2)根據(jù)VID、PID查找USB設(shè)備,VID和PID數(shù)值要與下位機一致usb_dev=Device.search(usb_ctx,VID,PID)。(3)打開設(shè)備,申明希望的接口,usb_dev.open(),usb_dev.claimInterface(interface number)。(4)從USB讀取數(shù)據(jù),保存到數(shù)據(jù)庫中。usb_dev.readBulk(endpoint,data,length,0),之后的保存操作同3.2.2.1節(jié)的(3)步。(5)釋放接口,關(guān)閉設(shè)備,usb_dev.releaseInterface(interface number),usb_dev.close()。
3.2.3 基于LabVIEW的上位機
因為LabVIEW沒有提供數(shù)據(jù)庫訪問功能,采用第三方插件labsql實現(xiàn)基于ODBC的數(shù)據(jù)庫操作。該插件應(yīng)用簡單,只需把解壓后的文件夾保存到LabVIEW安裝目錄下的user.lib文件夾下即可。這里需要注意,hsqldb從2.0版本開始提供ODBC訪問功能,支持所有的SQL語句操作,但是暫時還不支持元數(shù)據(jù)??赏ㄟ^安裝PostgreSQL ODBC驅(qū)動實現(xiàn),推薦11及以上版本。安裝PostgreSQL ODBC version11,打開管理員工具進入ODBC,添加PostgreSQL數(shù)據(jù)源并配置:data source就是ODBC數(shù)據(jù)源的名稱,labsql就是根據(jù)這個名稱找到數(shù)據(jù)對象的,一定要保證正確。database是本機上hsqldb數(shù)據(jù)庫的名稱。server是本機的名稱,可以寫localhost。user name和password是hsqldb數(shù)據(jù)庫的用戶名和密碼,ssl mode暫時還不支持。之后點擊test進行連通性測試,完成配置。LabVIEW的操作流程如下:首先執(zhí)行ADO Create Conn.vi創(chuàng)建connection對象,把connection和DSN參數(shù)傳給ADO Open Conn.vi實現(xiàn)與數(shù)據(jù)庫的連接,DSN要與ODBC中的配置一致。ADO SQL Execute.vi執(zhí)行select語句,從數(shù)據(jù)庫讀取數(shù)據(jù)傳給控件顯示,最后執(zhí)行ADO Connection Close.vi關(guān)閉連接。
采用海曼CO2熱電堆傳感器+S1226+串口通信進行系統(tǒng)測試,CO2傳感器測量滿量程50ppm的CO2氣體,已進行過校正處理,上位機顯示如圖9所示。PID傳感器輸出微弱電流信號,采用S1226光電二極管模擬,最大輸出500pA,采樣顯示如圖10所示。本文設(shè)計了基于NDIR和PID傳感器的氣體檢測系統(tǒng),詳細介紹了傳感器采樣電路的基本原理和關(guān)鍵參數(shù)選擇,AD采樣和4-20mA輸出的配置流程。采用java+hsqldb實現(xiàn)了串口、USB通信的數(shù)據(jù)存儲,基于LabVIEW+ labsql+ PostgreSQL ODBC實現(xiàn)了數(shù)據(jù)庫讀取和顯示功能。測試表明系統(tǒng)具有良好的穩(wěn)定性和可靠性,滿足應(yīng)用需求。
圖9 C02采樣圖
圖10 S1226采樣圖