第三章 故障树分析(FTA):从符号到量化

各位工程师朋友,今天我们来聊聊故障树分析。说实话,FTA 这玩意儿我刚开始接触时觉得挺玄乎的,一堆符号看得眼花。但干了几十年可靠性,我越来越觉得它是个好东西——尤其是当你需要跟别人解释「为什么这个系统会出问题」的时候。

3.1 故障树的基本符号

先说说符号。FTA 的符号其实不多,我总结下来就三类:事件符号、逻辑门符号、转移符号。记住这三类,基本就能看懂 90% 的故障树。

3.1.1 事件符号

符号 名称 含义
矩形 顶事件 / 中间事件 需要进一步分析的事件
圆形 底事件 最基本的故障原因,不再分解
菱形 未展开事件 暂时不分析的事件
房形 条件事件 特定条件下才发生的事件

我个人习惯把矩形叫做「还能往下挖」的事件,圆形就是「挖到底了」。菱形嘛,说白了就是「先放一放,回头再说」。

3.1.2 逻辑门符号

逻辑门是故障树的核心。常用的就两个:与门和或门。

  • 与门(AND):所有输入事件都发生,输出才发生。我做过一个电源项目,两个保护电路同时失效才会烧板子,这就是典型的与门关系。
  • 或门(OR):任意一个输入事件发生,输出就发生。这个最常见,比如一个电容短路、电阻开路、焊点虚焊,任何一个都能让电路不工作。

还有一个叫「禁门」,用的不多,但遇到条件触发的情况会用到。比如「温度超过85°C时,电容失效才会导致输出异常」——这个「温度超过85°C」就是条件。

3.1.3 转移符号

转移符号就是三角形,分「转入」和「转出」。说白了就是「这里太长了,我画到另一页去了」。我在做大型系统时经常用,不然一张图画不下。

避坑指南:我曾经犯过一个错误,转移符号的编号没对上,结果分析到一半发现逻辑链断了。后来我养成了习惯:每次画完转移符号,先检查一遍编号是否匹配。

3.2 建树方法

建树这事儿,说白了就是「从顶往下,层层分解」。我一般按以下步骤来:

  1. 确定顶事件:系统最不希望发生的事件。比如「手机无法开机」、「电源模块输出异常」。
  2. 分析直接原因:顶事件是怎么发生的?用逻辑门连接。
  3. 逐层分解:每个中间事件继续往下挖,直到底事件。
  4. 检查完整性:有没有遗漏的原因?逻辑关系对不对?

嗯,这里要注意:建树不是一次就能搞定的。我通常要画三版才能定稿。第一版是草稿,第二版是修正,第三版才是最终版。

我的经验:建树时最好拉上设计工程师一起讨论。你一个人闷头画,很容易漏掉一些「只有设计者才知道」的细节。我记得有一次,一个芯片的复位时序问题,就是设计工程师提醒我才加进去的。

3.3 定性分析

定性分析的目标是找出「最小割集」。啥是最小割集?说白了就是「导致顶事件发生的最少故障组合」。

举个例子:一个系统有三个底事件 A、B、C。如果 A 单独就能导致顶事件,那 {A} 就是一个最小割集。如果 A 和 B 同时发生才能导致顶事件,那 {A, B} 就是一个最小割集。

找最小割集的方法,我常用「下行法」:

  • 从顶事件开始,遇到或门就把输入事件列成一行,遇到与门就把输入事件列成一列。
  • 一直往下走,直到所有事件都是底事件。
  • 最后把重复的、包含关系的去掉,剩下的就是最小割集。

重要:最小割集的数量和阶数(包含底事件的个数)直接反映了系统的薄弱环节。一阶割集越多,系统越脆弱。我曾经分析过一个产品,发现有一个一阶割集——一个电容短路就能让整个系统瘫痪。后来我们给这个电容加了冗余设计。

3.4 定量分析

定量分析,说白了就是算概率。我们需要知道每个底事件的发生概率,然后算出顶事件的发生概率。

3.4.1 基本公式

对于与门:P(输出) = P(输入1) × P(输入2) × ... × P(输入n)

对于或门:P(输出) = 1 - (1 - P(输入1)) × (1 - P(输入2)) × ... × (1 - P(输入n))

你想想看,如果两个事件独立,与门的概率就是乘积。或门呢?就是「至少一个发生」的概率。

3.4.2 实际应用中的坑

定量分析看着简单,但实际用起来有不少坑:

  • 数据来源问题:底事件的概率从哪来?我一般用历史数据、供应商数据、或者标准手册(比如 MIL-HDBK-217)。但要注意,这些数据都是统计值,不一定适用于你的具体场景。
  • 相关性假设:公式假设事件是独立的。但现实中,很多故障是相关的。比如温度升高,多个器件同时失效的概率会增大。这时候用独立假设算出来的结果会偏乐观。
  • 计算复杂度:当最小割集很多时,手工计算很麻烦。我一般用软件工具,比如 Relex、Isograph 之类的。

警告:定量分析的结果只是一个参考值,不要把它当成绝对真理。我曾经见过一个团队,算出来顶事件概率是 10^-6,就以为万无一失了。结果实际测试时发现概率比这个高了一个数量级——因为有些故障模式没考虑到。

3.5 知识体系总览

下面这张图是我自己整理的 FTA 知识框架,方便大家理解整体逻辑:

故障树分析(FTA)知识体系 顶事件 逻辑门(与/或/禁) 中间事件 底事件 未展开事件 定性分析(最小割集) 定量分析(概率计算) 从顶事件逐层分解,到底事件为止,然后进行定性和定量分析

这张图把 FTA 的核心逻辑串起来了:从顶事件出发,经过逻辑门,到中间事件,再到底事件或未展开事件。最后,底事件用于定性分析和定量分析。

3.6 一个完整的例子

我拿一个简单的「LED灯不亮」来演示一下:

  • 顶事件:LED灯不亮
  • 直接原因(或门):电源故障 或 LED损坏 或 线路断开
  • 电源故障(或门):电池没电 或 稳压器损坏
  • LED损坏(底事件):LED烧毁
  • 线路断开(底事件):焊点虚焊

最小割集有三个:{电池没电}、{稳压器损坏}、{LED烧毁}、{焊点虚焊}。如果每个底事件的概率都是 0.01,那顶事件的概率就是 1 - (1-0.01)^4 ≈ 0.0394。

你看,这个例子虽然简单,但 FTA 的核心思想都在里面了。

最后说一句:FTA 不是万能的,但它是一个很好的沟通工具。你画一张故障树,别人一眼就能看出系统的薄弱环节在哪。我建议大家在项目初期就做 FTA,而不是等到出了问题再回头分析。


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