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