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