基于LabVIEW的發(fā)酵過(guò)程實(shí)時(shí)數據采集系統設計
1 引 言
本文引用地址:http://dyxdggzs.com/article/88703.htmLabVIEW(Laboratory Virtual Instrument Engineering Workbench)是美國國家儀器公司(National Instrument)開(kāi)發(fā)的一種虛擬儀器平臺,他是一種用圖標代替文本行創(chuàng )建應用程序的圖形化編程語(yǔ)言。LabVIEW功能強大,提供豐富的數據采集、分析和存儲庫函數以及包括DAQ,GPIB,PXI,VXI,RS 232/485在內的各種儀器通信總線(xiàn)標準的所有功能函數。利用LabVIEW設計的數據采集系統,可模擬采集各種信號,但是配備N(xiāo)I公司的數據采集板卡比較貴,在實(shí)際開(kāi)發(fā)中可選用單片機系統對數據進(jìn)行采集。
發(fā)酵是生物技術(shù)的一項最基本的工程,發(fā)酵的產(chǎn)量和質(zhì)量是發(fā)酵工程的2個(gè)重要的技術(shù)指標。要提高發(fā)酵工程的產(chǎn)量和質(zhì)量必須控制發(fā)酵過(guò)程的一些主要參數和影響反應過(guò)程的物質(zhì)的含量,即發(fā)酵過(guò)程優(yōu)化及控制。
利用計算機對復雜的發(fā)酵過(guò)程進(jìn)行數據檢測、分析和實(shí)施過(guò)程的最優(yōu)化控制越來(lái)越受到人們的極大關(guān)注。由于發(fā)酵過(guò)程變量檢測的復雜性,有些至關(guān)重要的變量,例如菌體的濃度、比生長(cháng)率、產(chǎn)物生成率等難以在線(xiàn)直接測量,然而可以在已建立的數學(xué)模型基礎上,通過(guò)測量與這些變量相關(guān)的一些可在線(xiàn)直接測量的變量,例如,尾氣中的氧氣、二氣化氮等濃度變化,從而得到這些變量的最優(yōu)估計,為實(shí)施生化過(guò)程的在線(xiàn)最優(yōu)控制提供先決條件。
因此,本文設計一種基于LabVIEW的發(fā)酵過(guò)程尾氣中的氧氣、二氣化氮的濃度變化實(shí)時(shí)數據采集系統。并對其系統的組成、原理、實(shí)現做出詳細描述。
2 系統的組成及工作原理
本系統的數據采集系統由氧氣傳感器、二氧化碳傳感器和C8051F206單片機以及MAX 232組成。由單片機組成的小系統對溫度信號進(jìn)行采集、調理和轉換,然后通過(guò)RS 232串口通訊將數據送給計算機,在LabVIEW開(kāi)發(fā)平臺下,對數據進(jìn)行各種處理、分析,并對信號進(jìn)行存儲、顯示和打印,最后由PC機顯示實(shí)時(shí)測量的尾氣中氧氣、二氧化碳的含量和經(jīng)過(guò)數據處理得到的RQ值,從而實(shí)現對發(fā)酵的整個(gè)過(guò)程進(jìn)行在線(xiàn)檢測的實(shí)時(shí)測試系統。
2.1 硬件組成及設計原理
系統的硬件電路如圖1所示,采用C8051F206作為主芯片,氧氣傳感器選用電化學(xué)傳感器二氧化碳采用紅外傳感器。這兩種傳感器具有精度高、線(xiàn)性度好、重現性好,在一定條件下具有長(cháng)期穩定性等優(yōu)點(diǎn)。這種溫度傳感器特別容易和微電腦配合,組成自動(dòng)測試系統。在此系統中,我們利用C8051F206提供的片內12位SAR ADC的強大功能,以標準的模擬信號(電流,電壓)轉換為數字信號。
由于單片機串口TTL電平與標準的RS 232C信號電平范圍不一致,所以在與之進(jìn)行通訊的時(shí)候,首先要將TTL電平信號進(jìn)行一定的轉換,使之符合RS 232C的信號規范。本系統中,選擇MAX公司的MAX 232進(jìn)行電平信號轉換。
2.2 軟件設計
系統軟件設計主要包括主程序、中斷服務(wù)子程序等。軟件流程圖如圖2所示。
3 LabVIEW下的程序設計
LabVIEW是基于圖形化的程序設計語(yǔ)言,程序的核心代碼是類(lèi)似于流程圖的方框圖和線(xiàn)條的連接。屬于數據流編程,交互性不好。每個(gè)方框圖代表一個(gè)功能模塊即子Ⅵ,程序執行過(guò)程是條件滿(mǎn)足方式,當一個(gè)功能模塊的所有輸入都齊備后,此功能模塊產(chǎn)生輸出,傳送給下一個(gè)模塊。
3.1 串行通訊程序設計
首先是對串口的初始化設置:波特率為默認值9600,8位數據位,1位停止位,無(wú)校驗位,串口號為3。當系統開(kāi)啟時(shí),通過(guò)VISA Write.vi向單片機發(fā)送“發(fā)送請求命令”由于LabVIEW的串行通信子VI只允許對字符串的讀寫(xiě),因此在數據處理時(shí),必須進(jìn)行字符串與數字之間的正確轉換,在這里通過(guò)調用1個(gè)“組串”子VI實(shí)現此轉換。在收到上位機的發(fā)送請求命令后,單片機則進(jìn)入中斷發(fā)送所采集的數據,上位機通過(guò) VISA Read.vi節點(diǎn)讀取單片機送來(lái)的數據,并且判斷是否收到4位來(lái)控制Case結構中的是執行False還是執行True。這里使用Case結構是為了避免單片機的丟位現象發(fā)生。如果有丟位現象發(fā)生,則執行True讀取前面所讀到的數據。如果沒(méi)有丟位現象發(fā)生,則執行False讀取數據。由于采用12位的SARADC將標準的模擬信號(電流,電壓)轉換為數字信號,因此需要用2個(gè)字節來(lái)表示1個(gè)數據。這里采用1個(gè)子vi來(lái)進(jìn)行轉換。讀完1個(gè)數據,用實(shí)時(shí)趨勢圖控件Wave-form Chart顯示完后執行下一個(gè)循環(huán)。圖3給出了上位機對單片機進(jìn)行讀、寫(xiě)操作的框圖程序。
3.2 前面板設計
LabVIEW中的前面板就是圖形化用戶(hù)界面,用于設置輸入數值和觀(guān)察輸出量。在這個(gè)采集系統中由于任務(wù)繁多,不能采用1個(gè)用戶(hù)界面來(lái)實(shí)現時(shí),可將1個(gè)完整的測試系統按完成的具體任務(wù)不同分成幾個(gè)功能模塊,每個(gè)功能模塊分別設計成為不同的子VI,并且每個(gè)子VI都有自己的用戶(hù)界面。將這些個(gè)子VI放入一個(gè)事件結構中,用不同的按鈕來(lái)調用不同的子VI實(shí)現不同的功能。本系統在前面板中不但設置波特率、串口號為控件,用實(shí)時(shí)趨勢圖控件Waveform Chart顯示下位機實(shí)時(shí)采集到的數據。同時(shí)對采出數據進(jìn)行處理后得到生物發(fā)酵過(guò)程優(yōu)化所必需的CET,OUT,RQ曲線(xiàn)并將其實(shí)時(shí)顯示出來(lái)。而且還放置了許多功能按鈕來(lái)實(shí)現不同的功能。如圖4所示,給出本系統的前面板設計。
4 結 語(yǔ)
這個(gè)設計已經(jīng)通過(guò)實(shí)驗驗證,最后達到了預期的目的,能對發(fā)酵的整個(gè)過(guò)程進(jìn)行在線(xiàn)檢測和分析,為以后實(shí)施發(fā)酵過(guò)程的在線(xiàn)最優(yōu)控制提供了先決條件。具有很強的工程實(shí)用性,可廣泛應用于測試控制領(lǐng)域。
評論