基于LabVIEW的發酵過程實時數據采集系統設計
LabVIEW是基于圖形化的程序設計語言,程序的核心代碼是類似于流程圖的方框圖和線條的連接。屬于數據流編程,交互性不好。每個方框圖代表一個功能模塊即子VI,程序執行過程是條件滿足方式,當一個功能模塊的所有輸入都齊備后,此功能模塊產生輸出,傳送給下一個模塊。
3.1 串行通訊程序設計
首先是對串口的初始化設置:波特率為默認值9600,8位數據位,1位停止位,無校驗位,串口號為3。當系統開啟時,通過VISA Write.vi向單片機發送“發送請求命令”由于LabVIEW的串行通信子VI只允許對字符串的讀寫,因此在數據處理時,必須進行字符串與數字之間的正確轉換,在這里通過調用1個“組串”子VI實現此轉換。在收到上位機的發送請求命令后,單片機則進入中斷發送所采集的數據,上位機通過VISA Read.vi節點讀取單片機送來的數據,并且判斷是否收到4位來控制Case結構中的是執行False還是執行True,這里使用Case結構是為了避免單片機的丟位現象發生。如果有丟位現象發生,則執行True讀取前面所讀到的數據。如果沒有丟位現象發生,則執行False讀取數據。由于采用12位的SARADC將標準的模擬信號(電流,電壓)轉換為數字信號,因此需要用2個字節來表示1個數據。這里采用1個子vi來進行轉換。讀完1個數據,用實時趨勢圖控件Wave―form Chart顯示完后執行下一個循環。圖3給出了上位機對單片機進行讀、寫操作的框圖程序。本文引用地址:http://www.104case.com/article/173796.htm
3.2 前面板設計
LabVIEW中的前面板就是圖形化用戶界面,用于設置輸入數值和觀察輸出量。在這個采集系統中由于任務繁多,不能采用1個用戶界面來實現時,可將1個完整的測試系統按完成的具體任務不同分成幾個功能模塊,每個功能模塊分別設計成為不同的子VI,并且每個子VI都有自己的用戶界面。將這些個子VI放入一個事件結構中,用不同的按鈕來調用不同的子VI實現不同的功能。本系統在前面板中不但設置波特率、串口號為控件,用實時趨勢圖控件Waveform Chart顯示下位機實時采集到的數據。同時對采出數據進行處理后得到生物發酵過程優化所必需的CET,OUT,RQ曲線并將其實時顯示出來。而且還放置了許多功能按鈕來實現不同的功能。如圖4所示,給出本系統的前面板設計。
4 結 語
這個設計已經通過實驗驗證,最后達到了預期的目的,能對發酵的整個過程進行在線檢測和分析,為以后實施發酵過程的在線最優控制提供了先決條件。具有很強的工程實用性,可廣泛應用于測試控制領域。
評論