虛擬儀器技術(shù)的汽車(chē)尾氣檢測系統
雙怠速法尾氣檢測程序的執行過(guò)程為:首先在主程序界面上輸入被檢車(chē)輛基本信息,然后通過(guò)LED顯示屏提示受檢車(chē)輛進(jìn)入檢測工位,通過(guò)讀取紅外接收光電管的狀態(tài)判斷車(chē)輛到位情況。若車(chē)輛到位,則按照國標規定的雙怠速測量方法進(jìn)行尾氣排放檢測,檢測數據由串口輸入。最后計算數據,顯示、存儲檢測結果。為直觀(guān)起見(jiàn),采集到的原始數據可用曲線(xiàn)圖的形式輸出。
在檢測程序設計中,由于工控計算機和尾氣分析儀是通過(guò)串口來(lái)傳送測量命令和測量數據的,因此串行通信程序是檢測軟件中最關(guān)鍵的模塊之一。在 LabVIEW8.2中,可以利用VISA模塊編寫(xiě)串行通信程序,這樣可以擺脫煩瑣的底層命令,輕松實(shí)現工控計算機與儀器之間的通信。
VS5067-5汽車(chē)尾氣分析儀通信參數為:9600波特率、8位數據位、無(wú)奇偶校驗、1位停止位,通信命令包含:計算機控制、CAL、測量、讀數據、結束測量、手動(dòng)操作等,命令格式為多字節的ASCII碼形式,例如,“計算機控制”命令為:02H,*,S,R,E,M,20H,K,O,03H,即10個(gè)字節的ASCII碼。同樣,儀器的應答信號也是多字節的ASCII碼,例如,對應“計算機控制”命令的應答信號為9個(gè)字節的ASCII碼,即:02H,*,S,R,E,M,20H,0,03H。也就是說(shuō),工控計算機與尾氣分析儀之間的串行數據均為多字節的ASCII碼信息。由于在程序開(kāi)發(fā)中,一般ASCII碼用十六進(jìn)制表示比較方便,因此,串行發(fā)送與接收數據就存在著(zhù)數據類(lèi)型轉換的問(wèn)題。在LabVIEW8.2中,ASCII碼與十六進(jìn)制數據的轉換可以很方便的用“字節數組至字符串轉換”、“字符串至字節數組轉換”兩個(gè)函數實(shí)現。以發(fā)送“計算機控制”命令為例,LabVIEW8.2設計的串行通信程序如圖3所示。
串行通信程序的編寫(xiě)過(guò)程如下:
1)串口初始化
按照VS5067-5汽車(chē)尾氣分析儀通信協(xié)議,利用LabVIEW8.2函數選板的【數據通信】→【協(xié)議】→【串口】子選板中的“VISA配置串口”函數初始化串口為波特率9600bps,數據位8位,1位停止位,無(wú)奇偶校驗位,選擇工控計算機的COM1口。
2)發(fā)送測量命令
當工控計算機要向尾氣分析儀發(fā)送測量命令時(shí),可利用“VISA寫(xiě)入”函數發(fā)送。由于尾氣分析儀的命令為多字節的ASCII格式,因此需要將命令組建成一個(gè)數組,再利用“字節數組至字符串轉換”函數將數組轉換為字符串發(fā)送。圖3中示意的是“計算機控制”命令的發(fā)送情況,“計算機控制”命令的十六進(jìn)制表示為:02H,2AH,53H,52H,45H,4DH,20H,4BH,30H,03H。
3)接收應答信號
當尾氣分析儀接收到工控計算機發(fā)來(lái)的命令后,會(huì )相應返回應答信號,程序設計中,可利用“VISA讀取”函數接收儀器的應答信號,再利用“字符串至字節數組轉換”函數將接收到的ASCII數據轉換為十六進(jìn)制數據。例如,當儀器收到“計算機控制”命令后,返回的應答信號十六進(jìn)制表示為:02H、2AH、 53H、52H、45H、4DH、20H、30H、03H。如果工控計算機向儀器發(fā)送“讀數據”命令,則儀器返回的應答信號中就包含了HC、CO、 CO2、O2、NO以及轉速、油溫,λ(過(guò)量空氣系數)等檢測數據。
4)關(guān)閉串口
當工控計算機要停止尾氣檢測時(shí),可利用“VISA關(guān)閉”函數關(guān)閉串口,釋
光電開(kāi)關(guān)相關(guān)文章:光電開(kāi)關(guān)原理
評論