第三章 故障树分析(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 建树步骤——我自己的五步法
建树这件事,很多人觉得难。其实掌握了套路,就跟搭积木一样。我总结了五步,这些年一直在用:
- 定义顶事件:明确你要分析的系统级故障。比如“发动机无法启动”。
- 确定边界条件:哪些因素考虑,哪些不考虑。比如“不考虑人为破坏”。
- 逐层分解:从顶事件开始,问“这个故障是怎么发生的?”
- 连接逻辑门:用与门、或门把事件串起来。
- 验证完整性:检查每个中间事件是否都分解到了底事件。
我的经验:建树时最好用白板手画,别一上来就用软件。手画的时候,思路更开阔。等树建好了,再用工具整理成电子版。
为什么会这样?因为软件会限制你的思维。你想想看,鼠标点来点去,很容易陷入细节,反而忘了整体结构。
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来挖一挖根因。
公众号:蓝海资料掘金营,微信deep3321