2、危害分析与风险评估(HARA):HARA方法论、运行场景定义、危害识别、风险评估与ASIL等级确定
好,咱们进入正题。HARA,全称 Hazard Analysis and Risk Assessment,中文叫危害分析与风险评估。这玩意儿是功能安全里最核心、也是最容易翻车的一步。我见过太多项目,前期HARA做得马马虎虎,后期改得死去活来。说白了,HARA就是回答三个问题:
- 车会不会出事儿?(危害识别)
- 出事儿有多严重?(风险评估)
- 我们得做到多安全?(ASIL等级)
嗯,咱们一个一个来拆解。
2.1 HARA方法论:别把它当成填表游戏
很多人觉得HARA就是拉个Excel表格,填几个参数就完事儿了。我告诉你,千万别这么干。HARA的本质是系统性的推理,不是填空题。
我个人习惯把HARA分成四个步骤:
- 场景定义:车在什么情况下会出问题?
- 危害识别:系统失效会导致什么危险?
- 风险评估:这个危险发生的概率和严重程度如何?
- ASIL定级:根据风险,确定安全等级。
你想想看,如果场景都没想清楚,后面的危害识别就是瞎蒙。我在项目中遇到过,有人把“车辆正常行驶”当成唯一场景,结果漏掉了“倒车入库”、“高速超车”这些关键场景。最后评审时被安全审计师怼得哑口无言。
2.2 运行场景定义:把“可能出事”变成“具体怎么出事”
运行场景,说白了就是描述“车在什么状态下,遇到了什么情况”。ISO 26262里要求我们考虑:
- 车辆状态:行驶中、静止、停车、充电、维修模式?
- 环境条件:白天/黑夜、晴天/雨天/雪天、隧道/高架/普通路面?
- 驾驶员行为:正常驾驶、分心、疲劳、误操作?
- 其他交通参与者:行人、自行车、其他车辆、动物?
举个例子,咱们分析一个“电子助力转向系统(EPS)”。你不能只说“转向失效”。你得说:
场景A: 车辆以60km/h在城市快速路行驶,天气晴朗,驾驶员准备变道。此时EPS突然失去助力,方向盘变得很重。驾驶员需要用力才能转动方向盘。
场景B: 车辆在停车场低速倒车入库,地面湿滑。EPS突然输出一个错误的转向角度,导致车辆撞向旁边的车辆。
你看,同一个“转向失效”,在不同场景下,后果完全不一样。场景A可能只是驾驶员费力,场景B可能直接导致碰撞。所以,场景定义越具体,后面的风险评估越准确。
2.3 危害识别:找到那个“万一”
危害识别,就是找出系统失效后,会对人造成什么伤害。记住,我们关注的是对人的伤害,不是对车的伤害。车坏了可以修,人受伤了可不行。
常见的危害类型包括:
- 人身伤害:碰撞、碾压、电击、烧伤
- 健康损害:有毒气体泄漏、电磁辐射
- 财产损失:车辆损坏、公共设施损坏(这个一般不算功能安全的核心,但也要考虑)
我习惯用“HAZOP”的思路来做危害识别。就是对着系统功能,一个个问:
- 如果这个功能不执行,会怎样?
- 如果这个功能执行错误,会怎样?
- 如果这个功能在不该执行的时候执行,会怎样?
举个例子,对于“自动紧急制动(AEB)”系统:
| 功能 | 失效模式 | 危害 |
|---|---|---|
| 自动紧急制动 | 不执行(需要刹车时没刹车) | 车辆追尾,导致乘员受伤 |
| 自动紧急制动 | 执行错误(刹车力度过大或过小) | 车辆失控或制动距离过长,导致碰撞 |
| 自动紧急制动 | 误触发(不需要刹车时突然刹车) | 后车追尾,或乘员因急刹受伤 |
嗯,这里要注意,危害识别一定要具体到“伤害”层面。比如“车辆追尾”不是危害,“乘员颈部受伤”才是危害。我们最终要评估的是“乘员颈部受伤”的严重程度。
2.4 风险评估与ASIL等级确定:三个参数定生死
风险评估,ISO 26262给了我们三个参数:
- S(Severity):严重度。伤害有多重?轻伤、重伤、致命?
- E(Exposure):暴露概率。这个场景发生的频率高不高?
- C(Controllability):可控性。驾驶员或其他人员能避免伤害吗?
ASIL等级就是由S、E、C三个参数组合决定的。等级从低到高分别是:QM、ASIL A、ASIL B、ASIL C、ASIL D。QM就是质量管理,不需要额外功能安全措施。ASIL D是最严格的,比如刹车、转向这类系统。
我给大家一个快速参考表:
| 参数 | 等级 | 说明 |
|---|---|---|
| S(严重度) | S0 | 无伤害 |
| S1 | 轻伤(可恢复) | |
| S2 | 重伤(可能危及生命,但可存活) | |
| S3 | 致命(危及生命,存活概率低) | |
| E(暴露概率) | E0 | 几乎不可能 |
| E1 | 非常低(每年几次) | |
| E2 | 低(每月几次) | |
| E3 | 中等(每周几次) | |
| E4 | 高(几乎每次驾驶都会遇到) | |
| C(可控性) | C0 | 完全可控 |
| C1 | 简单可控(大多数驾驶员能应对) | |
| C2 | 一般可控(部分驾驶员能应对) | |
| C3 | 难以控制(大多数驾驶员无法应对) |
然后,根据S、E、C的组合,查表得到ASIL等级。这个表在ISO 26262-3的附录里有,我就不贴了。我给大家一个简化版的判断逻辑:
- S3 + E4 + C3 → 几乎肯定是 ASIL D
- S2 + E3 + C2 → 可能是 ASIL B 或 ASIL C
- S1 + E2 + C1 → 大概率是 QM 或 ASIL A
2.5 实战案例:一个简单的HARA示例
咱们拿“车窗防夹功能”来练练手。假设这是一个电动车窗,有防夹功能。
场景定义: 车辆静止,后排儿童在玩耍。驾驶员在驾驶位,未注意到后排情况。儿童将头伸出车窗,此时驾驶员按下车窗上升按钮。
危害识别: 如果防夹功能失效,车窗会继续上升,夹住儿童的颈部,导致窒息或严重伤害。
风险评估:
- S(严重度):S3(致命伤害,窒息)
- E(暴露概率):E2(儿童乘车场景,每月几次)
- C(可控性):C2(驾驶员可能无法及时观察到,儿童也无法自救)
ASIL等级: 查表,S3+E2+C2 → ASIL B。
你看,一个看似简单的车窗,因为涉及儿童安全,也需要ASIL B等级。所以,别小看任何一个功能。
好了,这一章的内容就到这里。HARA是功能安全的基石,花再多时间都值得。下一章,咱们聊聊如何把ASIL等级分解到具体的技术安全需求上。到时候见。