黨軍強(qiáng)
西部新鋯核材料科技有限公司 陜西 西安 710299
航空發(fā)動(dòng)機(jī)結(jié)構(gòu)復(fù)雜、工作環(huán)境惡劣,由于長期處于高溫高壓、高負(fù)荷、高轉(zhuǎn)速的環(huán)境并反復(fù)工作,是機(jī)械產(chǎn)品中故障率最高、維護(hù)工作量最大的系統(tǒng)。一般情況下,任何故障的發(fā)生都是在同一時(shí)間段內(nèi)事件組合的結(jié)果[1]。
一旦航空發(fā)動(dòng)機(jī)某個(gè)系統(tǒng)出現(xiàn)故障,就應(yīng)使用特定的故障診斷機(jī)制來查找故障發(fā)生的原因。因此,開發(fā)一種可靠的診斷機(jī)制對(duì)故障進(jìn)行檢測(cè)和隔離,在航空發(fā)動(dòng)機(jī)技術(shù)研究和改進(jìn)中已成為一個(gè)重要的研究領(lǐng)域[2]。整個(gè)開發(fā)過程是基于MATLAB 進(jìn)行的,其中主要用GUI 進(jìn)行設(shè)計(jì)。
此設(shè)計(jì)是基于航空發(fā)動(dòng)機(jī)不能啟動(dòng)這一故障開發(fā)的,主要根據(jù)此故障樹,對(duì)其中一個(gè)分樹進(jìn)行研究,其他分樹的設(shè)計(jì)理念和原則基本和本設(shè)計(jì)差不多,在此就不再贅述,故障樹如圖1。
(1)簡(jiǎn)單性。設(shè)計(jì)界面應(yīng)簡(jiǎn)潔、清晰地體現(xiàn)出界面的特征和功能,減少窗口的數(shù)目,避免在不同窗口之間進(jìn)行來回切換[3]。
(2)一致性。界面的設(shè)計(jì)風(fēng)格盡量一致,不要和已存在界面風(fēng)格差異太大。
(3)習(xí)常性。界面應(yīng)盡量用人們熟悉的標(biāo)志和符號(hào)。
圖1 航空發(fā)動(dòng)機(jī)不能啟動(dòng)故障樹
MATLAB 圖形用戶接口GUIDE 提供了建立GUI 對(duì)象的工具,極大地簡(jiǎn)化了設(shè)計(jì)過程。不僅能嵌入已有的仿真程序,還能把數(shù)表及圖形化結(jié)果以動(dòng)態(tài)方式呈現(xiàn)出來,給人以深刻的理解和印象。
要實(shí)現(xiàn)故障智能診斷,還需要故障樹分析、模糊數(shù)學(xué)等方法理論的支持。由于診斷知識(shí)庫是來自于發(fā)動(dòng)機(jī)不能啟動(dòng)這一故障樹,其推理過程也是一條從根到葉的知識(shí)鏈,因而診斷知識(shí)的搜索也是從根到葉的支線通路,因此圖形用戶界面要達(dá)到信息交流、故障診斷的目的。
函數(shù)句柄是一種數(shù)據(jù)類型,可供用戶在任何地方實(shí)現(xiàn)對(duì)其進(jìn)行調(diào)用,通常情況下有兩種方法,使用Matlab 自帶的圖形用戶界面設(shè)計(jì)向?qū)Щ蚴褂萌_本編程。本文采用兩種方法的結(jié)合進(jìn)行界面設(shè)計(jì)。在完成控件布局和屬性設(shè)置后,對(duì)控件回調(diào)函數(shù)程序代碼進(jìn)行編寫,在相應(yīng)的函數(shù)下編寫具體的操作程序代碼。
本系統(tǒng)用戶登陸界面設(shè)計(jì)與大多數(shù)系統(tǒng)一樣,登陸界面主要由用戶名和密碼組成,只有用戶名存在且密碼正確才能進(jìn)入系統(tǒng),如圖2。
打開GUIDE 設(shè)計(jì)工具,根據(jù)GUI 界面的設(shè)計(jì)構(gòu)思確定設(shè)計(jì)區(qū)域,通過鼠標(biāo)拖住區(qū)域右下方的黑色方格,調(diào)整設(shè)計(jì)區(qū)域,保證能夠放下足夠的控件。接著向新建界面中添加交互組件,在設(shè)計(jì)區(qū)域中單擊鼠標(biāo)左鍵就可以把該控件添加到設(shè)計(jì)區(qū)域。
通過鼠標(biāo)操作可以改變交互組件的位置和大小,調(diào)整對(duì)齊方式與距離。如果需要,可對(duì)其他控件進(jìn)行微調(diào),對(duì)按鈕和文本標(biāo)簽及其他控件屬性進(jìn)行設(shè)置,以美化界面。故障診斷結(jié)果如圖3。
圖2 用戶登錄界面
圖3 診斷結(jié)果圖
完成控件布局后,編制菜單、控件的回調(diào)程序。右鍵單擊該控件,點(diǎn)擊View Callbacks,然后從子菜單中選擇激活回調(diào)函數(shù)方式,編寫回調(diào)程序。編制回調(diào)函數(shù)是 GUI 設(shè)計(jì)中最重要的內(nèi)容, GUI就是通過回調(diào)函數(shù)來完成事件驅(qū)動(dòng)。只有在.m 文件中對(duì)各控件編寫回調(diào)函數(shù),指定功能才能實(shí)現(xiàn)。如前面所講,在GUI 編輯狀態(tài)下,從View Callbacks 中選擇回調(diào)方式,打開MATALB 自動(dòng)生成的.m文件,系統(tǒng)會(huì)自動(dòng)生成如下語句:
function Hname Callback (hObject,eventdata,handles):
其中,Hname 為控件對(duì)象的屬性值,Callback 是一種回調(diào)方式。如選中“pushbutton1_Callback”選項(xiàng),光標(biāo)會(huì)跳到“function pushbutton1_Callback(hObject, eventdata, handles)”的空白處,再繼續(xù)添加代碼,
function radiobutton1_Callback(hObject, eventdata,handles)
set(handles.radiobutton1,’value’,1);
set(handles.radiobutton2,’value’,0);
set(handles.edit2,’String’,’轉(zhuǎn)到供氧系統(tǒng)診斷中’);
由于其他幾個(gè)分界面的回調(diào)函數(shù)類似,故回調(diào)函數(shù)就不再給出。每個(gè)界面布置好控件并編好回調(diào)函數(shù)后,保存時(shí)會(huì)生成.fig 文件和.m 文件,保存在文件夾gzzd,確保GUI 能夠正常運(yùn)行。根據(jù)診斷流程圖,給出故障知識(shí)燃?xì)鉁u輪機(jī)發(fā)動(dòng)機(jī)起動(dòng)機(jī)燃燒室不點(diǎn)火,點(diǎn)擊“確定”開始推理,進(jìn)入推理步驟。
若需轉(zhuǎn)到其他故障診斷中,則需按照提示點(diǎn)擊下一步,就可轉(zhuǎn)到其他故障診斷中繼續(xù)診斷。當(dāng)出現(xiàn)診斷結(jié)束時(shí),整個(gè)診斷過程就完成了。如供氧系統(tǒng)診斷中的燃油供給不足這一故障,首先目測(cè)油量表,如果指示正常,且余油管沒有燃油漏出,壓力表也沒有指示,可以判定是燃油分配器卡阻。給出的維修建議是更換燃油分配器,送廠修理,根據(jù)維修手冊(cè)進(jìn)行定期保養(yǎng)。
通過建立航空發(fā)動(dòng)機(jī)不能正常啟動(dòng)診斷信息庫,實(shí)現(xiàn)對(duì)航空發(fā)動(dòng)機(jī)故障知識(shí)的管理,在一定程度上為新型航空發(fā)動(dòng)機(jī)設(shè)計(jì)提供了可靠技術(shù)保障。通過圖形用戶界面對(duì)故障模式、位置及解決措施進(jìn)行直觀地顯示,清晰地發(fā)現(xiàn)維護(hù)中的缺陷,從而進(jìn)行全面改善。MATLAB 可視化用戶界面整個(gè)故障診斷過程操作簡(jiǎn)單方便,對(duì)故障提出相應(yīng)的解決措施,有利于診斷人員觀察故障特征,具有積極的實(shí)際意義。