基于虛擬儀器技術的汽車尾氣檢測系統設計
2 檢測軟件設計
軟件是虛擬儀器的關鍵。設計一個虛擬儀器系統,在硬件平臺確定之后,就可以通過設計不同的軟件模塊,實現不同的功能。汽車尾氣檢測系統的應用軟件采用NI 的圖形化編程語言LabVIEW8.2開發,模塊化設計。按雙怠速法檢測尾氣排放的程序流程圖如圖2所示。
雙怠速法尾氣檢測程序的執行過程為:首先在主程序界面上輸入被檢車輛基本信息,然后通過LED顯示屏提示受檢車輛進入檢測工位,通過讀取紅外接收光電管的狀態判斷車輛到位情況。若車輛到位,則按照國標規定的雙怠速測量方法進行尾氣排放檢測,檢測數據由串口輸入。最后計算數據,顯示、存儲檢測結果。為直觀起見,采集到的原始數據可用曲線圖的形式輸出。
在檢測程序設計中,由于工控計算機和尾氣分析儀是通過串口來傳送測量命令和測量數據的,因此串行通信程序是檢測軟件中最關鍵的模塊之一。在 LabVIEW8.2中,可以利用VISA模塊編寫串行通信程序,這樣可以擺脫煩瑣的底層命令,輕松實現工控計算機與儀器之間的通信。
VS5067-5汽車尾氣分析儀通信參數為:9600波特率、8位數據位、無奇偶校驗、1位停止位,通信命令包含:計算機控制、CAL、測量、讀數據、結束測量、手動操作等,命令格式為多字節的ASCII碼形式,例如,“計算機控制”命令為:02H,*,S,R,E,M,20H,K,O,03H,即10個字節的ASCII碼。同樣,儀器的應答信號也是多字節的ASCII碼,例如,對應“計算機控制”命令的應答信號為9個字節的ASCII碼,即:02H,*,S,R,E,M,20H,0,03H。也就是說,工控計算機與尾氣分析儀之間的串行數據均為多字節的ASCII碼信息。由于在程序開發中,一般ASCII碼用十六進制表示比較方便,因此,串行發送與接收數據就存在著數據類型轉換的問題。在LabVIEW8.2中,ASCII碼與十六進制數據的轉換可以很方便的用“字節數組至字符串轉換”、“字符串至字節數組轉換”兩個函數實現。以發送“計算機控制”命令為例,LabVIEW8.2設計的串行通信程序如圖3所示。
評論