第4章:功能失效与危害关联——功能失效模式分析
好,咱们进入第4章。前面我们聊了怎么识别危害,但有个关键问题:危害到底是怎么来的?
说白了,危害不是凭空冒出来的。它一定源于某个功能的失效。你想想看,一个刹车系统如果正常工作,怎么会导致车辆失控?只有它失效了,才会出事。
这一章,我就带你搞清楚三件事:
- 功能失效模式有哪些?
- 怎么把失效和危害挂上钩?
- 失效的触发条件是什么?
4.1 功能失效模式:不只是“坏了”那么简单
很多人一听到“失效”,第一反应就是“东西坏了”。其实没那么简单。我在项目中遇到过不少情况,功能本身没坏,但就是不该动的时候动了,或者该动的时候没动,这都算失效。
根据ISO 26262,功能失效模式主要分这么几类:
| 失效模式 | 含义 | 举个栗子 |
|---|---|---|
| 功能丧失 | 该干活的时候不干活 | 踩刹车没反应 |
| 功能误触发 | 不该干活的时候瞎干活 | 没踩刹车,它自己刹了 |
| 功能降级 | 干活了,但没干到位 | 刹车力度只有一半 |
| 功能延迟 | 反应太慢 | 踩下去1秒后才开始制动 |
| 功能不稳定 | 时好时坏,间歇性抽风 | 刹车有时灵有时不灵 |
重点来了:同一个功能,不同的失效模式,可能导向完全不同的危害。比如“刹车功能丧失”可能导致追尾,而“刹车误触发”可能导致后车追你尾。所以分析的时候,每种失效模式都要单独过一遍。
4.2 功能失效与危害的关联:搭桥的艺术
好,现在我们知道失效模式有哪些了。下一步就是:怎么把失效和危害连起来?
我个人习惯用“失效→系统行为→危害”这个链条来思考。举个例子:
- 失效:转向助力功能丧失
- 系统行为:方向盘变得很重,驾驶员需要花很大力气才能转动
- 危害:在高速行驶时,驾驶员可能无法及时避让障碍物,导致碰撞
你看,这样一梳理,逻辑就清楚了。我建议你在做HARA的时候,也画这么一条链。别嫌麻烦,这一步做扎实了,后面风险等级判定就顺了。
我的小技巧:用表格把“失效模式”和“危害”一一对应起来。比如:
| 功能 | 失效模式 | 关联危害 |
|---|---|---|
| 制动 | 功能丧失 | 无法减速,追尾 |
| 制动 | 误触发 | 非预期减速,后车追尾 |
| 转向 | 功能丧失 | 无法转向,偏离车道 |
这样一目了然,评审的时候也方便别人理解。
4.3 触发条件:失效不是无缘无故的
嗯,这里要注意:功能失效不是自己蹦出来的。它一定有个触发条件。搞清楚触发条件,你才能知道怎么预防。
触发条件一般分三类:
- 硬件故障:比如传感器坏了、线束断了、芯片烧了。我记得有一次,一个项目里刹车灯开关的触点氧化了,导致刹车信号时有时无,这就是典型的硬件触发。
- 软件错误:比如逻辑写错了、时序没对上、数据溢出。我曾经遇到过,一个控制算法在特定工况下会进入死循环,导致功能完全卡死。
- 环境因素:比如温度太高、电磁干扰、振动过大。你想想看,一个传感器在-40°C和85°C下的表现能一样吗?
避坑指南:我曾经犯过一个错——只考虑了单一故障,忽略了组合故障。比如传感器故障+软件容错逻辑失效,两个同时发生才导致危害。所以分析触发条件时,别只盯着单点,也要想想“如果两个都坏了会怎样”。
4.4 实战演练:拿“自适应巡航”开刀
光说不练假把式。咱们拿一个实际功能——自适应巡航(ACC)——来走一遍流程。
功能描述:ACC根据前车速度自动调整本车速度,保持安全距离。
第一步:列出失效模式
- 功能丧失:ACC完全不起作用
- 误触发:没有前车,却突然减速
- 降级:跟车距离过大或过小
- 延迟:前车减速了,ACC反应慢半拍
第二步:关联危害
| 失效模式 | 系统行为 | 危害 |
|---|---|---|
| 功能丧失 | 驾驶员未接管,车辆不减速 | 追尾前车 |
| 误触发 | 无前车时突然急刹 | 后车追尾本车 |
| 降级(距离过小) | 跟车太近 | 制动距离不足,追尾 |
| 延迟 | 前车减速后ACC才反应 | 制动过晚,追尾 |
第三步:分析触发条件
- 功能丧失:雷达故障、电源掉电、软件崩溃
- 误触发:雷达误检测(比如把路牌当车)、软件逻辑bug
- 降级:标定参数错误、传感器精度下降
- 延迟:处理器负载过高、通信延迟
你看,这么一分析,整个逻辑链条就清晰了。每个失效模式都有对应的危害,每个危害都有可能的触发条件。后面做风险等级判定的时候,你就能直接拿这些数据去评估严重度、暴露率和可控性了。
4.5 本章小结
好,咱们捋一捋这章的核心:
- 功能失效模式不止一种,要逐个分析
- 失效→系统行为→危害这个链条是核心思路
- 触发条件要覆盖硬件、软件、环境三方面
- 别忘了考虑组合故障
下一章,咱们就拿着这些分析结果,开始做风险等级判定。到时候你会感谢自己今天把这一步做扎实了。
嗯,今天就到这儿。回去拿你们项目里的一个功能,按这个流程走一遍,下周咱们讨论。