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