基于LabVIEW的發(fā)酵過(guò)程實(shí)時(shí)數據采集系統設計
LabVIEW是基于圖形化的程序設計語(yǔ)言,程序的核心代碼是類(lèi)似于流程圖的方框圖和線(xiàn)條的連接。屬于數據流編程,交互性不好。每個(gè)方框圖代表一個(gè)功能模塊即子VI,程序執行過(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ě)操作的框圖程序。本文引用地址:http://dyxdggzs.com/article/173796.htm
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)域。
評論