專利名稱:具有表決功能的可修混合公共貯備系統模型及可靠性仿真算法的制作方法
技術領域:
本發明涉及一種具有表決功能的可修混合公共貯備系統模型及可靠性仿真算法,屬于系統可靠性建模與仿真技術領域。
背景技術:
目前,可靠性已經成為產品或系統質量的重要指標,產品或系統的可靠性水平成為一個國家工業發展水平的重要標志,受到世界各國的高度重視。在對產品或系統進行可靠性分析和設計時,為了預計、估算和評定其可靠性,首先就是要建立合適的系統可靠性模型;其次,模型的解算方法要便于實現,具有很高的效率。 在系統的可靠性設計中,冗余設計是提高系統可靠性的重要手段之一。同表決系統一樣,貯備系統是復雜產品系統中實現冗余設計的重要方法。但與表決系統不同的是,所謂貯備系統,即系統中具有非工作狀態下的與工作部件相同或者不同的備用部件,一旦工作部件發生故障,系統便會切換到備用部件進行工作,從而保障系統能長時間的穩定工作,提高系統可靠度和可用性。貯備系統按照備件的備用運行狀態,或者說按照備用時的壽命分布情況,可以分為單一冷貯備、單一溫貯備、單一熱貯備和混合貯備系統;按照部件故障后是否可修,可以分為可修貯備系統和不可修貯備系統;按照部件壽命分布函數和維修時間分布函數類型,可以分為馬爾科夫型和非馬爾科夫型貯備系統。公共(交叉)貯備系統是指備件為各工作部件所共用,任意備用部件能替換任一失效部件。對于單一的冷、溫、熱貯備系統,不論是不可修還是可修,不論是馬爾科夫型和非馬爾科夫型,國內外眾多學者都對其系統的可靠性的求解做了大量工作。但是,這些數學解析方法在對貯備系統求解時,當部件的數量超過3,求解就會變得相當困難了,尤其是可修非馬爾科夫型貯備系統。而且這些數學解析方法都是很難用計算機編程實現。目前已有的解析算法和仿真算法,都是只針對具有單一貯備類型(冷、溫、熱)的貯備系統。而現實中,很多貯備系統中的部件單元的貯備類型是不一致的,也就是說該貯備系統中可能同時具有冷、溫、熱型的備份件,我們稱這種貯備系統為“混合貯備系統”。目前尚無可靠性工作者提出針對該模型的解算方法。本發明在“混合貯備系統”模型的基礎上引入表決功能,能夠更好的描述實際復雜系統中的貯備系統,同時運用蒙特卡洛仿真方法對該模型進行了可靠性計算。
發明內容
I 目的本發明的目的是提供一種具有表決功能的可修混合公共貯備系統模型及可靠性仿真算法,具有表決功能的可修混合公共貯備系統模型具有更良好的通用性,更接近現實復雜系統,具有較強的貯備系統表達能力;其可靠性仿真算法能夠準確高效的預計和估算含有貯備系統產品的可靠性。2技術方案(一 )本發明一種具有表決功能的可修混合公共貯備系統模型描述如下(I)具有表決功能的可修混合公共貯備系統兼有公共貯備和表決的功能,即貯備系統總單元為N個,工作單元為R個,備件為N-R個,K(K彡R)為正常工作的單元個數。當K= I時,該貯備系統即為具有備件的并聯 系統;當K = R時,該貯備系統即為具有備件的串聯模型;當I < K < R時,該貯備系統即為具有備件的表決系統模型。并且需要指出的是,N-R個備用件是整個系統共享的,任何一個工作件失效時,都能切換任意的備件進行工作,直至系統無備件。我們稱這樣的系統為“具有表決功能的可修混合公共貯備系統”,簡稱N/R/K系統(如圖I)。(2)N/R/K系統共有N個單元,其中,R個工作件中至少須要K個正常工作,系統才能正常運行。如圖I中所示N/R/K系統,共6個部件,三個首發工作件,整個系統只要有兩個部件正常工就能正常運行。當正常工作部件的數量少于K時,開關開始切換到備件進行工作。若能正常工作的部件數量少于K時,N/R/K系統失效。(3)系統中的備件,其類型可以是冷、溫、熱中的任意一種,且一個系統中可以同時存在多種類型備件,并且,當系統需要切換至備用件工作時,備用件之間存在一定的切換優先級別,即按圖I中從上至下的切換順序進行。(4)各部件的工作壽命、維修時間、備用壽命都服從一般分布函數類型。(5)部件分為可修部件和不可修部件,系統針對可修部件具有簡單維修策略,即壞則能修,修則能好,并假定為“修復如新”。(6)開關可以失效,有兩種失效模式監測狀態失效(服從一般分布函數)和切換動作失效(服從確定概率)。后者發生時,有定量的重啟次數,每次重啟成功概率同首次。切換動作具有延遲時間。如果系統在備件切換過程中,工作件數量少于K,系統也將被視為處于失效狀態。(7)當首發工作件(即當系統剛開始運行時處于工作狀態的部件或者單元,后文簡稱首發件或首發單元)修復之后,系統可以視其性質直接恢復其工作狀態,并將正在工作的備件切換為備用狀態,或者將首發件置為備用狀態。仿真模型其他細節描述(I)當系統須要開關切換時,若開關處于故障狀態而沒能執行切換任務,則當開關修復后,若系統仍然有切換需求開關才進行切換;(2)當開關在切換延遲時間內發生故障時,視為無故障,將該故障推遲至切換工作結束;(3)被切換的部件和切換部件的新事件(故障,修復)從延遲時間之后開始;(4)開關有維修時間分布,與其有無失效時間分布無關,因為在開關進行切換時有可能發生故障;(5)當開關重啟次數用完后,開關失效;(6)每次開關重啟都會有延遲時間,之后再重啟,直至切換成功或者重啟數用完導致失效;(7)當整個N/R/K系統失效后,所有工作部件停止工作,但維修事件依然進行。
( 二 )本發明一種具有表決功能的可修混合公共貯備系統模型及可靠性仿真算法,其步驟如下步驟I,讀取部件信息和仿真信息Ci; S, Ftype, Fa, Fb, Fe, Rtype, Ra, Rb, Re,Stype, Sa, Sb, Sc, WorkStyle, StandbyType, Restoreffork, S. PRes, S. SProb, ST, TN ;步驟2,將當前仿真次數SN置為O ;步驟3,仿真次數加1,SN = SN+1 ;步驟4,初始化各部件的仿真數據,并對各部件進行第一次故障抽樣,產生事件數組ES(ET,CS, Etype),并將其按時間順序排列。并進行“第一次抽樣處理”,其流程如下①令i = I ;
②取出部件Ci,其是否為首發件?是,置部件Ci狀態為“正常工作”,轉③;否則,置部件Ci狀態為“備份”,轉⑤;③部件Ci備份性質是否為冷?是,抽樣其故障時間,即剩余壽命Ci. LL,將其記錄到事件數組中,轉⑥;否則,轉④;④部件Ci備份性質是否為溫?是,抽樣其溫壽命Ci. WL和熱壽命Ci. HL,并計算兩類折算因子H1和H2,若部件狀態為“正常工作”則將其熱壽命作為其故障時間記錄到事件數組中,若部件狀態為“備份”則將其溫壽命作為故障時間記錄到事件數組中,轉⑥;否則,即其備份性質為熱,抽樣其故障時間Ci. LL,將其寫入事件表中,轉⑥;⑤部件Ci備份性質是否為冷?是,轉⑥;否則,轉④;⑥i < N 是,i = i+Ι,轉②;否則,轉⑦⑦結束。步驟5,取出事件數組中的第一個事件ES(ET,EC, Etype) 1,并調用“事件表處理”處理該事件,其流程如下①讀取一條新的“事件記錄” ES (ET, CS,Etype) i,把系統當前時間CT置為ET ;②根據事件主體以及事件的類型調用不同的事件處理模塊a)判斷CS部件是否為開關?是,轉c);否則轉b);b)判斷該事件是否為故障事件(Etype = 0 ) 是,調用“開關處理部件故障”模塊處理ESi,然后轉③。否則,判斷該事件是否為修復事件(Etype = I ) 是,調用“開關處理部件修復”模塊處理ESi,然后轉③;否則,轉③。c)判斷該事件是否為故障事件(Etype = O ) 是,調用“開關故障事件”模塊處理ESi,然后轉③。否則,判斷該事件是否為修復事件(Etype = I ) 是,調用“開關修復事件”模塊處理ESi,然后轉③;否則,轉d)。d)判斷該事件是否為開關延時結束事件(Etype = 2 ) 是,調用“開關延時事件”模塊處理ESi,然后轉③;否則,調用“開關重啟事件”模塊處理ESi,然后轉③。③判斷N/R/K系統是否失效,若失效則進行“停機事件處理”;④對相關可靠性指標統計量FFT⑴、DT⑴、SS (i,t)、SF⑴、FE (i,t)進行積累;⑤按時間順序取出事件表中的下一個事件ES (ET, CS, Etype) i+1,若下一個事件的發生時間大于仿真總時長,即ET > ST,則轉⑥,否則,轉①;⑥結束。步驟6,當前仿真次數是否小于總仿真次數,SN < TN ,若是,轉③;否則,轉⑦;
步驟7,可靠性指標計算;步驟8,結束。其中,步驟5中所述的“開關處理部件故障”模塊的流程如下(i)抽樣生成該故障部件的維修時間,生成事件ES(CT+Ts,Cx,I),并將其加入事件表中;(ii)故障部件發生故障前狀態是否為“備份”?是,轉(viii),否則轉(iii)開關狀態是否為“延時”?是,轉(iv);否則,轉(vi) ;(iv)開關當前處理事件是否為“強行上位事件”?是,轉(V);否則,轉(viii) ; (V)將開關當前處理事件類型改為“直接上位事件”,轉(viii) ;(vi)N/R/K系統是否失效?是,轉(vii);否則,轉(viii) ; (vii)開關是否處于維修狀態?是’轉(viii);否則,調用“開關處理上位請求”模塊,上位類型為I ; (viii)結束。其中,步驟5中所述的“開關處理部件修復”模塊的流程如下(i)開關狀態若為“延時”或“維修”,則將該修復部件寫入“開關待處理修復部件數組”S. RWQ中,轉(vi) ;(ii)N/R/K系統是否失效?是,調用“開關處理上位請求”模塊,上位類型為直接上位,轉(vi);否則,轉(iii)修復件的工作性質是否首發件?是,轉(iv);否則,將修復件狀態改 為備份,進行備份件首次抽樣處理,轉(vi) ;(iv)修復件修復后是否繼續工作?是,轉(V);否則,將修復件狀態改為備份,進行備份件首次抽樣處理,轉(vi) ;(v)當前工作件數量是否達到首發件總和?是,調用“開關處理上位請求”模塊,上位類型為強行上位;否則,調用“開關處理上位請求”模塊,上位類型為直接上位;(vi)結束。其中,步驟5中所述的“開關處理部件故障”模塊、“開關處理部件修復”模塊和“開關修復事件”模塊中所涉及的“開關處理上位請求”模塊的流程如下(i)是否緊急上位事件?是,轉( );否則,轉(iii) ;( )是否有備件可用?是,記錄“開關當前處理事件”,轉④;否則,轉(ix)替換件是否為空?是’轉(ix);否則,根據上位類型分別記錄“開關當前處理事件”,轉(iV) ;(iv)將開關狀態設置為“延時”;(V)根據開關動作成功概率抽樣開關切換是否成功?是’轉(vi);否則,轉(vii) ;(vi)開關動作延遲時間是否大于O 是,生成開關相應的延時事件,寫入事件表中,轉(ix);否則,立即調用“開關延時事件”,轉(ix) ;(vii)開關允許重啟次數是否大于O 是,轉(viii);否則,開關設置為維修態,抽樣開關維修事件,寫入事件表中,轉(ix) ;(viii)開關動作延遲時間是否大于O 是,生成相應的開關重啟事件,轉(ix);否則,立即調用“開關重啟事件”;(ix)結束。其中,步驟5中所述的“開關延時事件”模塊的流程如下(i)開關當前處理事件類型是否為“強行上位”?是,將被換件置為備份狀態,并且依據其冷、溫、熱不同性質,進行故障時間的折算,進而刪除或者替換事件表中原有的該部件的事件記錄,具體參見“開關處理上位請求”模塊;否則,轉(ii) ;( )將替換件置為工作態,并且依據其冷、溫、熱不同性質,生成或者折算其故障時間,并添加或者替換事件記錄,具體參見“開關處理上位請求”模塊。轉(iii)將開關狀態置為“正常”,清空開關當前處理事件數組。轉(iv) ;(iv)開關立即故障變量S. Fail是否為O 是,調用“開關修復事件”模塊,轉(V);否則,開關故障,抽樣生成開關維修事件,寫入事件表,并將S. Fail值置為O ; (V)結束。其中,步驟5中所述的“開關重啟事件”模塊的流程如下(i)開關當前重啟次數加1,開關立即失效變量是否為I 是,開關故障,抽樣生成開關維修事件,寫入事件表中,并將立即故障變量和開關當前重啟次數置為0,轉(vi);否則,轉(ii) ;(ii)根據開關動作概率抽樣開關切換是否成功?是,轉(iii);否則,轉(iv)開關動作延遲時間是否大于0 是,生成開關延時事件,寫入事件表,清空開關當前重啟次數,轉(Vi);否則,立即調用“開關延時事件”模塊,清空當前重啟次數,轉(Vi) ;(iv)開關當前重啟次數是否等于允許次數?是,開關故障,抽樣生成維修事件,寫入事件表,清空開關當前重啟次數,轉(Vi);否貝U,轉(V) ;(v)開關是否延時?是,生成開關重啟事件,寫入事件表,轉;否則,轉⑴;(vi)結束。其中,步驟5中所述的“開關修復事件”模塊的流程如下(i)開關狀態置為“正常”,開關當前處理事件信息數組是否為空?是,轉(ii);否則,轉(iii) ;( )開關待處理修復部件數組是否為空?是’轉(V);否則,調用“開關處理部件修復”模塊按開關待處理修復部件的優先級別分別予以處理,轉(V)開關待處理部件修復事件數組是否為空?是,調用“開關處理上位請求”模塊處理開關當前事件,轉(V);否則,轉(iv) ;(iv)開關當前處理事件中的替換件是否修復后繼續工作?是,調用“開關處理上位請求”模塊處理當前事件,轉(V);否則,調用“開關處理部件修復”模塊按開關待處理修復部件的優先級別分別予以處理,轉(V) ;(v)貯備系統是否失效?是,調用“開關處理上位請求”模塊,上位類型為 I ;否則,轉(vi) ; (vi)結束。其中,步驟5中所述的“開關故障事件”模塊的流程如下(i)開關是否為“延時”狀態?是,將開關立即故障變量置為I ;否則,開關故障,抽樣生成開關的維修事件,寫入事件表;(ii)結束。其中,步驟5中所述的“停機事件處理”模塊的流程如下⑴找到CT時刻后最早的非故障事件ESi ;(ii)計算出仿真當前時間與該時刻后最早的非故障事件發生的時間差(T = ET-CT) ; (iii)將CT時刻后所有故障事件發生的時間均向后延遲T ; (iv)結束。其中,步驟7中所述的可靠性指標主要有以下幾個a)MTTFF :系統平均首次故障前時間。其計算公式為
TNIMTTFF = YjFFT(I) TN( I )
/=1 /說明如果第k次仿真中系統未發生故障,取單次仿真總時長作為FFT(k)替代值進行計算,所以,如若要得到MTTFF的精確值,必須將仿真時長設得足夠大,通常取3倍的MTTFF。b) Am:系統平均可用度。其計算公式為
TNIAm = I-Y4DT{i) (STxTN)(2)
i=l /c)A(t):系統點可用度。其計算公式為A(t) = Y4SS(i,t) TN(3 )
i=l /d)NF :系統平均故障次數。其計算公式為NF = Y^SFQ) TN(4)
i=l /e)R(t):系統可靠度。其計算公式為R(t) = l-gFE(i,t) jm( 5 )。
本發明與現有技術相比有如下優點第一,該模型(具有表決功能的可修混合公共貯備系統模型)具有更良好的通用性,更接近現實復雜系統,具有較強的貯備系統表達能力。第二,該方法(具有表決功能的可修混合公共貯備系統模型的可靠性仿真算法)能夠準確高效的預計和估算含有貯備系統的產品的可靠性。第三,本方法采用事件驅動,時間推進機制,與產品的實際任務剖面基本一致(除特殊環境外)。第四,模型能夠很方便的轉換為計算機語言,便于軟件程序的開發。
圖I為具有表決功能的可修混合公共貯備模型圖;圖2為“仿真主模塊”流程圖;圖3為“第一次抽樣處理”流程圖; 圖4為“事件表處理”流程圖;圖5為“開關處理部件故障”流程圖;圖6為“開關處理部件修復”流程圖;圖7為“開關處理上位請求”流程圖;圖8為“開關延時事件”流程圖;圖9為“開關重啟事件”流程圖;
圖10為“開關修復事件”流程圖;圖11為“開關故障事件”流程圖;圖12為停機事件處理流程圖;圖13為本發明流程框圖。圖2至圖12中的符號說明Ci :第 i 個部件 ID, i = I, 2, 3…η ;S :開關;Stype、Ra,Rb,Re :分別表示部件備用壽命分布函數類型及參數;Ts :臨時抽樣的部件或開關的壽命、維修時間;Status :部件或開關的狀態,其值取O表示故障,I表示正常,2表示維修中,3表示備用,4表示延時(專門用于開關,指開關正處于切換延時中,或者重啟延時中的狀態);WorkStyle :部件的工作性質,WorkStyle = I時,部件為首發工作件,WorkStyle =2時,部件為備用件;StandbyType :部件備用類型,StandbyType = I 時,部件為冷備件,StandbyType =2時,部件為溫備件,StandbyType = 3時,部件為熱備件;RestoreWork :部件修復后是否立即工作(只針對首發件)。RestoreWork = O時,部件修復后不立恢復工作,Restoreffork = I時,部件修復后立即恢復工作;LL :部件的剩余壽命,在狀態切換時使用;WL、HL :分別指溫備件的溫壽命和熱壽命,即備用和工作狀態下壽命;
T7l =S:表示溫備件由備份狀態切換為工作狀態時,剩余壽命的折算因子;
WL% 表示溫備件由工作狀態切換為備份狀態時,剩余壽命的折算因子;
HLCi. WL、Ci. HL分別表示溫備件的溫壽命和熱壽命,是分別按部件在備用狀態下和正常工作下的壽命分布函數抽樣生成的部件壽命,并且滿足條件Ci.WL > Ci. HL。Ii1和
n2的計算公式分別是M =S和% ,這兩個折算因子分別用在溫備件由備用態切換至
WLHL
工作態和由工作態切換至備用態時的剩余壽命Ci. LL的計算。S. PRes :開關允許重啟次數;S. CRes :開關當前重啟次數;S. SProb :開關切換成功概率;S. DT :開關切換延遲時間;S. Fail :開關失效變量,用于記錄開關在切換狀態時發生的監測狀態概率失效;S. Fail為開關立即故障變量,此變量用來記錄開關在延時狀態下,即正在切換動作中時,遇到開關監測狀態概率抽樣故障的發生。此時,為了將此故障事件延遲至開關切換動作結束后,將該變量置為1,在開關切換動作完畢后,通過判斷該變量值便可知道開關動作過程中是否發生監測狀態概率性失效。S. CE(1-3):開關當前處理事件信息數組,其中S. CE(I)指當前事件類型,包括S. CE(I) = I時,當前事件為緊急上位事件,即當工作件故障時,開關切換至備件使其替代故障件進行工作;S. CE(I) = 2時,當前事件為直接上位事件,即當部件修復后,若系統需要或者修復件為須立即投入工作的首發件,則該修復件直接工作,不進行替換;S. CE(I)=3時,當前事件為強行上位事件,該事件只針對首發件,即當其修復后,若它須工作而當前工作件數量為上限值R時,則該件將替換正在工作中任一備件進行工作,后者進入備用狀態。S. CE(2)是指被替換的部件。S.CE(3)指頂替而上進行工作的部件。S. RffQ :開關待處理修復部件數組。S. RffQ(i)指第i個待處理的修復部件。ES(ET,CS,Etypeh,事件數組,其中,ET為事件時間;CS為產生該事件的部件;Etype為部件類型(Etype = O代表故障事件;Etype = I代表修復事件;Etype = 2代表開關延時結束事件;Etype = 3代表重啟事件)。ST:單次仿真總時長;CT:系統當前時間;TN:仿真總次數;SN:當前仿真次數;Seed:仿真種子數;FFT (i):第i次仿真中首次故障發生前的時間;DT⑴第i次仿真中系統總停機時間;SS (i,t):第i次仿真中t時刻時系統的狀態,SS(i, t) = I表示系統正常,SS (i,t) = O表示系統失效;SF⑴第i次仿真中系統失效次數總和;FE(i, t):第i次仿真中t時刻前,系統是否發生過故障,FE(i, t) = I表示發生過,FE(i, t) = O表示未發生過。
具體實施例方式本發明一種具有表決功能的可修混合公共貯備系統模型及可靠性仿真算法,其模型如圖I所示;其可靠性仿真算法流程共11個模塊組成,其中一個主模塊,如圖2所示,其他均為調用模塊,如圖3至圖12所示,各調用模塊之間也存在調用關系。N/R/K系統仿真采用事件驅動,時間推進機制,大體算法流程如下首先通過抽樣生成各部件及開關的首次故障事件,按時間順序處理每個事件,在事件處理過程中,又會抽樣生成各部件和開關的維修、故障事件及對各統計量的積累,事件推進處理直至時間抵達仿真時間為止。將上述過程重復仿真數次后,對各 統計量進行計算以得到相關的可靠性指標。見圖13,本發明一種具有表決功能的可修混合公共貯備系統模型及可靠性仿真算法,其具體實施流程如下步驟1,使用者根據部件的性質和部件的性能參數指標輸入部件信息,并根據所要求精度輸入單次仿真時間和仿真次數,計算機讀取部件信息和仿真信息=Ci, S,Ftype,Fa, Fb, Fe,Rtype, Ra,Rb,Re,Stype, Sa, Sb,Sc,WorkStyle, StandbyType, Restore Work,S. PRes, S. SProb, ST, TN ;步驟2,將當前仿真次數SN置為0,初始化仿真程序;步驟3,仿真次數加1,SN = SN+1 ;步驟4,初始化各部件的仿真數據,并對各部件進行第一次故障抽樣,抽樣方法采用直接抽樣的方法,即反函數法,產生事件數組ES (ET,CS,Etype),并將其按時間順序排列。調用“第一次抽樣處理”模塊,其流程如圖3所示,步驟如下①令i= l;②取出部件Ci,其是否為首發件?是,置部件Ci狀態為“正常工作”,轉③;否則,置部件Ci狀態為“備份”,轉⑤;③部件Ci備份性質是否為冷?是,抽樣其故障時間,即剩余壽命Ci. LL,將其記錄到事件數組中,轉⑥;否則,轉④;④部件Ci備份性質是否為溫?是,抽樣其溫壽命Ci. WL和熱壽命Ci. HL,并計算兩類折算因子1和H2,若部件狀態為“正常工作”則將其熱壽命作為其故障時間記錄到事件數組中,若部件狀態為“備份”則將其溫壽命作為故障時間記錄到事件數組中,轉⑥;否貝U,即其備份性質為熱,抽樣其故障時間Ci. LL,將其寫入事件表中,轉⑥。其中要求Ci. WL
> Ci. HL ; Il1和Il2的計算公式分別是q 和% ,這兩個折算因子分別用在溫備件
WLHL
由備用態切換至工作態和由工作態切換至備用態時的剩余壽命Ci. LL的計算。⑤部件Ci備份性質是否為冷?是,轉⑥;否則,轉④;⑥i < N 是,i = i+Ι,轉②;否則,轉⑦;⑦結束。步驟5,從步驟4已經排列好的事件中取出事件數組中的第一個事件ES(ET,EC,Etype)l,并調用“事件表處理”模塊處理該事件,其流程如圖4所示,步驟如下
①從事件數組中讀取一條新的“事件記錄”ES (ET,CS,Etype) i,把系統當前時間CT置為ET ;②根據事件主體以及事件的類型調用不同的事件處理模塊a)判斷CS部件是否為開關?是,轉c);否則轉b);b)判斷該事件是否為故障事件(Etype = 0 ) 是,調用“開關處理部件故障”模塊(如圖5)處理ESi,然后轉③。否則,判斷該事件是否為修復事件(Etype = I ) 是,調用“開關處理部件修復”模塊(如圖6)處理ESi,然后轉③;否則,轉③;c)判斷該事件是否為故障事件(Etype = O ) 是,調用“開關故障事件”模塊(如圖11)處理ESi,然后轉③。否則,判斷該事件是否為修復事件(Etype = I ) 是,調用“開關修復事件”模塊(如圖10)處理ESi,然后轉③;否則,轉d);
d)判斷該事件是否為開關延時結束事件(Etype = 2 ) 是,調用“開關延時事件”模塊(如圖8)處理ESi,然后轉③;否則,調用“開關重啟事件”模塊(如圖9)處理ESi,然后轉③。③判斷N/R/K系統是否失效,若失效調用“停機事件處理”模塊(如圖12);④對相關可靠性指標統計量FFT⑴、DT⑴、SS (i,t)、SF⑴、FE (i,t)進行積累;⑤按時間順序取出事件表中的下一個事件ES (ET, CS, Etype) i+1,若下一個事件的發生時間大于仿真總時長,即ET > ST,則轉⑥,否則,轉①;⑥結束。調用模塊的內容如下“開關處理部件故障”模塊(如圖5)的流程如下(i)抽樣生成該故障部件的維修時間,生成事件ES(CT+Ts,Cx,I),并將其加入事件表中;(ii)故障部件發生故障前狀態是否為“備份”?是,轉(viii)開關狀態時否為“延時”?是,轉(iv);否則,轉(vi);
(iv)開關當前處理事件是否為“強行上位事件”?是,轉(V);否則,轉(viii) ;(v)將開關當前處理事件類型改為“直接上位事件”,轉(viii) ;(vi)N/R/K系統是否失效?是,轉(vii);否則,轉(viii) ; (vii)開關是否處于維修狀態?是,轉(viii);否則,調用“開關處理上位請求”模塊,上位類型為I ; (viii)結束。“開關處理部件修復”模塊(如圖6)的流程如下(i)開關狀態若為“延時”或“維修”,則將該修復部件寫入“開關待處理修復部件數組” S. RWQ中,轉(vi) ;(ii)N/R/K系統是否失效?是,調用“開關處理上位請求”模塊,上位類型為直接上位,轉(vi);否則,轉(iii) 修復件的工作性質是否首發件?是’轉(iv);否則,將修復件狀態改為備份,進行備份件首次抽樣處理,轉(vi) ;(iv)修復件修復后是否繼續工作?是,轉(V);否則,將修復件狀態改為備份,進行備份件首次抽樣處理,轉(vi) ;(v)當前工作件數量是否達到首發件總和?是,調用“開關處理上位請求”模塊,上位類型為強行上位;否則,調用“開關處理上位請求”模塊,上位類型為直接上位;(vi)結束。 “開關處理部件故障”模塊、“開關處理部件修復”模塊和“開關修復事件”模塊中所涉及的“開關處理上位請求”模塊(如圖7)的流程如下(i)是否緊急上位事件?是,轉
(ii);否則,轉( ) ;( )是否有備件可用?是,記錄“開關當前處理事件”,轉(iv);否貝U,轉(ix)替換件是否為空?是,轉(ix);否則,根據上位類型分別記錄“開關當前
處理事件”,轉(iv) ;(iv)將開關狀態設置為“延時”;(V)根據開關動作成功概率抽樣開關切換是否成功?是,轉(Vi);否則,轉(vii) ;(vi)開關動作延遲時間是否大于O 是,生成開關相應的延時事件,寫入事件表中,轉(ix);否則,立即調用“開關延時事件”,轉(ix);(vii)開關允許重啟次數是否大于O 是,轉(viii);否則,開關設置為維修態,抽樣開關維修事件,寫入事件表中,轉(ix) ;(viii)開關動作延遲時間是否大于O 是,生成相應的開關重啟事件,轉(ix);否則,立即調用“開關重啟事件”;(ix)結束。“開關延時事件”模塊(如圖8)的流程如下(i)開關當前處理事件類型是否為“強行上位”?是,將被換件置為備份狀態,并且依據其冷、溫、熱不同性質,進行故障時間的折算,進而刪除或者替換事件表中原有的該部件的事件記錄,具體參見“開關處理上位請求”模塊;否則,轉(ii) ;( )將替換件置為工作態,并且依據其冷、溫、熱不同性質,生成或者折算其故障時間,并添加或者替換事件記錄,具體參見“開關處理上位請求”模塊。轉
(iii)將開關狀態置為“正常”,清空開關當前處理事件數組。轉(iv) ;(iv)開關立即故障變量S. Fail是否為O 是,調用“開關修復事件”模塊,轉(V);否則,開關故障,抽樣生成開關維修事件,寫入事件表,并將S. Fail值置為O ; (V)結束。 “開關重啟事件”模塊(如圖9)的流程如下(i)開關當前重啟次數加I,開關立即失效變量是否為I 是,開關故障,抽樣生成開關維修事件,寫入事件表中,并將立即故障變量和開關當前重啟次數置為0,轉(vi);否則,轉(ii) ;(ii)根據開關動作概率抽樣開關切換是否成功?是,轉(iii);否則,轉(iv)開關動作延遲時間是否大于O 是,生成開關延時事件,寫入事件表,清空開關當前重啟次數,轉(vi);否則,立即調用“開關延時事件”模塊,清空當前重啟次數,轉(vi) ;(iv)開關當前重啟次數是否等于允許次數?是,開關故障,抽樣生成維修事件,寫入事件表,清空開關當前重啟次數,轉(vi);否則,轉(V);(v)開關是否延時?是,生成開關重啟事件,寫入事件表,轉;否則,轉⑴;(vi)結束“開關修復事件”模塊(如圖10)的流程如下⑴開關狀態置為“正常”,開關當前處理事件信息數組是否為空?是’轉(ii);否則,轉(iii) ;( )開關待處理修復部件數組是否為空?是,轉(V);否則,調用“開關處理部件修復”模塊按開關待處理修復部件的優先級別分別予以處理,轉(V)開關待處理部件修復事件數組是否為空?是,調用“開關處理上位請求”模塊處理開關當前事件,轉(V);否則,轉(iv) ; (iv)開關當前處理事件中的替換件是否修復后繼續工作?是,調用“開關處理上位請求”模塊處理當前事件,轉(V);否則,調用“開關處理部件修復”模塊按開關待處理修復部件的優先級別分別予以處理,轉
(v);(v)貯備系統是否失效?是,調用“開關處理上位請求”模塊,上位類型為I ;否則,轉
(vi); (vi)結束。(i) (ii) (iii) (iv) (v) (vi) (vii) (viii) (ix)“開關故障事件”模塊(如圖11)的流程如下(i)開關是否為“延時”狀態?是,將開關立即故障變量置為I ;否則,開關故障,抽樣生成開關的維修事件,寫入事件表;(ii)結束“停機事件處理”模塊(如圖12)的流程如下(i)找到CT時刻后最早的非故障事件ESi;(ii)計算出仿真當前時間與該時刻后最早的非故障事件發生的時間差(T =ET-CT) ;(iii)將CT時刻后所有故障事件發生的時間均向后延遲T ;(iv)結束。步驟6,當前仿真次數是否小于總仿真次數,SN < TN ,若是,轉步驟3 ;否則,轉步驟7,停止仿真循環;
步驟7,可靠性指標計算a)系統平均首次故障前時間-MTTFF J^jFFT(I)Itn( I )
i=\ /b)系統平均可用度 'Am =I(STxTN)(2)c)系統點可用度 'Ait) = ^jSSiiJ) 卜(3)
i=l /d)系統平均故障次數:NF = Y4SFii) Itn( 4 )
i=l /e)系統可靠度 'Rit) = \-ψ^Ε(μ)丨TN(5)
i=\ /步驟8,結束。
權利要求
1.具有表決功能的可修混合公共貯備系統模型的可靠性仿真算法,其特征在于該方法具體步驟如下 步驟 1,讀取部件信息和仿真信息Ci; S, Ftype, Fa, Fb, Fe, Rtype, Ra, Rb, Re, Stype,Sa, Sb, Sc, WorkStyle, StandbyType, Restoreffork, S. PRes, S. SProb, ST, TN ; 步驟2,將當前仿真次數SN置為0 ; 步驟3,仿真次數加I, SN = SN+1 ; 步驟4,初始化各部件的仿真數據,并對各部件進行第一次故障抽樣,產生事件數組ES (ET, CS, Etype),將其按時間順序排列,并進行“第一次抽樣處理”,其流程如下 ①令i= I ; ②取出部件Ci,其是否為首發件?是,置部件Ci狀態為“正常工作”,轉③;否則,置部件Ci狀態為“備份”,轉⑤; ③部件Ci備份性質是否為冷?是,抽樣其故障時間,即剩余壽命Ci.LL,將其記錄到事件數組中,轉⑥;否則,轉④; ④部件Ci備份性質是否為溫?是,抽樣其溫壽命Ci.WL和熱壽命Ci. HL,并計算兩類折算因子H1和H2,若部件狀態為“正常工作”則將其熱壽命作為其故障時間記錄到事件數組中,若部件狀態為“備份”則將其溫壽命作為故障時間記錄到事件數組中,轉⑥;否則,即其備份性質為熱,抽樣其故障時間Ci. LL,將其寫入事件表中,轉⑥; ⑤部件Ci備份性質是否為冷?是,轉⑥;否則,轉④; ⑥i< N 是,i = i+1,轉②;否則,轉⑦; ⑦結束; 步驟5,取出事件數組中的第一個事件ES (ET,EC, Etype) I,并調用“事件表處理”處理該事件,其流程如下 ①讀取一條新的“事件記錄”ES (ET,CS,Etype) i,把系統當前時間CT置為ET ; ②根據事件主體以及事件的類型調用不同的事件處理模塊 a)判斷CS部件是否為開關?是,轉c);否則轉b); b)判斷該事件是否為故障事件?即Etype= 0 ,是,調用“開關處理部件故障”模塊處理ESi,然后轉③;否則,判斷該事件是否為修復事件?即Etype = I ,是,調用“開關處理部件修復”模塊處理ESi,然后轉③;否則,轉③; c)判斷該事件是否為故障事件?即Etype= 0 是,調用“開關故障事件”模塊處理ESi,然后轉③;否則,判斷該事件是否為修復事件?即Etype = I ,是,調用“開關修復事件”模塊處理ESi,然后轉③;否則,轉d); d)判斷該事件是否為開關延時結束事件?即Etype= 2 ,是,調用“開關延時事件”模塊處理ESi,然后轉③;否則,調用“開關重啟事件”模塊處理ESi,然后轉③; ③判斷N/R/K系統是否失效,若失效則進行“停機事件處理”; ④對相關可靠性指標統計量FFT(i)、DT (i)、SS (i,t)、SF(i)、FE(i,t)進行積累; ⑤按時間順序取出事件表中的下一個事件ES(ET, CS, Etype) i+1,若下一個事件的發生時間大于仿真總時長,即ET >ST,則轉⑥,否則,轉(i); ⑥結束; 步驟6,當前仿真次數是否小于總仿真次數,SN < TN ,若是,轉③;否則,轉⑦;步驟7,可靠性指標計算; 步驟8,結束。
2.根據權利要求I所述的一種具有表決功能的可修混合公共貯備系統模型的可靠性仿真算法,其特征在于步驟5中所述的“開關處理部件故障”模塊的流程如下(i)抽樣生成該故障部件的維修時間,生成事件ES (CT+Ts,Cx,l),并將其加入事件表中;(ii)故障部件發生故障前狀態是否為“備份”?是,轉(viii),否則轉(iii)開關狀態是否為“延時”?是’轉(iv);否則,轉(vi) ;(iv)開關當前處理事件是否為“強行上位事件”?是’轉(V);否則,轉(viii) ; (V)將開關當前處理事件類型改為“直接上位事件”,轉(viii) ; (vi)N/R/K系統是否失效?是’轉(vii);否則,轉(viii) ; (vii)開關是否處于維修狀態?是,轉(viii);否則,調用“開關處理上位請求”模塊,上位類型為I ; (viii)結束。
3.根據權利要求I所述的一種具有表決功能的可修混合公共貯備系統模型的可靠性仿真算法,其特征在于步驟5中所述的“開關處理部件修復”模塊的流程如下(i)開關狀態若為“延時”或“維修”,則將該修復部件寫入“開關待處理修復部件數組” S. RWQ中,轉(vi) ;(ii)N/R/K系統是否失效?是,調用“開關處理上位請求”模塊,上位類型為直接上位,轉(vi);否則,轉(iii)修復件的工作性質是否首發件?是,轉(iv);否則,將修復件狀態改為備份,進行備份件首次抽樣處理,轉(vi) ;(iv)修復件修復后是否繼續工作?是,轉(V);否則,將修復件狀態改為備份,進行備份件首次抽樣處理,轉(vi) ;(v)當前工作件數量是否達到首發件總和?是,調用“開關處理上位請求”模塊,上位類型為強行上位;否貝U,調用“開關處理上位請求”模塊,上位類型為直接上位;(vi)結束。
4.根據權利要求2和3所述的“開關處理上位請求”模塊,其特征在于其流程如下(i)是否緊急上位事件?是,轉(ii);否則,轉(iii) ;( )是否有備件可用?是,記錄“開關當前處理事件”,轉(iv);否則,轉(ix)替換件是否為空?是,轉(ix);否則,根據上位類型分別記錄“開關當前處理事件”,轉(iv) ;(iv)將開關狀態設置為“延時”;(V)根據開關動作成功概率抽樣開關切換是否成功?是’轉(vi);否則,轉(vii) ;(vi)開關動作延遲時間是否大于O 是,生成開關相應的延時事件,寫入事件表中,轉(ix);否則,立即調用“開關延時事件”,轉(ix) ;(vii)開關允許重啟次數是否大于O 是,轉(viii);否則,開關設置為維修態,抽樣開關維修事件,寫入事件表中,轉(ix) ;(viii)開關動作延遲時間是否大于O 是,生成相應的開關重啟事件,轉(ix);否則,立即調用“開關重啟事件”;(ix)結束。
5.根據權利要求I所述的一種具有表決功能的可修混合公共貯備系統模型的可靠性仿真算法,其特征在于步驟5中所述的“開關延時事件”模塊的流程如下(i)開關當前處理事件類型是否為“強行上位”?是,將被換件置為備份狀態,并且依據其冷、溫、熱不同性質,進行故障時間的折算,進而刪除或者替換事件表中原有的該部件的事件記錄;否則,轉(ii) ;( )將替換件置為工作態,并且依據其冷、溫、熱不同性質,生成或者折算其故障時間,并添加或者替換事件記錄,轉(iii)將開關狀態置為“正常”,清空開關當前處理事件數組,轉(iv) ;(iv)開關立即故障變量S. Fail是否為O 是,調用“開關修復事件”模塊,轉(V);否則,開關故障,抽樣生成開關維修事件,寫入事件表,并將S. Fail值置為O;(V)結束。
6.根據權利要求I所述的一種具有表決功能的可修混合公共貯備系統模型的可靠性仿真算法,其特征在于步驟5中所述的“開關重啟事件”模塊的流程如下(i)開關當前重啟次數加1,開關立即失效變量是否為I 是,開關故障,抽樣生成開關維修事件,寫入事件表中,并將立即故障變量和開關當前重啟次數置為O,轉(vi);否則,轉(ii) ;(ii)根據開關動作概率抽樣開關切換是否成功?是,轉(iii);否則,轉(iv)開關動作延遲時間是否大于O 是,生成開關延時事件,寫入事件表,清空開關當前重啟次數,轉(vi);否則,立即調用“開關延時事件”模塊,清空當前重啟次數,轉(vi) ;(iv)開關當前重啟次數是否等于允許次數?是,開關故障,抽樣生成維修事件,寫入事件表,清空開關當前重啟次數,轉(vi);否則,轉(V) ;(v)開關是否延時?是,生成開關重啟事件,寫入事件表,轉;否則,轉(i); (vi)結束。
7.根據權利要求I所述的一種具有表決功能的可修混合公共貯備系統模型的可靠性仿真算法,其特征在于步驟5中所述的“開關修復事件”模塊的流程如下(i)開關狀態置為“正常”,開關當前處理事件信息數組是否為空?是,轉(ii);否則,轉(iii) ;( )開關待處理修復部件數組是否為空?是,轉(V);否則,調用“開關處理部件修復”模塊按開關待處理修復部件的優先級別分別予以處理,轉(V)開關待處理部件修復事件數組是否為空?是,調用“開關處理上位請求”模塊處理開關當前事件,轉(V);否則,轉(iv) ;(iv)開關當前處理事件中的替換件是否修復后繼續工作?是,調用“開關處理上位請求”模塊處理當前事件,轉(V);否則,調用“開關處理部件修復”模塊按開關待處理修復部件的優先級別分別予以處理,轉(V) ;(v)貯備系統是否失效?是,調用“開關處理上位請求”模塊,上位類型為I ;否則,轉(vi) ;(vi)結束。
8.根據權利要求I所述的一種具有表決功能的可修混合公共貯備系統模型的可靠性仿真算法,其特征在于步驟5中所述的“開關故障事件”模塊的流程如下(i)開關是否為“延時”狀態?是,將開關立即故障變量置為I ;否則,開關故障,抽樣生成開關的維修事件,寫入事件表;(ii)結束。
9.根據權利要求I所述的一種具有表決功能的可修混合公共貯備系統模型的可靠性仿真算法,其特征在于步驟5中所述的“停機事件處理”模塊的流程如下(i)找到CT時刻后最早的非故障事件ESi ;(ii)計算出仿真當前時間與該時刻后最早的非故障事件發生的時間差T = ET-CT ; (iii)將CT時刻后所有故障事件發生的時間均向后延遲T ; (iv)結束。
10.根據權利要求I所述的一種具有表決功能的可修混合公共貯備系統模型的可靠性仿真算法,其特征在于步驟7中所述的可靠性指標有以下幾個 a)MTTFF :系統平均首次故障前時間,其計算公式為
全文摘要
一種具有表決功能的可修混合公共貯備系統模型的可靠性仿真算法,其步驟如下1,讀取部件信息和仿真信息Ci,S,Ftype,Fa,Fb,Fc,Rtype,Ra,Rb,Rc,Stype,Sa,Sb,Sc,WorkStyle,StandbyTypa,RestoreWork,S.PRes,S.SProb,ST,TN;2,將當前仿真次數SN置為0;3,仿真次數加1,SN=SN+1;4,初始化各部件的仿真數據,并對各部件進行第一次故障抽樣,產生事件數組ES(ET,CS,Etype),并將其按時間順序排列。并進行“第一次抽樣處理”;5,取出事件數組中的第一個事件ES(ET,EC,Etype)1,并調用“事件表處理”處理該事件;6,當前仿真次數是否小于總仿真次數,SN<TN?,若是,轉3;否則,轉7;7,可靠性指標計算;8,結束。本發明在系統可靠性建模與仿真技術領域里具有較好的實用價值和廣闊地應用前景。
文檔編號G06F19/00GK102663226SQ201210058418
公開日2012年9月12日 申請日期2012年3月7日 優先權日2012年3月7日
發明者孫宇鋒, 常增柱, 許健, 趙廣燕 申請人:北京航空航天大學