陶 軍,聶 飛,鄒俊逸
(武漢科技大學(xué) 汽車與交通工程學(xué)院,湖北 武漢 430065)
隨著現(xiàn)代科技的迅速發(fā)展和工程系統(tǒng)日益復(fù)雜化,系統(tǒng)可靠性和安全性的要求越來(lái)越嚴(yán)格。確保系統(tǒng)的穩(wěn)定運(yùn)行并預(yù)防潛在故障事件的發(fā)生,成為工程領(lǐng)域至關(guān)重要的任務(wù)。故障樹分析(Fault Tree Analysis,FTA)[1-2]是一種被廣泛應(yīng)用于安全可靠性評(píng)估的方法,能夠幫助識(shí)別和分析系統(tǒng)中的潛在故障和事件,以評(píng)估系統(tǒng)的可靠性并采取相應(yīng)的預(yù)防措施[3]。然而,傳統(tǒng)手工構(gòu)建故障樹的方法存在諸多缺點(diǎn)[4]。例如,手工建樹過(guò)程容易出現(xiàn)主觀偏差,且對(duì)復(fù)雜系統(tǒng)而言耗時(shí)較長(zhǎng)。此外,傳統(tǒng)方法在大規(guī)模系統(tǒng)中往往難以處理大量故障事件的組合爆炸問(wèn)題[5],限制了分析的全面性和準(zhǔn)確性。特別是對(duì)于具有復(fù)雜結(jié)構(gòu)的系統(tǒng),如大型工業(yè)裝置或汽車電子控制系統(tǒng),手工構(gòu)建故障樹的困難性進(jìn)一步增加。即使是擁有可靠性知識(shí)的專業(yè)人員,也難免出現(xiàn)遺漏或錯(cuò)誤,并且建樹的結(jié)果可能因人而異,導(dǎo)致“百人千樹”的局面出現(xiàn)。
為了解決上述問(wèn)題,近年來(lái)國(guó)內(nèi)外出現(xiàn)了一些關(guān)于故障樹自動(dòng)建樹方法的研究。胡杰鑫等人通過(guò)探索FMECA[6]與FTA[7]之間信息的關(guān)聯(lián)性,結(jié)合了這兩種分析方法,建立了一套基于FMECA自動(dòng)繪制故障樹的方法[8],并開發(fā)了相關(guān)的計(jì)算機(jī)輔助軟件,但其研究對(duì)象只是具體的機(jī)械結(jié)構(gòu),且只考慮了“或門”,所開發(fā)的軟件也只能以簡(jiǎn)單圖表的方法顯示故障樹。宛偉健等人提出了一種基于系統(tǒng)GO圖[9]自動(dòng)生成故障樹的方法[10],但只適用于簡(jiǎn)單的串并聯(lián)系統(tǒng),對(duì)于具有反饋控制或其他復(fù)雜結(jié)構(gòu)的大型復(fù)雜系統(tǒng),故障樹生成會(huì)陷入死循環(huán),無(wú)法實(shí)現(xiàn)故障樹的自動(dòng)生成。展萬(wàn)里等人利用故障樹分析(FTA)方法來(lái)分析系統(tǒng)中不希望出現(xiàn)的狀態(tài),并在此基礎(chǔ)上設(shè)計(jì)了一種自動(dòng)構(gòu)造系統(tǒng)故障樹的算法。該算法以AltaRica[11-12]語(yǔ)言為基礎(chǔ),采用Guarded Transition Systems(GTS)作為語(yǔ)義模型[13],并通過(guò)斷言傳播算法生成完整的系統(tǒng)故障樹,但最終是以表格的形式顯示建樹結(jié)果,建樹結(jié)果可視化效果不佳,且無(wú)法實(shí)現(xiàn)具有復(fù)雜結(jié)構(gòu)系統(tǒng)故障樹的自動(dòng)建造。
針對(duì)傳統(tǒng)手工構(gòu)造故障樹的困難,該文提出一種系統(tǒng)規(guī)范化的描述方法,并以此為基礎(chǔ),實(shí)現(xiàn)對(duì)元部件模型的封裝,開發(fā)一種新型的故障樹自動(dòng)建樹及分析軟件,實(shí)現(xiàn)故障樹自動(dòng)建樹到分析的全自動(dòng)一體化。
為了實(shí)現(xiàn)故障樹的自動(dòng)建造,需要對(duì)系統(tǒng)及其各個(gè)元部件的正常工作模式和非正常工作模式進(jìn)行規(guī)范化的描述。這種描述可以簡(jiǎn)化計(jì)算機(jī)的識(shí)別與處理過(guò)程,并確保故障樹自動(dòng)化構(gòu)建的準(zhǔn)確性和可靠性。
元部件模型是描述元部件自身局部的輸入、輸出變量間的關(guān)系,包括處于正常狀態(tài)及非正常狀態(tài)(失效模式)時(shí)的關(guān)系。在傳統(tǒng)的可靠性理論中,部件的狀態(tài)一般被簡(jiǎn)化為只有正常和故障兩種狀態(tài)。這種簡(jiǎn)化雖然方便了建樹流程但丟掉了部件失效過(guò)程中大量的物理屬性,導(dǎo)致所建立的故障樹不夠準(zhǔn)確,進(jìn)而影響后續(xù)的可靠性分析評(píng)估與實(shí)際結(jié)果相差較大。
因此,不考慮部件具體的故障事件,用輸出變量偏離正常值的程度表示系統(tǒng)的故障,來(lái)實(shí)現(xiàn)系統(tǒng)元部件的規(guī)范化描述。考慮到元部件具有多態(tài)性,可將輸出變量可能發(fā)生的所有偏差W與正常值相比劃分為5個(gè)不同的等級(jí)。具體劃分如表1所示。

表1 輸出變量偏差等級(jí)劃分
系統(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)系清楚地反映出信號(hào)在系統(tǒng)中傳播的路徑。用戶可以通過(guò)系統(tǒng)的工作原理圖來(lái)確定各元部件之間的連接方式。它們從元部件模型庫(kù)中拖拽相應(yīng)的元部件,并通過(guò)元部件之間的輸入輸出關(guān)系將它們連接起來(lái),從而構(gòu)建出系統(tǒng)結(jié)構(gòu)模型。如果所搭建的系統(tǒng)具有復(fù)雜結(jié)構(gòu),只需將相應(yīng)的復(fù)雜標(biāo)識(shí)符拖放到適當(dāng)?shù)奈恢眉纯伞Mㄟ^(guò)這種拖拽現(xiàn)有元部件庫(kù)模型的方法,用戶能夠快速、準(zhǔn)確地建立系統(tǒng)結(jié)構(gòu)模型。簡(jiǎn)而言之,系統(tǒng)結(jié)構(gòu)模型的搭建過(guò)程直觀且便捷,使用戶能夠以準(zhǔn)確的方式構(gòu)建出系統(tǒng)的結(jié)構(gòu)模型,即使是缺乏可靠性專業(yè)知識(shí)的人員也能夠輕松應(yīng)用這種方法。
每個(gè)元部件模型在數(shù)據(jù)庫(kù)中都有一個(gè)對(duì)應(yīng)的描述文件。該描述文件的內(nèi)容由元部件模型的基本信息、正常模式屬性、失效模式屬性組成。以一個(gè)制動(dòng)總泵元部件模型為例,其所對(duì)應(yīng)的描述文件如圖1(左)所示,文件包含了該部件名稱、編號(hào)、輸入輸出變量等基本屬性以及各失效模式狀態(tài)下輸入輸出變量的偏差等屬性信息。當(dāng)用戶從元部件模型庫(kù)中選擇一個(gè)元部件模型并將它拖拽出,根據(jù)該模型所對(duì)應(yīng)的描述文本文件提取出部件模型的全部信息,并創(chuàng)建出一個(gè)元部件模型實(shí)例對(duì)象。用戶可以通過(guò)該實(shí)例對(duì)象的屬性窗口,以圖形化的方式查看該元部件的所有屬性。該屬性窗口如圖1(右)所示,提供了直觀的界面,使用戶能夠方便地瀏覽和了解元部件的各種屬性。為了確保考慮到元部件所有的故障類型,元部件模型庫(kù)可由部件廠商來(lái)構(gòu)建,可靠性工程人員輔助構(gòu)建。同時(shí),對(duì)于新的元部件模型,只需要導(dǎo)入相應(yīng)的描述文件,即可在元部件模型庫(kù)中增加對(duì)應(yīng)的元部件模型。最終構(gòu)建的模型庫(kù)如圖2所示。

圖1 描述文件(左)與實(shí)例對(duì)象(右)

圖2 元部件模型庫(kù)
在故障樹建造的過(guò)程中,簡(jiǎn)單的串并聯(lián)系統(tǒng)自動(dòng)建樹十分簡(jiǎn)單,只需從頂事件搜索,直到?jīng)]有中間事件就完成該系統(tǒng)的故障樹自動(dòng)構(gòu)建。但大多數(shù)系統(tǒng)存在負(fù)反饋、前饋等復(fù)雜結(jié)構(gòu),為了避免建造過(guò)程陷入死循環(huán)從而構(gòu)建出正確規(guī)范的故障樹,需要對(duì)系統(tǒng)中的復(fù)雜結(jié)構(gòu)進(jìn)行識(shí)別與處理[15]。
為了能夠識(shí)別系統(tǒng)中的復(fù)雜結(jié)構(gòu),引入一種復(fù)雜標(biāo)識(shí)符的概念。每一種復(fù)雜結(jié)構(gòu)都構(gòu)建一個(gè)與之對(duì)應(yīng)的復(fù)雜結(jié)構(gòu)標(biāo)識(shí)符模塊,從而形成復(fù)雜標(biāo)識(shí)符庫(kù)。當(dāng)所搭建的系統(tǒng)結(jié)構(gòu)模型中具有復(fù)雜結(jié)構(gòu)時(shí),只需將與復(fù)雜結(jié)構(gòu)相對(duì)應(yīng)的標(biāo)識(shí)符模塊拖拽到系統(tǒng)中相應(yīng)的位置連接起來(lái)即可。系統(tǒng)通過(guò)識(shí)別復(fù)雜標(biāo)識(shí)符模塊識(shí)別故障樹中的復(fù)雜結(jié)構(gòu),再根據(jù)該復(fù)雜結(jié)構(gòu)所對(duì)應(yīng)的算法進(jìn)行相應(yīng)的處理,可生成最終的故障樹。復(fù)雜標(biāo)識(shí)符模塊在系統(tǒng)中實(shí)際是不存在的,故用虛框表示。系統(tǒng)的復(fù)雜標(biāo)識(shí)符庫(kù)如圖3所示。

圖3 復(fù)雜標(biāo)識(shí)符庫(kù)
基于Python和Qt設(shè)計(jì)的故障樹自動(dòng)建樹及分析軟件,具有搭建系統(tǒng)結(jié)構(gòu)模型、自動(dòng)構(gòu)建故障樹、復(fù)雜結(jié)構(gòu)識(shí)別與處理和故障樹分析等功能,實(shí)現(xiàn)了自動(dòng)建樹到分析的一體化。其操作基本流程如圖4所示,主要分為以下六個(gè)基本步驟:

圖4 故障樹自動(dòng)建樹及分析流程
步驟1:搭建系統(tǒng)結(jié)構(gòu)模型。用戶根據(jù)所要搭建的系統(tǒng)工作原理圖,從元部件模型庫(kù)、復(fù)雜標(biāo)識(shí)符庫(kù)中拖拽相應(yīng)的元部件模型及復(fù)雜標(biāo)識(shí)符模塊,再根據(jù)各部件間輸入、輸出變量關(guān)系連接各元部件即可搭建出完整的系統(tǒng)結(jié)構(gòu)模型;
步驟2:導(dǎo)出系統(tǒng)結(jié)構(gòu)模型信息。為了后續(xù)系統(tǒng)模型規(guī)范化文件的自動(dòng)生成,需要通過(guò)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)建樹過(guò)程中的識(shí)別與調(diào)用;
步驟4:指定頂事件。當(dāng)用戶指定頂事件后,該軟件會(huì)根據(jù)內(nèi)部已封裝好的自動(dòng)建樹算法,通過(guò)遍歷系統(tǒng)結(jié)構(gòu)模型關(guān)系表、元部件模型表,找到導(dǎo)致頂事件發(fā)生的下一級(jí)事件,自動(dòng)構(gòu)建出故障樹。若系統(tǒng)存在復(fù)雜結(jié)構(gòu),則根據(jù)內(nèi)部的復(fù)雜結(jié)構(gòu)識(shí)別與處理算法進(jìn)行相應(yīng)的處理后,再自動(dòng)生成最終正確的故障樹;
步驟5:故障樹文本格式輸出。為了后續(xù)的故障樹分析,需要將故障樹的結(jié)構(gòu)以文本格式輸出;
步驟6:故障樹定性、定量分析。導(dǎo)入故障樹文本結(jié)構(gòu)后,軟件可以自動(dòng)求解故障樹的最小割集。同時(shí)可采用Monte Carlo法對(duì)所構(gòu)建的故障樹進(jìn)行可靠性分析,通過(guò)設(shè)定相應(yīng)的仿真參數(shù),求解系統(tǒng)的可靠度及各部件重要度等可靠性指標(biāo)。
本節(jié)將以汽車上的ABS系統(tǒng)為例,對(duì)軟件整個(gè)自動(dòng)建樹及分析流程進(jìn)行詳細(xì)的說(shuō)明。
步驟1:在軟件的搭建模型界面,用戶可根據(jù)ABS系統(tǒng)的功能框圖,從模型庫(kù)中拖拽出ABS系統(tǒng)的各元部件,將各部件對(duì)應(yīng)的輸入、輸出連接起來(lái),進(jìn)而構(gòu)建出ABS系統(tǒng)結(jié)構(gòu)模型(見(jiàn)圖5)。因?yàn)樵撓到y(tǒng)中存在負(fù)反饋,故需要從復(fù)雜標(biāo)識(shí)符庫(kù)中拖拽NFBL(負(fù)反饋)標(biāo)識(shí)符模塊到系統(tǒng)相應(yīng)的位置。

圖5 搭建ABS系統(tǒng)結(jié)構(gòu)模型
步驟2:將搭建好的ABS系統(tǒng)結(jié)構(gòu)模型以xml文件(見(jiàn)圖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(車輪速度過(guò)高)后,會(huì)自動(dòng)構(gòu)建出以車輪速度過(guò)高為頂事件的故障樹。因?yàn)樵撓到y(tǒng)中存在負(fù)反饋復(fù)雜結(jié)構(gòu),故所建立的故障樹為一中間樹,需要對(duì)其負(fù)反饋復(fù)雜結(jié)構(gòu)進(jìn)行識(shí)別與處理,即根據(jù)軟件內(nèi)部的NFBL所對(duì)應(yīng)的負(fù)反饋回路處理算法對(duì)中間樹中的NFBL回路處理后,再自動(dòng)構(gòu)建出最終正確的故障樹,并將建樹結(jié)果在窗口界面可視化,方便用戶直觀地了解建樹結(jié)果,如圖8所示。

圖8 自動(dòng)建樹界面
步驟5:用戶導(dǎo)出故障樹的文本結(jié)構(gòu),求解最小割集。并可運(yùn)用Monte Carlo法對(duì)所建造的故障樹進(jìn)行可靠性仿真分析,通過(guò)設(shè)置相應(yīng)的仿真參數(shù),求解該系統(tǒng)的可靠度以及相應(yīng)的可靠性指標(biāo)。通過(guò)仿真,得到了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)建樹及可靠性分析過(guò)程的全自動(dòng)化,大大簡(jiǎn)化了系統(tǒng)建樹過(guò)程,節(jié)省了大量手動(dòng)操作的時(shí)間,提高了工作效率。同時(shí),軟件內(nèi)部的復(fù)雜結(jié)構(gòu)識(shí)別與處理算法有效地解決了復(fù)雜結(jié)構(gòu)下的建樹問(wèn)題,避免了繁瑣的手動(dòng)處理,進(jìn)一步提升了工作效率,為系統(tǒng)可靠性分析與評(píng)估工作提供了便利。
該文介紹了一種故障樹自動(dòng)建樹及分析軟件的實(shí)現(xiàn)方法。通過(guò)規(guī)范化描述元部件及系統(tǒng)結(jié)構(gòu)模型,并針對(duì)復(fù)雜系統(tǒng)中復(fù)雜結(jié)構(gòu)的識(shí)別與處理,提出一種復(fù)雜標(biāo)識(shí)符的概念,建立了元部件模型庫(kù)和復(fù)雜標(biāo)識(shí)符庫(kù),成功實(shí)現(xiàn)了故障樹自動(dòng)建樹及分析軟件的開發(fā)與應(yīng)用。通過(guò)對(duì)汽車ABS系統(tǒng)實(shí)例的詳細(xì)說(shuō)明,驗(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)的故障樹,對(duì)于已建成具有成千上萬(wàn)元件的復(fù)雜系統(tǒng)該軟件可以實(shí)現(xiàn)其復(fù)雜系統(tǒng)的可靠性分析,便于系統(tǒng)可靠性設(shè)計(jì)、故障分析等,具有廣泛的應(yīng)用前景,對(duì)系統(tǒng)可靠性分析的推廣亦具有重要意義。