3、危害分析与风险评估(HARA):HAZOP、FMEA、FTA方法在汽车与工业领域的应用
好,咱们进入正题。这一章聊的是HARA,也就是危害分析与风险评估。说实话,这是整个功能安全流程里最「虚」也最「实」的一步。虚在它全是分析、推理、拍脑袋(当然是有依据的拍),实在它直接决定了你后续安全目标的等级——ASIL还是SIL,全靠这一步定调。
我见过不少团队,上来就闷头写代码、画板子,结果到了认证阶段,审核员问一句「你这个ASIL B是怎么来的?」当场就懵了。嗯,HARA没做透,后面全是补窟窿。所以这一章,咱们把HAZOP、FMEA、FTA这三板斧掰开揉碎了讲。
3.1 HAZOP:从「如果...会怎样」开始
HAZOP,全称是Hazard and Operability Study。这玩意儿最早是化工行业搞出来的,后来被IEC 61508和ISO 26262都收了进去。说白了,它就是一种结构化的头脑风暴。
我个人习惯,做HAZOP之前先拉一张表。表头长这样:
| 引导词 | 偏差 | 可能原因 | 后果 | 现有防护 | 建议措施 |
|---|---|---|---|---|---|
| 无 | 信号丢失 | 传感器断线 | 控制器无输入 | 看门狗定时器 | 增加冗余传感器 |
| 多 | 信号超量程 | 电源干扰 | 误触发执行器 | 软件限幅 | 增加硬件滤波 |
| 早 | 信号提前 | 时钟漂移 | 时序错乱 | 同步机制 | 增加时间戳校验 |
引导词就那么几个:无、多、少、早、晚、反向、部分、伴随。每个引导词对应一个偏差。你想想看,一个刹车信号「无」了会怎样?「多」了会怎样?「早」了会怎样?就这么一个个过。
3.2 FMEA:把「可能出问题的地方」全列出来
FMEA,Failure Mode and Effects Analysis。这玩意儿比HAZOP更细,它是针对每个组件、每个功能去分析失效模式。ISO 26262里特别强调要搞「功能FMEA」和「硬件FMEA」。
我在一个汽车项目里遇到过这么个事:一个油门踏板的传感器,FMEA分析时只考虑了「信号丢失」和「信号超量程」。结果呢?实际路试时发现,传感器在高温下输出会缓慢漂移——既没丢失也没超量程,但就是不准。这就是FMEA没做透的典型。
所以做FMEA,我建议按这个套路来:
- 列出所有功能——比如「采集踏板位置」
- 列出所有失效模式——开路、短路、漂移、卡滞、间歇性故障
- 分析每个失效的后果——对系统、对车辆、对人
- 评估严重度(S)、发生度(O)、探测度(D)——然后算RPN
- 定措施——降低S、O或D
3.3 FTA:从「顶事件」往下挖
FTA,Fault Tree Analysis。这玩意儿跟FMEA正好反过来——FMEA是从下往上推,FTA是从上往下挖。顶事件就是「系统失效」,然后一层层问「什么原因会导致这个失效?」
举个例子,顶事件是「刹车失效」。那下一层可能是「制动液泄漏」或「电子控制单元失效」。再往下,「制动液泄漏」可能是「管路破裂」或「密封圈老化」。就这么一直挖到基本事件。
FTA的好处是,它能帮你算概率。每个基本事件给个失效率,然后通过逻辑门(与门、或门)往上算,就能知道顶事件发生的概率。这在IEC 61508里算SIL等级时特别有用。
// 一个简单的FTA逻辑示例(伪代码)
顶事件: 刹车失效
或门:
- 制动液泄漏
或门:
- 管路破裂 (λ=1e-6/h)
- 密封圈老化 (λ=1e-7/h)
- ECU失效
与门:
- 主芯片失效 (λ=1e-8/h)
- 冗余芯片失效 (λ=1e-8/h)
// 与门意味着两个同时发生才失效,概率更低
3.4 三种方法怎么选?
很多新手会问:我到底该用HAZOP、FMEA还是FTA?我的回答是:全用,但各有侧重。
- HAZOP——适合系统级、概念阶段。快速扫一遍,找出大方向上的危害。
- FMEA——适合详细设计阶段。每个组件、每个功能都过一遍,不漏细节。
- FTA——适合定量分析阶段。算概率、定等级、找薄弱环节。
我个人的项目流程是这样的:先搞一轮HAZOP,定出安全目标。然后针对每个安全目标,做FMEA,找出所有可能的失效模式。最后挑几个关键的失效模式,用FTA做定量分析,算算概率够不够。
你想想看,如果HAZOP漏了一个危害,那后面的FMEA和FTA做得再漂亮,也是白搭。所以第一步一定要扎实。
3.5 避坑指南
做了十几年功能安全,我踩过的坑不少。挑几个典型的说说:
- 「分析」和「测试」混为一谈。 我曾经见过一个团队,FMEA里写「通过测试验证」。这不是分析,这是偷懒。FMEA要写的是「设计上怎么预防」,不是「测试能不能发现」。
- 忽略共因失效。 两个冗余传感器,如果用的是同一批次的元件,那一个坏了另一个大概率也快坏了。FTA里一定要考虑共因失效因子。
- RPN阈值拍脑袋。 很多公司定RPN大于100就要采取措施。但100怎么来的?没人说得清。我建议根据项目实际情况定,别照搬。
好了,这一章就到这。下一章咱们聊安全目标的分解和ASIL的分配,那才是真正开始「落地」的时候。