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