3. 故障树分析(FTA):故障树构建方法、布尔代数与最小割集、风电机组典型故障树案例

各位工程师朋友,咱们今天聊聊故障树分析。说实话,FTA 这玩意儿在可靠性工程里,就像医生手里的听诊器——看着简单,但用好了能直击病灶。我做了十几年风电可靠性设计,每次遇到棘手的故障,第一反应就是:画棵故障树看看。

3.1 故障树构建方法:从顶事件往下挖

故障树的构建,说白了就是「打破砂锅问到底」。我们从最不希望发生的事件开始,一步步往下追问「为什么会发生」。

第一步:确定顶事件

顶事件就是系统最严重的故障模式。比如「风电机组整机倒塌」、「齿轮箱卡死」、「发电机烧毁」。我个人习惯,顶事件一定要选得够「顶」——必须是影响安全或导致停机的事件。

第二步:逐层分解

从顶事件出发,用逻辑门连接下层事件。常用的逻辑门就两个:

  • 与门(AND):所有下层事件同时发生,上层才发生。比如「刹车失效」需要「液压系统故障」且「机械刹车卡滞」同时发生。
  • 或门(OR):任意一个下层事件发生,上层就发生。比如「叶片断裂」可能是「雷击」或「材料疲劳」或「制造缺陷」。

第三步:直到找到底事件

一直分解到无法再分解的基本事件,比如「螺栓断裂」、「传感器失效」、「软件bug」。这些底事件就是我们需要关注的根本原因。

我的经验: 构建故障树时,别贪多。一棵树控制在 30-50 个底事件以内,太深了反而看不清。我曾经见过有人把一棵树画了 200 多个节点,最后自己都理不清逻辑关系。

下面这张图是我用 SVG 画的故障树基本结构,展示了从顶事件到底事件的分解逻辑:

顶事件 AND 中间事件1 中间事件2 OR OR 底事件A 底事件B 底事件C 底事件D 图例: 顶事件(系统故障) 中间事件 底事件(基本原因) 与门(AND) 或门(OR)

3.2 布尔代数与最小割集:把树变成数学

故障树画好了,怎么分析?这时候布尔代数就派上用场了。说白了,就是把故障树翻译成数学公式。

布尔代数基础

每个事件用字母表示:顶事件 T,中间事件 M,底事件 X。逻辑门对应运算:

  • 与门 → 乘法(AND):T = A · B
  • 或门 → 加法(OR):T = A + B

举个例子,上面那棵树的布尔表达式:

T = M1 · M2
M1 = X1 + X2
M2 = X3 + X4
所以 T = (X1 + X2) · (X3 + X4)
     = X1·X3 + X1·X4 + X2·X3 + X2·X4

最小割集

最小割集,就是导致顶事件发生的最少底事件组合。上面例子中,{X1, X3}、{X1, X4}、{X2, X3}、{X2, X4} 就是四个最小割集。

关键点: 最小割集的数量和阶数(包含底事件个数)直接反映了系统的薄弱环节。一阶割集(单个底事件就能导致故障)是最危险的,必须优先处理。

我记得有一次分析某机型变桨系统故障,发现一个一阶割集——「变桨电机编码器失效」。这意味着只要这个编码器坏了,整个变桨系统就瘫了。后来我们加了冗余编码器,把一阶割集变成了二阶,可靠性提升了一个数量级。

3.3 风电机组典型故障树案例:齿轮箱卡死

咱们来看一个实际案例。齿轮箱卡死是风电机组的严重故障,轻则停机维修,重则齿轮箱报废。下面是我构建的简化故障树:

顶事件: 齿轮箱卡死

中间事件分解:

  1. 润滑失效(或门)
    • 油泵电机烧毁
    • 油路堵塞
    • 油位过低
  2. 机械卡滞(或门)
    • 齿轮断齿
    • 轴承保持架断裂
    • 异物进入
  3. 过载(与门)
    • 电网故障导致冲击
    • 变桨失控

布尔表达式:

T = M1 + M2 + M3
M1 = X1 + X2 + X3
M2 = X4 + X5 + X6
M3 = X7 · X8

最小割集:
{X1}, {X2}, {X3}, {X4}, {X5}, {X6}, {X7, X8}

看到没?六个一阶割集,一个二阶割集。这意味着齿轮箱卡死有六个「单点故障」——任何一个底事件发生,齿轮箱就卡死了。

避坑指南: 我曾经遇到一个项目,设计方只做了 FMEA(失效模式与影响分析),没做 FTA。结果齿轮箱频繁卡死,查了三个月才发现是油泵电机选型偏小,高温下频繁过载烧毁。如果当时做了 FTA,油泵电机烧毁这个一阶割集早就被识别出来了。

定量分析

如果我们知道每个底事件的失效率,还能算出顶事件的发生概率。假设每个底事件失效率为 λ = 1×10⁻⁶ /小时:

割集 底事件 失效率 (/h) 割集概率
{X1} 油泵电机烧毁 1×10⁻⁶ 1×10⁻⁶
{X2} 油路堵塞 1×10⁻⁶ 1×10⁻⁶
{X3} 油位过低 1×10⁻⁶ 1×10⁻⁶
{X4} 齿轮断齿 1×10⁻⁶ 1×10⁻⁶
{X5} 轴承保持架断裂 1×10⁻⁶ 1×10⁻⁶
{X6} 异物进入 1×10⁻⁶ 1×10⁻⁶
{X7, X8} 电网故障·变桨失控 1×10⁻¹² 1×10⁻¹²
顶事件总概率 ≈ 6×10⁻⁶ /h

你看,顶事件概率几乎完全由六个一阶割集决定。二阶割集的贡献可以忽略不计。所以改进方向很明确:消除或降低一阶割集的风险。

我的建议: 做 FTA 时,先找一阶割集。如果一阶割集超过 3 个,这个系统的可靠性基本不合格。赶紧改设计,加冗余或者提高部件可靠性。

嗯,故障树分析就聊到这儿。说白了,FTA 就是帮我们把「可能出问题的地方」系统性地找出来。你想想看,如果每个风电机组的关键故障模式都画一棵故障树,那可靠性设计就有了明确的方向——优先干掉一阶割集,再逐步优化高阶割集。这样一步步来,机组的可靠性自然就上去了。


公众号:蓝海资料掘金营,微信deep3321