可靠性方塊圖

關於可靠性方塊圖

可靠性方塊圖(RBD)呈現系統的成功邏輯:每個元件是一個從輸入節點到輸出節點路徑上的方塊,只要有一條由正常運作方塊構成的連續路徑連接兩端,系統就能正常運作串聯的元件必須全部正常;並聯的元件提供備援(任一正常即可);k 取 n 群組在其 n 個成員中至少 k 個正常時即可運作。這是 RAMS(可靠性、可用性、可維護性、安全性)工程的標準工具,由 IEC 61078:2016 和 MIL-HDBK-338B 所定義。

Schematex 的優勢在於引擎不只畫圖,還會計算答案:從每個方塊的可靠性數值,將結構化簡為系統可靠性(串聯用 ∏,並聯用 1−∏(1−Rᵢ),k 取 n 用精確列舉),推導出每個方塊的 Birnbaum 可靠性重要度(哪個方塊改善效果最大),並以紅色標記單點故障——單一方塊故障即導致系統失效的方塊。這與 faulttree 對待割集和 pert 對待排程的立場相同。RBD 是故障樹失效空間的成功空間對偶。

rbd·§
↘ preview
100%
Redundant Server Reliability block diagram: 6 blocks. System reliability R = 0.98491. Single point of failure: PSU. Highest reliability-importance block: PSU. Redundant Server System reliability R = 0.98491 2/3 Power Supply R=0.99 Fan A R=0.95 Fan B R=0.95 Disk 1 R=0.97 Disk 2 R=0.97 Disk 3 R=0.97
UTF-8 · LF · 13 lines · 248 chars✓ parsed·4.7 ms·4.9 KB SVG

1. 第一個圖表

每個文件以 rbd 關鍵字(別名 reliability)開始,接著是可選標題,然後是圍繞 block 葉節點的巢狀成功邏輯群組:

rbd "Two redundant pumps"
  parallel {
    block A "Pump A" R=0.9
    block B "Pump B" R=0.9
  }

引擎在分裂節點和匯合節點之間的並聯軌道上繪製兩台泵浦,計算系統可靠性 1 − (1−0.9)(1−0.9) = 0.99,並將其顯示為標題數字。頂層沒有外層群組的方塊清單會被視為串聯鏈。

2. 方塊

block 是成功路徑上的一個元件:

block ID "Label" R=0.99
  • ID — 短識別符(未提供標籤時顯示)。
  • "Label" — 可選的顯示名稱(支援 CJK 引號)。
  • 可靠性以 R=0.99(可靠性/可用性)、p=0.01故障概率,→ R = 1−p)或百分比 R=99% 表示。未設定可靠性的方塊會讓系統數字顯示為符號值(n/a)。

3. 成功邏輯群組

群組可自由巢狀,因此可以建模備援鏈、表決組和熱備用對:

群組成功條件可靠性
series { … }每個子項都正常∏ Rᵢ
parallel { … }任一子項正常1 − ∏(1 − Rᵢ)
kofn k/n { … }n 個中至少 k 個子項正常精確狀態列舉
series {
  block CTRL "Controller" R=0.995
  parallel {
    series { block P1 "Path 1 sensor" R=0.97
             block A1 "Path 1 actuator" R=0.98 }
    series { block P2 "Path 2 sensor" R=0.97
             block A2 "Path 2 actuator" R=0.98 }
  }
}

4. 計算可靠性、重要度與單點故障

解析後,引擎計算:

  • 系統可靠性 — 標題數字,透過遞迴串聯/並聯/k 取 n 化簡得出。
  • Birnbaum 重要度 Iᴮ(i) = R_sys(Rᵢ=1) − R_sys(Rᵢ=0)(針對每個方塊);重要度最高的方塊(改善目標)以強調色標示。
  • 關鍵性重要度 I_C(i) = Iᴮ(i)·(1−Rᵢ)/(1−R_sys) — 在系統失效的情況下,方塊 i 故障且關鍵的概率。
  • 單點故障 — 任何 R_sys(Rᵢ=0) = 0 的方塊(其故障單獨導致系統失效)以紅色邊框繪製。串聯中非備援的方塊必然是單點故障。

5. 時間相依可靠性 — R(t)

靜態的 R= 是入門選項;在實務中,可靠性是任務時間的函數。設定 mission: <t> 並給方塊一個故障分布而非常數——引擎會像之前一樣計算並匯總 R(t)。確保 mission 和故障率使用一致的時間單位

方塊屬性模型R(t)
rate=0.0001指數分布(常數危險率 λ)e^(−λt)
mtbf=10000指數分布(λ = 1/MTBF)e^(−t/MTBF)
weibull=2,10000Weibull(β 形狀,η 尺度)e^(−(t/η)^β)
rbd "Pump station — 1-year mission"
  mission: 8760            # hours
  parallel {
    block A "Pump A" mtbf=10000
    block B "Pump B" weibull=1.5,12000
  }

標題會變為 R(t=8760) = …。有分布但無 mission: 的方塊會顯示警告並回退至其常數 R=(如有)。

6. 驗證

解析器回報非致命警告而非直接失敗:

  • kofn k/n 的閾值若 k > n 會被截斷為 nk < 1 截斷為 1);
  • 超出 0..1 範圍的可靠性值會被截斷;
  • 重複的方塊 id 會被標記。

7. 主題設定

theme: default 使用共用的可靠性配色方案(中性方塊、藍色可靠性數字、紅色單點故障邊框)。theme: monochrome 渲染黑白列印版本(以邊框粗細區分單點故障);theme: dark 為 Catppuccin 深色變體。

Found this useful?

Schematex is free, fully open source, and zero-dependency. A star helps other developers discover it.