陶 軍,聶 飛,鄒俊逸
(武漢科技大學(xué) 汽車與交通工程學(xué)院,湖北 武漢 430065)
隨著現(xiàn)代科技的迅速發(fā)展和工程系統(tǒng)日益復(fù)雜化,系統(tǒng)可靠性和安全性的要求越來越嚴(yán)格。確保系統(tǒng)的穩(wěn)定運(yùn)行并預(yù)防潛在故障事件的發(fā)生,成為工程領(lǐng)域至關(guān)重要的任務(wù)。故障樹分析(Fault Tree Analysis,FTA)[1-2]是一種被廣泛應(yīng)用于安全可靠性評估的方法,能夠幫助識別和分析系統(tǒng)中的潛在故障和事件,以評估系統(tǒng)的可靠性并采取相應(yīng)的預(yù)防措施[3]。然而,傳統(tǒng)手工構(gòu)建故障樹的方法存在諸多缺點(diǎn)[4]。例如,手工建樹過程容易出現(xiàn)主觀偏差,且對復(fù)雜系統(tǒng)而言耗時(shí)較長。此外,傳統(tǒng)方法在大規(guī)模系統(tǒng)中往往難以處理大量故障事件的組合爆炸問題[5],限制了分析的全面性和準(zhǔn)確性。特別是對于具有復(fù)雜結(jié)構(gòu)的系統(tǒng),如大型工業(yè)裝置或汽車電子控制系統(tǒng),手工構(gòu)建故障樹的困難性進(jìn)一步增加。即使是擁有可靠性知識的專業(yè)人員,也難免出現(xiàn)遺漏或錯(cuò)誤,并且建樹的結(jié)果可能因人而異,導(dǎo)致“百人千樹”的局面出現(xiàn)。
為了解決上述問題,近年來國內(nèi)外出現(xiàn)了一些關(guān)于故障樹自動(dòng)建樹方法的研究。胡杰鑫等人通過探索FMECA[6]與FTA[7]之間信息的關(guān)聯(lián)性,結(jié)合了這兩種分析方法,建立了一套基于FMECA自動(dòng)繪制故障樹的方法[8],并開發(fā)了相關(guān)的計(jì)算機(jī)輔助軟件,但其研究對象只是具體的機(jī)械結(jié)構(gòu),且只考慮了“或門”,所開發(fā)的軟件也只能以簡單圖表的方法顯示故障樹。宛偉健等人提出了一種基于系統(tǒng)GO圖[9]自動(dòng)生成故障樹的方法[10],但只適用于簡單的串并聯(lián)系統(tǒng),對于具有反饋控制或其他復(fù)雜結(jié)構(gòu)的大型復(fù)雜系統(tǒng),故障樹生成會(huì)陷入死循環(huán),無法實(shí)現(xiàn)故障樹的自動(dòng)生成。展萬里等人利用故障樹分析(FTA)方法來分析系統(tǒng)中不希望出現(xiàn)的狀態(tài),并在此基礎(chǔ)上設(shè)計(jì)了一種自動(dòng)構(gòu)造系統(tǒng)故障樹的算法。該算法以AltaRica[11-12]語言為基礎(chǔ),采用Guarded Transition Systems(GTS)作為語義模型[13],并通過斷言傳播算法生成完整的系統(tǒng)故障樹,但最終是以表格的形式顯示建樹結(jié)果,建樹結(jié)果可視化效果不佳,且無法實(shí)現(xiàn)具有復(fù)雜結(jié)構(gòu)系統(tǒng)故障樹的自動(dòng)建造。
針對傳統(tǒng)手工構(gòu)造故障樹的困難,該文提出一種系統(tǒng)規(guī)范化的描述方法,并以此為基礎(chǔ),實(shí)現(xiàn)對元部件模型的封裝,開發(fā)一種新型的故障樹自動(dòng)建樹及分析軟件,實(shí)現(xiàn)故障樹自動(dòng)建樹到分析的全自動(dòng)一體化。
為了實(shí)現(xiàn)故障樹的自動(dòng)建造,需要對系統(tǒng)及其各個(gè)元部件的正常工作模式和非正常工作模式進(jìn)行規(guī)范化的描述。這種描述可以簡化計(jì)算機(jī)的識別與處理過程,并確保故障樹自動(dòng)化構(gòu)建的準(zhǔn)確性和可靠性。
元部件模型是描述元部件自身局部的輸入、輸出變量間的關(guān)系,包括處于正常狀態(tài)及非正常狀態(tài)(失效模式)時(shí)的關(guān)系。在傳統(tǒng)的可靠性理論中,部件的狀態(tài)一般被簡化為只有正常和故障兩種狀態(tài)。這種簡化雖然方便了建樹流程但丟掉了部件失效過程中大量的物理屬性,導(dǎo)致所建立的故障樹不夠準(zhǔn)確,進(jìn)而影響后續(xù)的可靠性分析評估與實(shí)際結(jié)果相差較大。
因此,不考慮部件具體的故障事件,用輸出變量偏離正常值的程度表示系統(tǒng)的故障,來實(shí)現(xiàn)系統(tǒng)元部件的規(guī)范化描述??紤]到元部件具有多態(tài)性,可將輸出變量可能發(fā)生的所有偏差W與正常值相比劃分為5個(gè)不同的等級。具體劃分如表1所示。
表1 輸出變量偏差等級劃分
系統(tǒng)結(jié)構(gòu)模型是用于描述系統(tǒng)的形態(tài)和構(gòu)造的一種規(guī)范化表示方法。它利用系統(tǒng)中各部件的輸入和輸出變量之間的連接關(guān)系,清晰地展示了系統(tǒng)的組成部件以及它們與環(huán)境變量之間的相互聯(lián)系[14]。這種連接關(guān)系清楚地反映出信號在系統(tǒng)中傳播的路徑。用戶可以通過系統(tǒng)的工作原理圖來確定各元部件之間的連接方式。它們從元部件模型庫中拖拽相應(yīng)的元部件,并通過元部件之間的輸入輸出關(guān)系將它們連接起來,從而構(gòu)建出系統(tǒng)結(jié)構(gòu)模型。如果所搭建的系統(tǒng)具有復(fù)雜結(jié)構(gòu),只需將相應(yīng)的復(fù)雜標(biāo)識符拖放到適當(dāng)?shù)奈恢眉纯?。通過這種拖拽現(xiàn)有元部件庫模型的方法,用戶能夠快速、準(zhǔn)確地建立系統(tǒng)結(jié)構(gòu)模型。簡而言之,系統(tǒng)結(jié)構(gòu)模型的搭建過程直觀且便捷,使用戶能夠以準(zhǔn)確的方式構(gòu)建出系統(tǒng)的結(jié)構(gòu)模型,即使是缺乏可靠性專業(yè)知識的人員也能夠輕松應(yīng)用這種方法。
每個(gè)元部件模型在數(shù)據(jù)庫中都有一個(gè)對應(yīng)的描述文件。該描述文件的內(nèi)容由元部件模型的基本信息、正常模式屬性、失效模式屬性組成。以一個(gè)制動(dòng)總泵元部件模型為例,其所對應(yīng)的描述文件如圖1(左)所示,文件包含了該部件名稱、編號、輸入輸出變量等基本屬性以及各失效模式狀態(tài)下輸入輸出變量的偏差等屬性信息。當(dāng)用戶從元部件模型庫中選擇一個(gè)元部件模型并將它拖拽出,根據(jù)該模型所對應(yīng)的描述文本文件提取出部件模型的全部信息,并創(chuàng)建出一個(gè)元部件模型實(shí)例對象。用戶可以通過該實(shí)例對象的屬性窗口,以圖形化的方式查看該元部件的所有屬性。該屬性窗口如圖1(右)所示,提供了直觀的界面,使用戶能夠方便地瀏覽和了解元部件的各種屬性。為了確??紤]到元部件所有的故障類型,元部件模型庫可由部件廠商來構(gòu)建,可靠性工程人員輔助構(gòu)建。同時(shí),對于新的元部件模型,只需要導(dǎo)入相應(yīng)的描述文件,即可在元部件模型庫中增加對應(yīng)的元部件模型。最終構(gòu)建的模型庫如圖2所示。
圖1 描述文件(左)與實(shí)例對象(右)
圖2 元部件模型庫
在故障樹建造的過程中,簡單的串并聯(lián)系統(tǒng)自動(dòng)建樹十分簡單,只需從頂事件搜索,直到?jīng)]有中間事件就完成該系統(tǒng)的故障樹自動(dòng)構(gòu)建。但大多數(shù)系統(tǒng)存在負(fù)反饋、前饋等復(fù)雜結(jié)構(gòu),為了避免建造過程陷入死循環(huán)從而構(gòu)建出正確規(guī)范的故障樹,需要對系統(tǒng)中的復(fù)雜結(jié)構(gòu)進(jìn)行識別與處理[15]。
為了能夠識別系統(tǒng)中的復(fù)雜結(jié)構(gòu),引入一種復(fù)雜標(biāo)識符的概念。每一種復(fù)雜結(jié)構(gòu)都構(gòu)建一個(gè)與之對應(yīng)的復(fù)雜結(jié)構(gòu)標(biāo)識符模塊,從而形成復(fù)雜標(biāo)識符庫。當(dāng)所搭建的系統(tǒng)結(jié)構(gòu)模型中具有復(fù)雜結(jié)構(gòu)時(shí),只需將與復(fù)雜結(jié)構(gòu)相對應(yīng)的標(biāo)識符模塊拖拽到系統(tǒng)中相應(yīng)的位置連接起來即可。系統(tǒng)通過識別復(fù)雜標(biāo)識符模塊識別故障樹中的復(fù)雜結(jié)構(gòu),再根據(jù)該復(fù)雜結(jié)構(gòu)所對應(yīng)的算法進(jìn)行相應(yīng)的處理,可生成最終的故障樹。復(fù)雜標(biāo)識符模塊在系統(tǒng)中實(shí)際是不存在的,故用虛框表示。系統(tǒng)的復(fù)雜標(biāo)識符庫如圖3所示。
圖3 復(fù)雜標(biāo)識符庫
基于Python和Qt設(shè)計(jì)的故障樹自動(dòng)建樹及分析軟件,具有搭建系統(tǒng)結(jié)構(gòu)模型、自動(dòng)構(gòu)建故障樹、復(fù)雜結(jié)構(gòu)識別與處理和故障樹分析等功能,實(shí)現(xiàn)了自動(dòng)建樹到分析的一體化。其操作基本流程如圖4所示,主要分為以下六個(gè)基本步驟:
圖4 故障樹自動(dòng)建樹及分析流程
步驟1:搭建系統(tǒng)結(jié)構(gòu)模型。用戶根據(jù)所要搭建的系統(tǒng)工作原理圖,從元部件模型庫、復(fù)雜標(biāo)識符庫中拖拽相應(yīng)的元部件模型及復(fù)雜標(biāo)識符模塊,再根據(jù)各部件間輸入、輸出變量關(guān)系連接各元部件即可搭建出完整的系統(tǒng)結(jié)構(gòu)模型;
步驟2:導(dǎo)出系統(tǒng)結(jié)構(gòu)模型信息。為了后續(xù)系統(tǒng)模型規(guī)范化文件的自動(dòng)生成,需要通過mxGraph的API接口以xml文件格式導(dǎo)出系統(tǒng)結(jié)構(gòu)模型的全部信息;
步驟3:自動(dòng)生成規(guī)范化文件。根據(jù)軟件內(nèi)部設(shè)計(jì)好的文件轉(zhuǎn)換算法將xml文件自動(dòng)轉(zhuǎn)換成規(guī)范化的系統(tǒng)結(jié)構(gòu)模型關(guān)系表和元部件模型表,并生成相應(yīng)的excel表格文件,以方便軟件在自動(dòng)建樹過程中的識別與調(diào)用;
步驟4:指定頂事件。當(dāng)用戶指定頂事件后,該軟件會(huì)根據(jù)內(nèi)部已封裝好的自動(dòng)建樹算法,通過遍歷系統(tǒng)結(jié)構(gòu)模型關(guān)系表、元部件模型表,找到導(dǎo)致頂事件發(fā)生的下一級事件,自動(dòng)構(gòu)建出故障樹。若系統(tǒng)存在復(fù)雜結(jié)構(gòu),則根據(jù)內(nèi)部的復(fù)雜結(jié)構(gòu)識別與處理算法進(jìn)行相應(yīng)的處理后,再自動(dòng)生成最終正確的故障樹;
步驟5:故障樹文本格式輸出。為了后續(xù)的故障樹分析,需要將故障樹的結(jié)構(gòu)以文本格式輸出;
步驟6:故障樹定性、定量分析。導(dǎo)入故障樹文本結(jié)構(gòu)后,軟件可以自動(dòng)求解故障樹的最小割集。同時(shí)可采用Monte Carlo法對所構(gòu)建的故障樹進(jìn)行可靠性分析,通過設(shè)定相應(yīng)的仿真參數(shù),求解系統(tǒng)的可靠度及各部件重要度等可靠性指標(biāo)。
本節(jié)將以汽車上的ABS系統(tǒng)為例,對軟件整個(gè)自動(dòng)建樹及分析流程進(jìn)行詳細(xì)的說明。
步驟1:在軟件的搭建模型界面,用戶可根據(jù)ABS系統(tǒng)的功能框圖,從模型庫中拖拽出ABS系統(tǒng)的各元部件,將各部件對應(yīng)的輸入、輸出連接起來,進(jìn)而構(gòu)建出ABS系統(tǒng)結(jié)構(gòu)模型(見圖5)。因?yàn)樵撓到y(tǒng)中存在負(fù)反饋,故需要從復(fù)雜標(biāo)識符庫中拖拽NFBL(負(fù)反饋)標(biāo)識符模塊到系統(tǒng)相應(yīng)的位置。
圖5 搭建ABS系統(tǒng)結(jié)構(gòu)模型
步驟2:將搭建好的ABS系統(tǒng)結(jié)構(gòu)模型以xml文件(見圖6)格式輸出。同時(shí),導(dǎo)入相應(yīng)的結(jié)構(gòu)模型(xml文件),軟件會(huì)自動(dòng)生成結(jié)構(gòu)模型,方便系統(tǒng)模型的二次修改。
圖6 ABS系統(tǒng)結(jié)構(gòu)模型xml文件
步驟3:在模型文件導(dǎo)入界面,將系統(tǒng)結(jié)構(gòu)模型xml文件導(dǎo)入后,軟件會(huì)根據(jù)內(nèi)部封裝好的規(guī)范化文件自動(dòng)生成算法將該xml文件自動(dòng)轉(zhuǎn)換成規(guī)范化的系統(tǒng)結(jié)構(gòu)模型關(guān)系表和部件模型表,如圖7所示。
圖7 模型文件導(dǎo)入軟件界面
步驟4:用戶在自動(dòng)建樹軟件的生成中間樹、故障樹界面,輸入頂事件V1(車輪速度過高)后,會(huì)自動(dòng)構(gòu)建出以車輪速度過高為頂事件的故障樹。因?yàn)樵撓到y(tǒng)中存在負(fù)反饋復(fù)雜結(jié)構(gòu),故所建立的故障樹為一中間樹,需要對其負(fù)反饋復(fù)雜結(jié)構(gòu)進(jìn)行識別與處理,即根據(jù)軟件內(nèi)部的NFBL所對應(yīng)的負(fù)反饋回路處理算法對中間樹中的NFBL回路處理后,再自動(dòng)構(gòu)建出最終正確的故障樹,并將建樹結(jié)果在窗口界面可視化,方便用戶直觀地了解建樹結(jié)果,如圖8所示。
圖8 自動(dòng)建樹界面
步驟5:用戶導(dǎo)出故障樹的文本結(jié)構(gòu),求解最小割集。并可運(yùn)用Monte Carlo法對所建造的故障樹進(jìn)行可靠性仿真分析,通過設(shè)置相應(yīng)的仿真參數(shù),求解該系統(tǒng)的可靠度以及相應(yīng)的可靠性指標(biāo)。通過仿真,得到了1 000次抽樣仿真的系統(tǒng)故障時(shí)間、各區(qū)間故障次數(shù)、可靠度,以及各元部件的重要度,如圖9所示。
圖9 故障樹分析界面
由整個(gè)實(shí)例應(yīng)用流程可知,該軟件具備搭建系統(tǒng)模型、導(dǎo)入結(jié)構(gòu)模型、自動(dòng)生成規(guī)范化關(guān)系表和部件模型表、自動(dòng)建樹及分析等功能,能夠?qū)崿F(xiàn)從搭建系統(tǒng)模型到自動(dòng)建樹及可靠性分析過程的全自動(dòng)化,大大簡化了系統(tǒng)建樹過程,節(jié)省了大量手動(dòng)操作的時(shí)間,提高了工作效率。同時(shí),軟件內(nèi)部的復(fù)雜結(jié)構(gòu)識別與處理算法有效地解決了復(fù)雜結(jié)構(gòu)下的建樹問題,避免了繁瑣的手動(dòng)處理,進(jìn)一步提升了工作效率,為系統(tǒng)可靠性分析與評估工作提供了便利。
該文介紹了一種故障樹自動(dòng)建樹及分析軟件的實(shí)現(xiàn)方法。通過規(guī)范化描述元部件及系統(tǒng)結(jié)構(gòu)模型,并針對復(fù)雜系統(tǒng)中復(fù)雜結(jié)構(gòu)的識別與處理,提出一種復(fù)雜標(biāo)識符的概念,建立了元部件模型庫和復(fù)雜標(biāo)識符庫,成功實(shí)現(xiàn)了故障樹自動(dòng)建樹及分析軟件的開發(fā)與應(yīng)用。通過對汽車ABS系統(tǒng)實(shí)例的詳細(xì)說明,驗(yàn)證了該軟件能夠?qū)崿F(xiàn)系統(tǒng)結(jié)構(gòu)模型搭建、故障樹自動(dòng)構(gòu)建及可靠性分析的一體化。相較于傳統(tǒng)的手工構(gòu)建故障樹方法,該軟件減輕了工程師的負(fù)擔(dān),提高了建樹效率。此外,該軟件能夠處理復(fù)雜結(jié)構(gòu)的故障樹,對于已建成具有成千上萬元件的復(fù)雜系統(tǒng)該軟件可以實(shí)現(xiàn)其復(fù)雜系統(tǒng)的可靠性分析,便于系統(tǒng)可靠性設(shè)計(jì)、故障分析等,具有廣泛的應(yīng)用前景,對系統(tǒng)可靠性分析的推廣亦具有重要意義。