汽車(chē)安全檢測系統的設計與實(shí)現
摘要:針對汽車(chē)安全檢測,本文論述了其計算機智能測控系統的組成和設計要點(diǎn)。從架構檢測線(xiàn)的硬件框架結構入手,結合軟件設計給出了整個(gè)系統的具體實(shí)現。系統設計采用了目前比較流行的數據庫及控制技術(shù),嚴格遵循最新的行業(yè)國家標準,具有良好的適應性。該系統的成功研發(fā)將為現代汽車(chē)自動(dòng)安全檢測提供一種更為便捷可靠的集成環(huán)境。
關(guān)鍵詞:汽車(chē)檢測;檢測線(xiàn);智能控制;工位
1 引言
汽車(chē)在為人類(lèi)帶來(lái)便利的同時(shí),也帶來(lái)了大氣污染、環(huán)境噪聲及交通安全等一系列問(wèn)題。因此,如何把汽車(chē)廢氣和噪音污染限制在一定的范圍內,同時(shí)又能做到安全性能相對較高,是汽車(chē)制造應重點(diǎn)考慮的主要因素。汽車(chē)本身是一個(gè)較為復雜的系統,出廠(chǎng)時(shí)都要求符合一定的標準,但隨著(zhù)行駛里程的增加和使用時(shí)間的延續,其性能和安全狀況將會(huì )不斷降低,那么汽車(chē)運行一段時(shí)間后是否還能滿(mǎn)足標準的要求?這就要定期對其進(jìn)行安全檢測。汽車(chē)安全性能檢測就是對汽車(chē)的安全性能狀況進(jìn)行測試和檢驗的一門(mén)技術(shù),它已成為交通行業(yè)管理部門(mén)對車(chē)輛安全性能檢測和汽車(chē)生產(chǎn)維修行業(yè)以及汽車(chē)進(jìn)出廠(chǎng)檢驗及故障診斷的主要技術(shù)手段。
2 系統構成與硬件設計
汽車(chē)檢測分為汽車(chē)性能檢測和汽車(chē)安全檢測兩類(lèi),本文主要針對汽車(chē)安全檢測介紹全檢車(chē)過(guò)程的自動(dòng)控制原理與實(shí)現。圖1給出了汽車(chē)安全檢測計算機控制系統的各組成部分結構框圖。該系統主要由登錄機、上位機和下位機(各工位檢測設備及儀表)三個(gè)部分組成[1]。
3 系統核心軟件設計
本系統軟件主要涉及各檢測設備、登錄機與上位機三個(gè)部分。各檢測設備程序一般均由廠(chǎng)家提供,系統通過(guò)其接口程序調用使用設備。登錄機功能較為單一,其軟件設計也不復雜。此處著(zhù)重以上位機監控與管理軟件來(lái)分析說(shuō)明系統核心功能模塊的軟件設計與實(shí)現過(guò)程。
3.1 數據庫與數據報表設計與實(shí)現
按照“汽車(chē)檢測站計算機控制系統技術(shù)規范(JT/T478-2002)”[2]對數據庫設計的規定,要求在車(chē)輛上線(xiàn)檢測時(shí),控制系統應實(shí)時(shí)記錄檢測數據,并在完成一輛車(chē)輛的所有檢測項目后,控制系統應立即將該車(chē)輛完備的檢測數據和判定結果存入數據庫。為此,本系統選用了SQL Server 2000作數據庫管理系統。整個(gè)系統建立一個(gè)數據庫AutosDetDB,其中主要數據表有:車(chē)輛基本信息表BaseInfoT,車(chē)輛檔案信息表AutosT,檢測項目信息表DetItmT,檢測數據信息表DetDataT,檢測項目判定表AssT,項目合格標準表DetStdT等;前5個(gè)數據表通過(guò)車(chē)輛標識碼VIN字段實(shí)現關(guān)聯(lián)。系統設有數據源Autos,統一采用ODBC數據接口訪(fǎng)問(wèn)數據庫,實(shí)現相關(guān)數據的插入、刪除、修改及查詢(xún)操作。
數據報表是車(chē)輛安全檢測站在車(chē)輛安檢完畢后向車(chē)主報告或反饋車(chē)輛安全性能狀況的重要技術(shù)手段。根據“機動(dòng)車(chē)安全檢驗項目和方法(GA 468-2004)”[2]對報表設計的規范,要求報表必須涵蓋如下信息:檢測站名稱(chēng),上線(xiàn)流水號,車(chē)輛基本信息,車(chē)輛七項線(xiàn)內檢測(尾氣、車(chē)速、燈光、喇叭、側滑、軸重、制動(dòng))的檢測結果及合格判定,線(xiàn)內地溝檢查結果及合格判定,外觀(guān)檢查與路試等線(xiàn)外檢驗結果及合格判定??紤]到該數據報表涉及的數據類(lèi)型及數據格式較多、布局錯綜復雜這一情況,報表設計未在VB的數據環(huán)境中使用數據報表設計器DataReport對象來(lái)進(jìn)行。而是先將系統數據報表在Word 2000中制成A4頁(yè)面大小的表格模板,以Doc格式文檔存盤(pán);然后在上位機軟件報表窗體中引入OLE容器控件,在該容器控件中插入事先創(chuàng )建好的Doc格式報表模板文件并在已加載報表模板的相應位置均添加Label標簽,各標簽與檢測數據信息表DetDataT中的相應字段綁定。每當車(chē)輛檢測完后,報表模板中所有標簽的Caption屬性均被自動(dòng)更新為當前車(chē)輛的各項目檢測值,通過(guò)調用OLE控件所在窗體對象的PrintForm事件即可實(shí)現報表的實(shí)時(shí)打印輸出。
3.2 通信串口程序設計與實(shí)現
本系統上位機與檢測線(xiàn)上的所有檢測設備和儀表均采用基于串口的主從通信方式。上位機自帶2個(gè)串口另加一塊PCI總線(xiàn)8串口卡,共可提供10個(gè)通信串口。由圖1可知,這10個(gè)串口分別負責與工位電子顯示屏以及分布在3個(gè)工位的9臺設備和儀表進(jìn)行數據通信,同時(shí)在系統程序中加載10個(gè)串口通信控件。根據各檢測設備通信協(xié)議的要求,設置相應串口通信控件的關(guān)鍵屬性[3]??紤]到系統的靈活性及檢測線(xiàn)中檢測設備通信故障檢修的方便性,系統可為各設備動(dòng)態(tài)分配通信端口。為統一操作和管理,系統定義了一個(gè)過(guò)程MultiComInit,負責所有串口的初始化操作;此外,還定義了一個(gè)過(guò)程MultiComCls,負責所有串口的關(guān)閉操作。以下以端口8為例,給出相應串口的初始化程序代碼[4]。
'MSComCH串口控件負責與側滑儀通信
MSComCH.CommPort=8 '端口號,可在1~10間設置
MSComCH.Settings="2400,n,8,1" '波特率,校驗位,數據位,停止位
MSComCH.InputMode=comInputModeBinary '二進(jìn)制數據傳輸方式
MSComCH.InBufferSize=512 '接收緩沖區大小
MSComCH.OutBufferSize=512 '發(fā)送緩沖區大小
MSComCH.RThreshold=12 '接收12字節產(chǎn)生oncomm事件
MSComCH.SThreshold=0 '禁止發(fā)送字節產(chǎn)生oncomm事件
MSComCH.PortOpen=True '打開(kāi)串口
3.3 待檢項目車(chē)輛就位程序設計與實(shí)現
車(chē)檢時(shí)車(chē)輛就位極為關(guān)鍵。安檢線(xiàn)上只有地溝屬線(xiàn)內目視檢查項目,對車(chē)輛定位沒(méi)有嚴格要求;此外其他項目檢測均需車(chē)輛精確定位,否則,檢測就無(wú)法進(jìn)行或是檢測結果不準確。本檢測線(xiàn)上各項目檢測點(diǎn)均安裝了光電開(kāi)關(guān)或遙控開(kāi)關(guān),這些開(kāi)關(guān)直接與上位機PCI-1762數字I/O卡各DI端口相連,系統通過(guò)實(shí)時(shí)判斷相應DI端口的電平變化情況即可判定受檢車(chē)是否就位。下面以汽車(chē)軸重檢測為例,對本系統車(chē)輛就位功能模塊的設計過(guò)程加以說(shuō)明。
汽車(chē)軸重儀傳感器部分由一對電子稱(chēng)組成,可用于實(shí)現同軸左右輪的稱(chēng)重。軸重檢測時(shí)需要前后兩對光電開(kāi)光(靠近車(chē)頭的為前光電開(kāi)關(guān))實(shí)現被檢軸定位。假定連接這兩對光電開(kāi)關(guān)的I/O卡兩DI端口的電平變化情況存放在DI(0)和DI(1)數組元素中。數組元素值為1,表示光電信號被車(chē)輪遮擋;反之,則表示光電信號未被車(chē)輪遮擋。圖2描述了軸重檢測時(shí)被檢車(chē)輛當前車(chē)軸的就位判定過(guò)程,圖中TmrDW定時(shí)間隔表示車(chē)軸就位時(shí)間,該時(shí)間可視實(shí)際情況自由設定。
3.4 檢測程序設計與實(shí)現
車(chē)輛安全檢測涉及的檢測項目較多,這里僅以核心檢測項目之一――制動(dòng)檢測為例,對其檢測程序的設計過(guò)程進(jìn)行描述。制動(dòng)檢測主要實(shí)現對車(chē)輛各軸左右輪制動(dòng)力的檢測,本系統采用HYZD-10型制動(dòng)儀來(lái)完成這一檢測過(guò)程。在檢測各軸制動(dòng)力時(shí),上位機啟動(dòng)設備檢測后,制動(dòng)儀不斷采樣制動(dòng)力并上傳采樣數據,同時(shí),上位機利用串口事件觸發(fā)方式接收采樣數據并實(shí)時(shí)繪制制動(dòng)力變化曲線(xiàn),找出制動(dòng)期間左右輪的最大制動(dòng)力以及兩輪制動(dòng)力最大差值點(diǎn)時(shí)刻左右輪制動(dòng)力。以上信息都是制動(dòng)檢測項目合格與否的重要衡量指標。下面給出的是連續制動(dòng)5秒鐘期間系統繪制的同軸左右兩輪制動(dòng)力變化曲線(xiàn)(見(jiàn)圖3)及繪制制動(dòng)力曲線(xiàn)的部分主要程序代碼,其中,數組LX、RX分別用于存放左、右輪制動(dòng)力線(xiàn)段的X軸坐標;數組LY、RY分別用于存放左、右輪制動(dòng)力線(xiàn)段的Y軸坐標。
OnComCnt=OnComCnt+1 '串口事件觸發(fā)計數
If OnComCnt=1
LX(1)=OnComCnt:LY(1)=TmpL '計算左輪制動(dòng)力終點(diǎn)坐標
RX(1)=OnComCnt:RY(1)=TmpR '計算右輪制動(dòng)力終點(diǎn)坐標
Else
LX(0)=LX(1):LY(0)=LY(1) '計算左輪制動(dòng)力起點(diǎn)坐標
LX(1)=OnComCnt:LY(1)=TmpL '計算左輪制動(dòng)力終點(diǎn)坐標
RX(0)=RX(1):RY(0)=RY(1) '計算右輪制動(dòng)力起點(diǎn)坐標
RX(1)=OnComCnt:RY(1)=TmpR '計算右輪制動(dòng)力終點(diǎn)坐標
End If
Pict.DrawStyle=0 '定義線(xiàn)型及顏色, 畫(huà)線(xiàn)
Pict.Line (LX(0),LY(0))-(LX(1),LY(1)),vbRed
Pict.Line (RX(0),RY(0))-(RX(1),RY(1)),vbBlue
4 結束語(yǔ)
該系統已用于本市機動(dòng)車(chē)檢測中心的汽車(chē)安全檢測線(xiàn),日檢車(chē)達320輛,高峰時(shí)系統允許5輛車(chē)同時(shí)在線(xiàn)檢測。除地溝檢查和尾氣檢測的插取樣管作業(yè)外,其余項目檢測無(wú)需人工參與,基本實(shí)現了無(wú)人化自動(dòng)檢車(chē)。與其它檢測線(xiàn)相比,本系統總體協(xié)調性好,能較好地均衡各工位的工作負荷,檢車(chē)效率提高了0.7倍左右。系統軟件可操作性強,人機界面友好。主控程序采用了前一工位封鎖后一工位的級聯(lián)式集中控制策略,從而可確保檢測次序和防止數據錯亂,提高了系統穩定性和檢測結果準確可靠性。此外,上位主控機可動(dòng)態(tài)設置各檢測設備的通信串口號,便于系統維護和設備通信故障調試。但上、下位機間采用主從式串口通信,使得它們之間的數據交互傳輸距離成了本系統的一個(gè)瓶頸,因此,這一不足還有待于今后努力探索和解決。
參考文獻
[1]曹家吉吉..現代汽車(chē)檢測診斷技術(shù).北京:清華大學(xué)出版社,2003.
[2]中國機動(dòng)車(chē)輛安全鑒定檢測中心.中國機動(dòng)車(chē)檢測年鑒.北京:中國人民公安大學(xué)出版社,2005.
[3]仵浩等.Visual Basic串口通信工程開(kāi)發(fā)實(shí)例導航.北京:人民郵電出版社,2003.
[4]單聯(lián)海.基于VC++6.0的汽車(chē)點(diǎn)火線(xiàn)圈測試臺的串口通信.微計算機信息,2004,(11):112-113.
評論