《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 汽車故障診斷專家系統(tǒng)軟件的設(shè)計(jì)與研究

汽車故障診斷專家系統(tǒng)軟件的設(shè)計(jì)與研究

2009-03-05
作者:胡 琳

  摘 要: 論述了汽車故障診斷專家系統(tǒng)軟件的開(kāi)發(fā)研究和設(shè)計(jì)中的難點(diǎn),針對(duì)汽車故障的特點(diǎn)模擬經(jīng)驗(yàn)豐富的維修專家的診斷思路及方法,利用Visual FoxPro3.0進(jìn)行編程,從而可使用戶通過(guò)人機(jī)對(duì)話的形式方便、快速、準(zhǔn)確地找出故障原因。
  關(guān)鍵詞: 汽車 故障診斷 專家系統(tǒng)


  目前我國(guó)汽車持有量正在快速增加,進(jìn)口車也越來(lái)越多,且車型復(fù)雜、種類繁多,因而使許多維修單位由于缺乏有關(guān)維修專家的技術(shù)指導(dǎo)而不能維修或難以滿足維修的需要。為了提高車輛的利用率減少經(jīng)濟(jì)損失,開(kāi)發(fā)汽車故障診斷專家系統(tǒng),利用計(jì)算機(jī)這種先進(jìn)的設(shè)備進(jìn)行故障診斷是形勢(shì)發(fā)展的需要和必然趨勢(shì)。
  汽車故障診斷專家系統(tǒng)是一種能模擬維修專家的診斷思路進(jìn)行故障診斷的計(jì)算機(jī)智能軟件程序。開(kāi)發(fā)這樣一個(gè)系統(tǒng),首先需要將汽車維修領(lǐng)域?qū)<业拇罅繉?shí)際維修經(jīng)驗(yàn)進(jìn)行匯總和提煉,編成知識(shí)庫(kù),構(gòu)成專家系統(tǒng)的核心部分;其次需要建立推理機(jī),推理機(jī)可根據(jù)用戶提供的故障跡象或異?,F(xiàn)象,利用知識(shí)庫(kù)中的知識(shí),按一定推理策略進(jìn)行推理,進(jìn)而得出診斷結(jié)果。該專家系統(tǒng)的結(jié)構(gòu)如圖1所示。


1 總體設(shè)計(jì)
  建造一個(gè)實(shí)用的汽車故障診斷專家系統(tǒng),不僅要有友好的人機(jī)界面,高效的推理策略,方便的知識(shí)獲取手段,還應(yīng)有完善的數(shù)據(jù)庫(kù)和圖像庫(kù),以及強(qiáng)大的幫助系統(tǒng),其總體結(jié)構(gòu)方框圖如圖2所示。其中,故障診斷模塊根據(jù)確定性故障與非確定性故障的不同類型而采用了不同的診斷方法,對(duì)于確定性故障主要采用了診斷樹(shù)的方法來(lái)描述診斷流程,從故障現(xiàn)象出發(fā),列出所有可能產(chǎn)生此類現(xiàn)象的故障部位,再根據(jù)現(xiàn)象用最方便的判斷方法逐一排除,最終確定準(zhǔn)確的故障部位;而對(duì)于非確定性故障,如發(fā)動(dòng)機(jī)異響故障因故障現(xiàn)象與原因之間邏輯關(guān)系不明顯或不明確的情況,采用了模糊診斷方法,通過(guò)模糊統(tǒng)計(jì)來(lái)模擬維修專家在判別異響部位時(shí)的推理方式,從而找出故障原因,以便由此入手,進(jìn)行維修,而無(wú)須靠人工來(lái)做出診斷,大大節(jié)省了時(shí)間,提高了車輛維修的效率。數(shù)據(jù)庫(kù)提供大量的有關(guān)汽車的各種數(shù)據(jù),包括汽車的一般數(shù)據(jù)、使用數(shù)據(jù)、發(fā)動(dòng)機(jī)和底盤(pán)的維修調(diào)整數(shù)據(jù)等,以便于維修工人工作時(shí)即時(shí)查詢,而無(wú)須費(fèi)時(shí)去查閱書(shū)本資料。圖像庫(kù)則給用戶提供大量的精美汽車圖像,并附有各種車型的簡(jiǎn)介。


2 各功能模塊的設(shè)計(jì)
2.1 故障診斷模塊的設(shè)計(jì)
  該模塊以人機(jī)對(duì)話的方式搜索用戶所掌握的故障線索,模仿維修專家的診斷思路進(jìn)行推理,進(jìn)而一步步找出故障部件及原因,其診斷流程框圖如圖3所示。根據(jù)汽車的具體情況將診斷模塊分為三個(gè)部分,其詳細(xì)結(jié)構(gòu)框圖見(jiàn)圖4。


  以發(fā)動(dòng)機(jī)系統(tǒng)為例,在建立柴油發(fā)動(dòng)機(jī)的診斷子模塊時(shí),針對(duì)其故障特點(diǎn),采用了較形象的樹(shù)狀圖示診斷方案。當(dāng)進(jìn)行診斷時(shí),系統(tǒng)根據(jù)用戶對(duì)詢問(wèn)的回答確定下一步顯示的樹(shù)枝,直到診斷進(jìn)行到樹(shù)葉(找出故障原因)為止。此時(shí),確定按鈕由失效變?yōu)榭捎?未診斷完則為失效狀態(tài)),按下去后可彈出預(yù)覽及打印屏幕,其人機(jī)界面見(jiàn)圖5。


2.1.1 診斷軟件設(shè)計(jì)中的難點(diǎn)分析
  實(shí)現(xiàn)此故障樹(shù)診斷法,首先在表單上畫(huà)好所有的樹(shù)狀圖,初始化時(shí),先設(shè)定全屏所有對(duì)象的可見(jiàn)性VISIBLE=.F.,然后根據(jù)每個(gè)按鈕、詢問(wèn)文件之間的邏輯關(guān)系,編寫(xiě)按下此按鈕時(shí)要執(zhí)行的動(dòng)作(CLICK屬性)。例如:某一個(gè)按鈕按下時(shí),執(zhí)行程序:
  thisform.line25.visible=.t.
  thisform label11.visible=.t.
2.1.1.1 錯(cuò)選反悔功能的設(shè)計(jì)
  有時(shí),當(dāng)用戶按下一個(gè)按鈕后,在已顯示出了相應(yīng)的診斷內(nèi)容后,發(fā)現(xiàn)選錯(cuò)了,反悔并回過(guò)來(lái)按下其上一級(jí)或上幾級(jí)的某個(gè)按鈕。系統(tǒng)必須允許這種錯(cuò)誤的發(fā)生,并實(shí)現(xiàn)他的要求,即在每個(gè)按鈕的CLICK屬性內(nèi)加入一些語(yǔ)句,使除了應(yīng)該顯示的內(nèi)容VISIBLE(可見(jiàn))外,其余對(duì)象的屬性均變回VISIBLE=.F.(不可見(jiàn)),這就需要逐條的控制每一對(duì)象。例如:已按下右邊的按鈕,并彈出下一級(jí)的內(nèi)容后,用戶反悔,又按下左邊的另一個(gè)按鈕,則系統(tǒng)將右邊彈出的內(nèi)容重新設(shè)置為VISIBLE=.F.,隱藏起來(lái),并彈出左邊的內(nèi)容(見(jiàn)圖6)。


  當(dāng)用戶的診斷完成后,允許實(shí)現(xiàn)瀏覽及打印功能。首先,要判斷用戶是否已完成診斷,即判斷是否有某一條支路的最后結(jié)果已顯示。若沒(méi)有則不允許進(jìn)行瀏覽。然后,以每步所對(duì)應(yīng)的內(nèi)容作為一條記錄,將此條支路的診斷過(guò)程中的全部記錄添加到USER.故障字段中,即可實(shí)現(xiàn)瀏覽等功能。編寫(xiě)完每一條支路的添加內(nèi)容后,既完成了一個(gè)表單的設(shè)計(jì)。
2.1.1.2 診斷記錄過(guò)程的設(shè)計(jì)
  這部分的難點(diǎn)在于:添加診斷過(guò)程記錄的設(shè)計(jì)。最初曾設(shè)計(jì)為在每個(gè)選擇按鈕中加入一條語(yǔ)句,將該部分的診斷過(guò)程以記錄的形式添加到表中,但后來(lái)考慮到用戶可能會(huì)反悔,如何辨別已添加的錯(cuò)誤記錄并刪除它,一直是一個(gè)很大的問(wèn)題。經(jīng)過(guò)反復(fù)的研究與試驗(yàn),最后決定采用現(xiàn)有的方法,即不理會(huì)用戶的診斷步驟,只以其最后確定的那條診斷支路為準(zhǔn)。先根據(jù)最后結(jié)果判斷是哪一條支路,然后在確定按鈕中將該條支路中的內(nèi)容進(jìn)行添加。
2.2 數(shù)據(jù)庫(kù)模塊的設(shè)計(jì)
  汽車數(shù)據(jù)庫(kù)模塊主要包含5個(gè)部分:數(shù)據(jù)庫(kù)、工作界面、信息檢索、打印輸出口、系統(tǒng)引導(dǎo)信息處理。數(shù)據(jù)庫(kù)部分是整個(gè)系統(tǒng)的數(shù)據(jù)源,是系統(tǒng)最重要的組成部分之一。根據(jù)汽車數(shù)據(jù)極其龐大而復(fù)雜的特點(diǎn)。整個(gè)系統(tǒng)的構(gòu)造采用了“樹(shù)狀分支,模塊關(guān)聯(lián),分部構(gòu)造”的數(shù)據(jù)庫(kù)方式,其結(jié)構(gòu)見(jiàn)圖7。


  與數(shù)據(jù)庫(kù)模塊相應(yīng)的,工作界面也采用了交互式的關(guān)聯(lián)調(diào)用方式。各工作界面對(duì)應(yīng)相應(yīng)的數(shù)據(jù)庫(kù),又相互可調(diào)用。由于采用了結(jié)構(gòu)化編程,各工作界面以子函數(shù)方式出現(xiàn),既增加了系統(tǒng)的靈活性,也使整個(gè)系統(tǒng)更為層次分明。整個(gè)工作界面網(wǎng)絡(luò)如圖8所示,整個(gè)系統(tǒng)的工作環(huán)境是一個(gè)相互連接的網(wǎng)狀結(jié)構(gòu),在這個(gè)工作界面網(wǎng)絡(luò)中,用戶可以簡(jiǎn)單的在各個(gè)部分?jǐn)?shù)據(jù)中跳轉(zhuǎn),而無(wú)須自己關(guān)心所在的數(shù)據(jù)庫(kù)層次,同時(shí),各數(shù)據(jù)界面均與檢索界面、打印界面緊密連接,數(shù)據(jù)獲取更方便快捷。


  數(shù)據(jù)檢索模塊是整個(gè)系統(tǒng)的一個(gè)中心環(huán)節(jié)。因?yàn)?,衡量一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)是否成功,很大程度上決定于其檢索功能的快速性、完善性。根據(jù)汽車數(shù)據(jù)記錄條目量大、數(shù)據(jù)字段數(shù)多、字段占用字節(jié)量大的特點(diǎn),汽車數(shù)據(jù)庫(kù)系統(tǒng)采用了視圖檢索的新方式。通過(guò)工作界面獲取檢索條件,以參數(shù)形式傳遞給視圖,利用視圖進(jìn)行檢索,再由視圖生成檢索結(jié)果的臨時(shí)數(shù)據(jù)表。將臨時(shí)數(shù)據(jù)表映射到檢索界面中,實(shí)現(xiàn)檢索結(jié)果的顯示。這種方式使用了結(jié)構(gòu)化查詢(SQL)方式的視圖檢索,檢索條件的傳輸與判別較為簡(jiǎn)易,在使用RUSH MORE技術(shù)時(shí),能表現(xiàn)出令人滿意的查詢速度。同時(shí),采用生成臨時(shí)表方式,能大大減少對(duì)CPU及內(nèi)存的占用,加快系統(tǒng)性能。在實(shí)際檢驗(yàn)中,系統(tǒng)在8個(gè)數(shù)據(jù)庫(kù)(50000多個(gè)數(shù)據(jù))中檢索298條符合復(fù)雜條件關(guān)系的記錄,僅耗時(shí)0.27秒,查詢結(jié)果令人滿意。并且,在系統(tǒng)中還利用了視圖的臨時(shí)表可發(fā)送更新性質(zhì),增加了檢索結(jié)果編輯功能。用戶可先利用檢索界面檢索到所需的數(shù)據(jù)記錄,并利用該功能對(duì)數(shù)據(jù)進(jìn)行修改,發(fā)送到原數(shù)據(jù)表中,更好的實(shí)現(xiàn)數(shù)據(jù)管理。
參考文獻(xiàn)
1 吳 桑.汽車故障診斷手冊(cè).長(zhǎng)春:吉林科技出版社,1994
2胡 琳.汽車故障診斷專家系統(tǒng)診斷模型的研究.電子技術(shù)應(yīng)用,1997;23(12)
3 陳宏謹(jǐn),胡 琳.汽車發(fā)動(dòng)機(jī)故障診斷專家系統(tǒng)的開(kāi)發(fā)研究.汽車技術(shù),1998(12)
4 戚 揚(yáng),韓北山.汽車故障診斷.北京:人民交通出版社,1995

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。