4、故障树定性分析:最小割集与最小路集的定义、求解方法及其在故障诊断中的作用
故障树分析(Fault Tree Analysis, FTA)的核心目标之一,是从顶事件(系统级故障)出发,逐层追溯到底事件(元器件失效、人为差错、环境因素等),从而识别出导致系统失效的所有可能路径。然而,一棵完整的故障树往往包含数十甚至上百个底事件,直接阅读和推理十分困难。定性分析的价值在于:通过数学方法将故障树化简为若干“最小”的组合或路径,使工程师能够聚焦于真正关键的失效模式。本章将深入讲解最小割集与最小路集的定义、三种主流求解方法(布尔代数法、下行法、上行法),并结合工业案例说明其在故障诊断中的实际应用。
4.1 核心原理:从割集到最小割集,从路集到最小路集
在故障树中,割集(Cut Set)是指一组底事件的集合,当这组底事件全部发生时,顶事件必然发生。例如,在一个“或门”连接的故障树中,任意一个底事件发生即可导致顶事件发生,因此每个底事件单独构成一个割集。而最小割集(Minimal Cut Set)则是指:在该割集中去掉任意一个底事件后,剩余集合不再构成割集。换言之,最小割集是“刚刚好”能引发顶事件的最小组合,不含任何冗余事件。
与之对偶的是路集(Path Set),它是指一组底事件的集合,当这组底事件全部不发生时,顶事件必然不发生。最小路集(Minimal Path Set)则是去掉任意一个底事件后,剩余集合不再构成路集的最小组合。从工程语义上看,最小割集描述了“哪些失效组合会击穿系统”,而最小路集描述了“哪些关键部件必须保持正常才能保住系统”。
两者之间存在严格的数学对偶关系:将故障树中的“与门”替换为“或门”、“或门”替换为“与门”,并将所有事件取反,即可得到对应的成功树。成功树的最小割集就是原故障树的最小路集。这一性质使得工程师只需掌握一种求解方法,即可通过转换获得另一组结果。
4.2 求解方法:布尔代数法、下行法(Fussell-Vesely)与上行法(Semanderes)
求解最小割集与最小路集有三种经典方法,每种方法各有适用场景。布尔代数法适合手工推导小型故障树,下行法和上行法更适合编程实现或处理中型故障树。
4.2.1 布尔代数法
布尔代数法的核心是利用布尔运算规则(交换律、结合律、分配律、吸收律、幂等律等)对故障树的布尔表达式进行化简。具体步骤如下:
- 从顶事件开始,将逻辑门用布尔运算符表示:或门用“+”(逻辑或),与门用“·”(逻辑与)。
- 逐层向下代入,直到所有中间事件都被底事件替换。
- 利用吸收律(A + A·B = A)和幂等律(A + A = A)消除冗余项。
- 最终得到的每个乘积项即为一个最小割集。
例如,某故障树表达式为:T = M1 + M2,M1 = A·B,M2 = A·C。代入得 T = A·B + A·C = A·(B + C)。此时最小割集为 {A, B} 和 {A, C}。注意,如果表达式出现 A·B + A·B·C,则根据吸收律,A·B·C 被吸收,最小割集仅为 {A, B}。
4.2.2 下行法(Fussell-Vesely算法)
下行法是一种自顶向下的逐层展开方法,特别适合计算机编程实现。其基本思路是:从顶事件开始,遇到或门就将输入事件纵向排列(增加割集数量),遇到与门就将输入事件横向排列(增加割集阶数)。具体步骤:
- 将顶事件作为第一行。
- 从顶事件开始逐行处理:若当前行是或门,则将该门的每个输入事件分别替换到新行中(行数增加);若当前行是与门,则将该门的所有输入事件合并到同一行中(列数增加)。
- 重复上述过程,直到所有行中只包含底事件。
- 删除包含其他割集的超集(即非最小割集),剩余即为最小割集。
下行法的优势在于直观、不易出错,且不需要记忆复杂的布尔代数规则。实际工程中,使用软件(如CAFTA、RiskSpectrum)求解时,下行法是底层核心算法之一。
4.2.3 上行法(Semanderes算法)
上行法是一种自底向上的方法,从最底层的事件开始,逐层向上代入。其步骤为:
- 将每个底事件用其编号或符号表示。
- 从最底层逻辑门开始,用布尔表达式表示该门的输出。
- 将下层门的输出代入上层门的输入,逐层化简。
- 最终得到顶事件的布尔表达式,再通过吸收律化简得到最小割集。
上行法适合手工计算小型故障树,且能直观地看到中间事件的化简过程。但当事树规模较大时,表达式会迅速膨胀,需要借助计算机进行符号化简。
| 方法 | 方向 | 核心操作 | 适用规模 | 优点 | 局限 |
|---|---|---|---|---|---|
| 布尔代数法 | 自顶向下 | 逻辑门转布尔表达式,化简 | 小型(<20个底事件) | 数学严谨,可手工推导 | 表达式易膨胀,易出错 |
| 下行法 | 自顶向下 | 或门纵向展开,与门横向展开 | 中型(20-100个底事件) | 直观,适合编程 | 需删除超集,步骤较多 |
| 上行法 | 自底向上 | 逐层代入,布尔化简 | 小型至中型 | 中间过程清晰 | 大规模时计算量大 |
4.3 案例拆解:某型工业机器人伺服驱动器过流故障
为帮助理解三种方法的应用,我们以一个简化的工业机器人伺服驱动器过流故障为例。该驱动器由三个主要模块组成:功率模块(IGBT)、电流采样电路(霍尔传感器)、控制板(DSP)。顶事件为“驱动器过流跳闸”(T)。
故障树逻辑关系如下:
- T = M1 + M2(或门):过流跳闸由“硬件故障”或“软件误触发”引起。
- M1 = A·B(与门):硬件故障需要“IGBT短路”(A)和“霍尔传感器失效”(B)同时发生。
- M2 = C + D(或门):软件误触发由“DSP程序跑飞”(C)或“电流采样噪声过大”(D)引起。
使用布尔代数法:T = A·B + C + D。由于 C 和 D 是单事件项,且 A·B 无法被吸收,因此最小割集为 {A, B}、{C}、{D}。其中 {C} 和 {D} 是一阶最小割集,风险最高。
使用下行法:从 T 开始,T 是或门,纵向展开为 M1、M2 两行。M1 是与门,横向展开为 A、B 两列;M2 是或门,纵向展开为 C、D 两行。最终得到三行:{A, B}、{C}、{D}。检查无超集,即为最小割集。
使用上行法:从底层开始,M1 = A·B,M2 = C + D,T = M1 + M2 = A·B + C + D。化简后得到相同结果。
在故障诊断中,最小割集给出了明确的排查顺序:首先检查 C(DSP程序)和 D(采样噪声),因为它们是单点故障;如果两者均正常,再检查 A 和 B 是否同时失效。实际排障时,工程师通过示波器测量霍尔传感器输出,发现噪声尖峰超过阈值(D 发生),更换屏蔽电缆后故障消除。整个过程从定位到解决仅耗时 40 分钟,而如果盲目检查 IGBT 和传感器,可能需要数小时。
4.4 最小路集在故障诊断中的互补作用
最小路集虽然不如最小割集常用,但在系统健康管理和预防性维护中具有独特价值。最小路集告诉我们:为了保证系统正常运行,哪些关键部件必须全部正常。例如,在上述伺服驱动器中,最小路集为 {A, C}、{A, D}、{B, C}、{B, D}。这意味着要避免过流跳闸,至少需要保证 A 和 C 同时正常,或 A 和 D 同时正常,以此类推。
在制定预防性维护计划时,工程师可以针对最小路集中的关键部件(如 A 和 C)设置更短的检测周期。例如,IGBT 的结温监测和 DSP 的看门狗定时器检查可以每 500 小时进行一次,而霍尔传感器的校准可以延长至 2000 小时。这种基于路集的差异化维护策略,比“一刀切”的定期更换更经济高效。
4.5 常见误区与总结复盘
总结复盘:最小割集与最小路集是故障树定性分析的两大支柱。最小割集揭示了系统失效的最小触发组合,是故障诊断、可靠性设计和FMEA(失效模式与影响分析)的重要输入;最小路集则从“保持正常”的视角提供了预防性维护的优化依据。三种求解方法各有优劣:布尔代数法适合教学和小型系统,下行法适合编程实现,上行法适合手工推导。在实际工程中,建议先用软件(如CAFTA)自动求解,再结合工程经验对结果进行合理性校验,特别是关注一阶割集和共因失效风险。掌握这些方法,工程师就能从繁杂的故障树中快速提取关键信息,实现精准、高效的故障定位。