第三章 故障树分析(FTA):从基本符号到定量计算

故障树分析,圈内人常叫它FTA。说实话,这玩意儿是我在可靠性工程里用得最顺手的一个工具。它不像FMEA那样偏定性,也不像可靠性预计那样纯数学。FTA更像一个侦探工具——从顶层的故障现象出发,一层层往下挖,直到找到最根本的原因。

我当年第一次用FTA,是在一个电源模块的失效分析项目里。客户说设备偶尔会掉电重启,查了三个月没找到根因。我带着团队建了一棵故障树,花了三天时间,最后发现是一个电容的ESR在高温下漂移了。嗯,这就是FTA的魅力——它逼着你去想清楚故障到底是怎么发生的。

3.1 故障树的基本符号

建树之前,得先认识符号。FTA的符号体系其实不复杂,常用的就那么十来个。我习惯把它们分成三类:事件符号、逻辑门符号、转移符号。

3.1.1 事件符号

符号 名称 含义
矩形 顶事件/中间事件 需要进一步分析的事件
圆形 底事件 基本失效事件,不再往下分解
菱形 未展开事件 信息不足,暂不展开的事件
房形 条件事件 触发条件或约束

这里有个坑,我提醒一下:底事件必须是可测量的。我曾经见过有人把“软件不稳定”当成底事件,这就不对了。底事件应该是“CPU看门狗超时复位”这种具体可测的东西。

3.1.2 逻辑门符号

逻辑门是FTA的灵魂。说白了,就是描述故障之间的因果关系。

  • 与门(AND Gate):所有输入事件同时发生,输出才发生。符号像个拱门。
  • 或门(OR Gate):任意一个输入事件发生,输出就发生。符号像个月牙。
  • 禁门(INHIBIT Gate):条件满足时,输入事件才导致输出。符号是个六边形。
  • 优先与门(PAND Gate):输入事件按特定顺序发生时,输出才发生。

核心记忆法:与门是“一个都不能少”,或门是“一个就够”。我每次培训都这么讲,学员基本不会搞混。

3.2 建树步骤——我自己的五步法

建树这件事,很多人觉得难。其实掌握了套路,就跟搭积木一样。我总结了五步,这些年一直在用:

  1. 定义顶事件:明确你要分析的系统级故障。比如“发动机无法启动”。
  2. 确定边界条件:哪些因素考虑,哪些不考虑。比如“不考虑人为破坏”。
  3. 逐层分解:从顶事件开始,问“这个故障是怎么发生的?”
  4. 连接逻辑门:用与门、或门把事件串起来。
  5. 验证完整性:检查每个中间事件是否都分解到了底事件。

我的经验:建树时最好用白板手画,别一上来就用软件。手画的时候,思路更开阔。等树建好了,再用工具整理成电子版。

为什么会这样?因为软件会限制你的思维。你想想看,鼠标点来点去,很容易陷入细节,反而忘了整体结构。

3.3 最小割集求解——找到真正的“命门”

割集,就是能让顶事件发生的一组底事件。最小割集,就是去掉任何一个底事件,顶事件就不会发生了。说白了,这就是系统的“命门”。

求解最小割集,我常用两种方法:

3.3.1 下行法(Fussell-Vesely法)

这个方法很直观。从顶事件开始,从上往下走。遇到与门就把输入事件排成一行,遇到或门就把输入事件排成一列。最后得到的就是割集。

示例:一个简单的故障树
顶事件 T = A AND (B OR C)

下行法步骤:
1. T = A AND (B OR C)
2. 遇到与门,展开为:A, (B OR C)
3. 遇到或门,展开为:A,B 和 A,C
4. 最小割集:{A,B} 和 {A,C}

3.3.2 上行法(Semanderes法)

这个方法从底往上走。先把底事件用逻辑表达式表示,然后逐层代入,最后化简。

还是上面的例子:
1. 底层:G1 = B OR C
2. 顶层:T = A AND G1 = A AND (B OR C)
3. 展开:T = (A AND B) OR (A AND C)
4. 最小割集:{A,B} 和 {A,C}

注意:当故障树很大时,割集会爆炸式增长。我遇到过一棵树有200多个底事件,割集数量超过10万。这时候必须用计算机辅助,手工算会疯掉。

3.4 定量概率计算

有了最小割集,就可以算顶事件的发生概率了。这里有个前提:底事件的失效率数据必须可靠。我见过太多人随便找个数据就往里套,结果算出来跟实际差了好几个数量级。

3.4.1 基本计算公式

对于与门:P(T) = P(A) × P(B) × ... × P(N)

对于或门:P(T) = 1 - (1-P(A)) × (1-P(B)) × ... × (1-P(N))

嗯,这里要注意:当底事件数量很多时,或门的计算可以用近似公式。如果每个底事件的概率都很小(小于0.1),那么P(T) ≈ P(A) + P(B) + ... + P(N)。

3.4.2 实际案例

我拿一个简单的双冗余系统举例。系统有两个电源模块,任何一个正常工作,系统就能工作。顶事件是“系统断电”。

底事件 描述 失效率(/小时)
A 电源模块1失效 1×10⁻⁶
B 电源模块2失效 1×10⁻⁶

故障树结构:顶事件 = A AND B

计算:P(系统断电) = P(A) × P(B) = 1×10⁻⁶ × 1×10⁻⁶ = 1×10⁻¹²

你看,双冗余设计让失效率从百万分之一降到了万亿分之一。这就是FTA定量分析的价值——它能告诉你,某个改进到底能带来多大的收益。

3.5 知识体系总览

下面这张图是我自己画的,把FTA的核心内容串在了一起。你保存下来,以后做分析时对照着看,基本不会漏掉什么。

故障树分析(FTA)知识体系 顶事件定义 逐层分解(中间事件) 逻辑门(与/或/禁) 事件符号(底/中间) 转移符号 最小割集求解 定量概率计算 定性分析 改进措施与设计优化

一句话总结:FTA的核心就三件事——建树、找割集、算概率。建树靠经验,找割集靠方法,算概率靠数据。三者缺一不可。

好了,这一章的内容就到这里。FTA是个越用越顺手的工具,刚开始可能会觉得符号多、步骤繁琐。但只要你亲手建过两三棵树,就会发现它其实很有逻辑性。下次遇到系统故障,不妨试试用FTA来挖一挖根因。


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