虛擬儀器技術的汽車尾氣檢測系統
雙怠速法尾氣檢測程序的執行過程為:首先在主程序界面上輸入被檢車輛基本信息,然后通過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所示。
串行通信程序的編寫過程如下:
1)串口初始化
按照VS5067-5汽車尾氣分析儀通信協議,利用LabVIEW8.2函數選板的【數據通信】→【協議】→【串口】子選板中的“VISA配置串口”函數初始化串口為波特率9600bps,數據位8位,1位停止位,無奇偶校驗位,選擇工控計算機的COM1口。
2)發送測量命令
當工控計算機要向尾氣分析儀發送測量命令時,可利用“VISA寫入”函數發送。由于尾氣分析儀的命令為多字節的ASCII格式,因此需要將命令組建成一個數組,再利用“字節數組至字符串轉換”函數將數組轉換為字符串發送。圖3中示意的是“計算機控制”命令的發送情況,“計算機控制”命令的十六進制表示為:02H,2AH,53H,52H,45H,4DH,20H,4BH,30H,03H。
3)接收應答信號
當尾氣分析儀接收到工控計算機發來的命令后,會相應返回應答信號,程序設計中,可利用“VISA讀取”函數接收儀器的應答信號,再利用“字符串至字節數組轉換”函數將接收到的ASCII數據轉換為十六進制數據。例如,當儀器收到“計算機控制”命令后,返回的應答信號十六進制表示為:02H、2AH、 53H、52H、45H、4DH、20H、30H、03H。如果工控計算機向儀器發送“讀數據”命令,則儀器返回的應答信號中就包含了HC、CO、 CO2、O2、NO以及轉速、油溫,λ(過量空氣系數)等檢測數據。
4)關閉串口
當工控計算機要停止尾氣檢測時,可利用“VISA關閉”函數關閉串口,釋
光電開關相關文章:光電開關原理
評論