故障树FTA最小割集分析器|制造业通用工具
这个工具解决什么问题
安全类计算的容错空间很小,因此边界条件会明确提示。
对设备/产线的「顶事件」(停机、报废、安全事故)做故障树定量分析。 门结构(AND/OR)+ 基本事件概率 → 枚举法求最小割集 → 精确顶事件概率 → Fussell-Vesely / Birnbaum / 结构重要度三口径排序。
输入数据格式
数据文件 fta_cutsets.csv,列顺序为:rank、order、cut_set、p_cutset。
示例首行:1,1,E_BREAKER,0.003
示例输出(真实运行结果节选)
故障树 FTA 最小割集分析报告 ======================================================================== 顶事件:真空腔体工艺中断(批次报废风险) 基本事件 9 个;门结构:OR 3 / AND 2 【一、最小割集(按阶数排序)】 1阶 E_BREAKER 割集概率≈0.00300 1阶 E_GRID 割集概率≈0.01000 1阶 E_RECIPE 割集概率≈0.00800 1阶 E_SENSOR 割集概率≈0.00600 1阶 E_UPS 割集概率≈0.00400 2阶 E_NO_SECOND AND E_ALARM_MISS 割集概率≈0.00150 2阶 E_PUMP_B AND E_PUMP_A 割集概率≈0.00040 【二、顶事件概率(全状态精确枚举)】 P(TOP) = 0.032475(每批次发生概率,约合 32475 ppm) 若每批次价值按 1 计,长期期望损失率即 3.25% 【三、重要度排序(三口径)】 事件 FV重要度 Birnbaum 结构重要度 现概率 E_GRID 0.3079 0.9773 0.1429 0.0100 E_RECIPE 0.2463 0.9753 0.1429 0.0080 E_SENSOR 0.1848 0.9734 0.1429 0.0060 E_UPS 0.1232 0.9714 0.1429 0.0040 E_BREAKER
解决什么问题
定性 FMEA 告诉你「有哪些风险」,FTA 回答的是「哪几个元件凑一起真会把整线弄停、 先修哪个最划算」。本工具用全状态枚举给出精确顶事件概率(不是近似上限),并把 改善动作翻译成「失效率减半 → 顶事件降到多少」的量化对比。
使用方法
python fta_analyzer.py
树结构在脚本头部 GATES / BASIC_P 字典里改,改完直接重跑即可。
输出说明
· fta_report.txt:割集清单、精确 P(TOP)、三口径重要度排名、降险优先级 · fta_cutsets.csv:割集表(阶数/组合/概率)
内置示例
真空腔体工艺中断:电网/UPS/断路器 → 电源;双泵冗余;配方/传感器/人为漏判 → 工艺, 共 9 个基本事件。
注意事项
AND 门下事件若存在共因(同电源/同批次),冗余会失效——报告结论里会提示检查共因。 基本事件概率建议来自 FMD/现场数据,不要拍脑袋。
可调参数与计算口径
脚本顶部集中了主要阈值与常量:GATES={、BASIC_P={、TOP_NAME="TOP"、TOP_DESC="真空腔体工艺中断(批次报废风险)"。改完直接重跑即可,不必改动计算逻辑。
会生成哪些文件
运行后除控制台输出外,还会生成:fta_cutsets.csv、fta_report.txt。
脚本里的主要处理步骤
top_true():state: dict 基本事件->True/False。递归求顶事件。
以上步骤在脚本中是分开的函数,可以单独调用或按需替换其中一段,不必整体重写。
工具中出现的字段与提示
- 真空腔体工艺中断(批次报废风险)
- state: dict 基本事件->True/False。递归求顶事件。
- 故障树 FTA 最小割集分析报告
- 顶事件:%s
- 基本事件 %d 个;门结构:OR %d / AND %d
- 【一、最小割集(按阶数排序)】
- %d阶 %-55s 割集概率≈%.5f
- 【二、顶事件概率(全状态精确枚举)】
- P(TOP) = %.6f(每批次发生概率,约合 %.0f ppm)
- 若每批次价值按 1 计,长期期望损失率即 %.2f%%
- 【三、重要度排序(三口径)】
- 【四、降险优先级与工程解读】
- 说明:① 1 阶割集(单点失效)是首要消灭对象——本例 %s;
- ② AND 门下的多阶割集(如双泵)说明冗余在起作用,
- ③ Birnbaum 大而 FV 小的事件:失效率低但一旦失效影响极大,
- 对策是加检测/冗余而不是压失效率。
- ④ 改善后建议重跑本工具验证 P(TOP) 降幅,形成闭环。
下载与文件清单
压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。
主程序文件:fta_analyzer.py。
本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。
常见问题
输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 4 列:rank、order、cut_set、p_cutset。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。
跑完最该关注哪几项?
报告按 一、最小割集(按阶数排序)、二、顶事件概率(全状态精确枚举)、三、重要度排序(三口径)、四、降险优先级与工程解读 等部分组织,其中判定结论与建议部分直接对应下一步动作。
阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。
附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。





