摘 要: 論述了汽車故障診斷專家系統(tǒng)軟件的開發(fā)研究和設(shè)計中的難點,針對汽車故障的特點模擬經(jīng)驗豐富的維修專家的診斷思路及方法,利用Visual FoxPro3.0進行編程,從而可使用戶通過人機對話的形式方便、快速、準確地找出故障原因。
關(guān)鍵詞: 汽車 故障診斷 專家系統(tǒng)
目前我國汽車持有量正在快速增加,進口車也越來越多,且車型復(fù)雜、種類繁多,因而使許多維修單位由于缺乏有關(guān)維修專家的技術(shù)指導(dǎo)而不能維修或難以滿足維修的需要。為了提高車輛的利用率減少經(jīng)濟損失,開發(fā)汽車故障診斷專家系統(tǒng),利用計算機這種先進的設(shè)備進行故障診斷是形勢發(fā)展的需要和必然趨勢。
汽車故障診斷專家系統(tǒng)是一種能模擬維修專家的診斷思路進行故障診斷的計算機智能軟件程序。開發(fā)這樣一個系統(tǒng),首先需要將汽車維修領(lǐng)域?qū)<业拇罅繉嶋H維修經(jīng)驗進行匯總和提煉,編成知識庫,構(gòu)成專家系統(tǒng)的核心部分;其次需要建立推理機,推理機可根據(jù)用戶提供的故障跡象或異?,F(xiàn)象,利用知識庫中的知識,按一定推理策略進行推理,進而得出診斷結(jié)果。該專家系統(tǒng)的結(jié)構(gòu)如圖1所示。
1 總體設(shè)計
建造一個實用的汽車故障診斷專家系統(tǒng),不僅要有友好的人機界面,高效的推理策略,方便的知識獲取手段,還應(yīng)有完善的數(shù)據(jù)庫和圖像庫,以及強大的幫助系統(tǒng),其總體結(jié)構(gòu)方框圖如圖2所示。其中,故障診斷模塊根據(jù)確定性故障與非確定性故障的不同類型而采用了不同的診斷方法,對于確定性故障主要采用了診斷樹的方法來描述診斷流程,從故障現(xiàn)象出發(fā),列出所有可能產(chǎn)生此類現(xiàn)象的故障部位,再根據(jù)現(xiàn)象用最方便的判斷方法逐一排除,最終確定準確的故障部位;而對于非確定性故障,如發(fā)動機異響故障因故障現(xiàn)象與原因之間邏輯關(guān)系不明顯或不明確的情況,采用了模糊診斷方法,通過模糊統(tǒng)計來模擬維修專家在判別異響部位時的推理方式,從而找出故障原因,以便由此入手,進行維修,而無須靠人工來做出診斷,大大節(jié)省了時間,提高了車輛維修的效率。數(shù)據(jù)庫提供大量的有關(guān)汽車的各種數(shù)據(jù),包括汽車的一般數(shù)據(jù)、使用數(shù)據(jù)、發(fā)動機和底盤的維修調(diào)整數(shù)據(jù)等,以便于維修工人工作時即時查詢,而無須費時去查閱書本資料。圖像庫則給用戶提供大量的精美汽車圖像,并附有各種車型的簡介。
2 各功能模塊的設(shè)計
2.1 故障診斷模塊的設(shè)計
該模塊以人機對話的方式搜索用戶所掌握的故障線索,模仿維修專家的診斷思路進行推理,進而一步步找出故障部件及原因,其診斷流程框圖如圖3所示。根據(jù)汽車的具體情況將診斷模塊分為三個部分,其詳細結(jié)構(gòu)框圖見圖4。
以發(fā)動機系統(tǒng)為例,在建立柴油發(fā)動機的診斷子模塊時,針對其故障特點,采用了較形象的樹狀圖示診斷方案。當(dāng)進行診斷時,系統(tǒng)根據(jù)用戶對詢問的回答確定下一步顯示的樹枝,直到診斷進行到樹葉(找出故障原因)為止。此時,確定按鈕由失效變?yōu)榭捎?未診斷完則為失效狀態(tài)),按下去后可彈出預(yù)覽及打印屏幕,其人機界面見圖5。
2.1.1 診斷軟件設(shè)計中的難點分析
實現(xiàn)此故障樹診斷法,首先在表單上畫好所有的樹狀圖,初始化時,先設(shè)定全屏所有對象的可見性VISIBLE=.F.,然后根據(jù)每個按鈕、詢問文件之間的邏輯關(guān)系,編寫按下此按鈕時要執(zhí)行的動作(CLICK屬性)。例如:某一個按鈕按下時,執(zhí)行程序:
thisform.line25.visible=.t.
thisform label11.visible=.t.
2.1.1.1 錯選反悔功能的設(shè)計
有時,當(dāng)用戶按下一個按鈕后,在已顯示出了相應(yīng)的診斷內(nèi)容后,發(fā)現(xiàn)選錯了,反悔并回過來按下其上一級或上幾級的某個按鈕。系統(tǒng)必須允許這種錯誤的發(fā)生,并實現(xiàn)他的要求,即在每個按鈕的CLICK屬性內(nèi)加入一些語句,使除了應(yīng)該顯示的內(nèi)容VISIBLE(可見)外,其余對象的屬性均變回VISIBLE=.F.(不可見),這就需要逐條的控制每一對象。例如:已按下右邊的按鈕,并彈出下一級的內(nèi)容后,用戶反悔,又按下左邊的另一個按鈕,則系統(tǒng)將右邊彈出的內(nèi)容重新設(shè)置為VISIBLE=.F.,隱藏起來,并彈出左邊的內(nèi)容(見圖6)。
當(dāng)用戶的診斷完成后,允許實現(xiàn)瀏覽及打印功能。首先,要判斷用戶是否已完成診斷,即判斷是否有某一條支路的最后結(jié)果已顯示。若沒有則不允許進行瀏覽。然后,以每步所對應(yīng)的內(nèi)容作為一條記錄,將此條支路的診斷過程中的全部記錄添加到USER.故障字段中,即可實現(xiàn)瀏覽等功能。編寫完每一條支路的添加內(nèi)容后,既完成了一個表單的設(shè)計。
2.1.1.2 診斷記錄過程的設(shè)計
這部分的難點在于:添加診斷過程記錄的設(shè)計。最初曾設(shè)計為在每個選擇按鈕中加入一條語句,將該部分的診斷過程以記錄的形式添加到表中,但后來考慮到用戶可能會反悔,如何辨別已添加的錯誤記錄并刪除它,一直是一個很大的問題。經(jīng)過反復(fù)的研究與試驗,最后決定采用現(xiàn)有的方法,即不理會用戶的診斷步驟,只以其最后確定的那條診斷支路為準。先根據(jù)最后結(jié)果判斷是哪一條支路,然后在確定按鈕中將該條支路中的內(nèi)容進行添加。
2.2 數(shù)據(jù)庫模塊的設(shè)計
汽車數(shù)據(jù)庫模塊主要包含5個部分:數(shù)據(jù)庫、工作界面、信息檢索、打印輸出口、系統(tǒng)引導(dǎo)信息處理。數(shù)據(jù)庫部分是整個系統(tǒng)的數(shù)據(jù)源,是系統(tǒng)最重要的組成部分之一。根據(jù)汽車數(shù)據(jù)極其龐大而復(fù)雜的特點。整個系統(tǒng)的構(gòu)造采用了“樹狀分支,模塊關(guān)聯(lián),分部構(gòu)造”的數(shù)據(jù)庫方式,其結(jié)構(gòu)見圖7。
與數(shù)據(jù)庫模塊相應(yīng)的,工作界面也采用了交互式的關(guān)聯(lián)調(diào)用方式。各工作界面對應(yīng)相應(yīng)的數(shù)據(jù)庫,又相互可調(diào)用。由于采用了結(jié)構(gòu)化編程,各工作界面以子函數(shù)方式出現(xiàn),既增加了系統(tǒng)的靈活性,也使整個系統(tǒng)更為層次分明。整個工作界面網(wǎng)絡(luò)如圖8所示,整個系統(tǒng)的工作環(huán)境是一個相互連接的網(wǎng)狀結(jié)構(gòu),在這個工作界面網(wǎng)絡(luò)中,用戶可以簡單的在各個部分數(shù)據(jù)中跳轉(zhuǎn),而無須自己關(guān)心所在的數(shù)據(jù)庫層次,同時,各數(shù)據(jù)界面均與檢索界面、打印界面緊密連接,數(shù)據(jù)獲取更方便快捷。
數(shù)據(jù)檢索模塊是整個系統(tǒng)的一個中心環(huán)節(jié)。因為,衡量一個數(shù)據(jù)庫系統(tǒng)是否成功,很大程度上決定于其檢索功能的快速性、完善性。根據(jù)汽車數(shù)據(jù)記錄條目量大、數(shù)據(jù)字段數(shù)多、字段占用字節(jié)量大的特點,汽車數(shù)據(jù)庫系統(tǒng)采用了視圖檢索的新方式。通過工作界面獲取檢索條件,以參數(shù)形式傳遞給視圖,利用視圖進行檢索,再由視圖生成檢索結(jié)果的臨時數(shù)據(jù)表。將臨時數(shù)據(jù)表映射到檢索界面中,實現(xiàn)檢索結(jié)果的顯示。這種方式使用了結(jié)構(gòu)化查詢(SQL)方式的視圖檢索,檢索條件的傳輸與判別較為簡易,在使用RUSH MORE技術(shù)時,能表現(xiàn)出令人滿意的查詢速度。同時,采用生成臨時表方式,能大大減少對CPU及內(nèi)存的占用,加快系統(tǒng)性能。在實際檢驗中,系統(tǒng)在8個數(shù)據(jù)庫(50000多個數(shù)據(jù))中檢索298條符合復(fù)雜條件關(guān)系的記錄,僅耗時0.27秒,查詢結(jié)果令人滿意。并且,在系統(tǒng)中還利用了視圖的臨時表可發(fā)送更新性質(zhì),增加了檢索結(jié)果編輯功能。用戶可先利用檢索界面檢索到所需的數(shù)據(jù)記錄,并利用該功能對數(shù)據(jù)進行修改,發(fā)送到原數(shù)據(jù)表中,更好的實現(xiàn)數(shù)據(jù)管理。
參考文獻
1 吳 桑.汽車故障診斷手冊.長春:吉林科技出版社,1994
2胡 琳.汽車故障診斷專家系統(tǒng)診斷模型的研究.電子技術(shù)應(yīng)用,1997;23(12)
3 陳宏謹,胡 琳.汽車發(fā)動機故障診斷專家系統(tǒng)的開發(fā)研究.汽車技術(shù),1998(12)
4 戚 揚,韓北山.汽車故障診斷.北京:人民交通出版社,1995