4. 危害识别:功能失效、危害事件、危害分类

好,咱们进入HARA最核心的一步——危害识别。

说白了,这一步就是要回答一个问题:我的系统如果出毛病了,到底会怎么伤害人?

我见过不少新手,上来就对着功能列表猛写“刹车失灵”、“转向卡死”。这太粗糙了。真正的危害识别,需要你把一个抽象的功能失效,翻译成具体的、可感知的危害事件,然后再给它分门别类。

4.1 功能失效:源头在哪里?

一切危害,都源于功能失效。但注意,不是所有失效都会导致危害。比如,车里的空调坏了,你热得满头大汗,这不叫危害(除非中暑导致你撞车)。

功能失效,我习惯把它分成两类:

  • 失效 (Loss of Function):该干活的时候不干活。比如,你踩了刹车,但刹车没反应。
  • 非预期功能 (Unexpected Function):不该干活的时候瞎干活。比如,你没踩刹车,但刹车自己抱死了。

嗯,这里要注意。很多工程师只盯着“失效”看,忽略了“非预期功能”。

避坑指南: 我曾经在一个线控制动项目中,团队花了大量时间分析“刹车失效”,结果实车测试时发现,真正导致事故的是一次“刹车误触发”——车辆在高速巡航时突然自动急刹。所以,请务必把两种失效都列出来。

4.2 危害事件:把失效翻译成场景

光有“刹车失效”还不够。你得问自己:在什么场景下,这个失效会变成危害?

这就是危害事件。它包含三个要素:

  1. 功能失效:比如,制动助力失效。
  2. 运行场景:比如,车辆在高速公路上以120km/h行驶。
  3. 操作条件:比如,驾驶员需要紧急制动避让前车。

你看,同样的“制动助力失效”,在停车场里慢慢挪车,可能只是吓一跳;但在高速上,那就是要命的事。

我个人习惯,在写危害事件时,一定要把场景写具体。不要写“车辆行驶中”,要写“车辆在湿滑路面、夜间、弯道行驶中”。场景越具体,后面的ASIL等级评估就越准确。

实战案例: 我参与过一个EPS(电动助力转向)项目。我们识别出的一个危害事件是:“EPS非预期提供大角度转向助力,导致车辆突然转向,场景为:车辆在高速车道内直线行驶,驾驶员双手轻扶方向盘。”
你看,这个描述就非常清晰,后续的S、E、C参数打分几乎不会产生争议。

4.3 危害分类:给危害贴上标签

危害事件列出来了,接下来就是分类。分类的目的是为了后续的ASIL等级评估做准备。常见的分类维度有:

分类维度 说明 举例
对人员伤害 直接导致乘员、行人受伤 碰撞、碾压
对车辆控制 导致车辆失控或非预期运动 非预期加速、转向锁死
对系统可用性 导致关键功能不可用 制动助力失效、灯光熄灭
对法规合规性 违反功能安全或法规要求 排放超标、功能安全目标未满足

你想想看,这个分类其实是在帮我们理清思路。比如,一个“非预期加速”的危害,它既属于“对车辆控制”,也属于“对人员伤害”。分类不是绝对的,但一定要有逻辑。

我的小技巧: 在做危害分类时,我通常会画一个简单的矩阵。横轴是“失效模式”,纵轴是“运行场景”。然后每个交叉点就是一个潜在的危害事件。这样不容易遗漏。

4.4 实战中的常见误区

最后,我总结几个我在评审中经常看到的坑:

  • 把功能失效当危害事件:比如只写“车门无法打开”,而不写“在车辆落水后,车门无法打开导致乘员无法逃生”。
  • 场景过于笼统:比如“车辆行驶中”。行驶中?是市区还是高速?是白天还是黑夜?这直接影响E(暴露概率)的评估。
  • 忽略组合失效:比如,只分析单个传感器失效,没考虑“传感器失效 + 驾驶员分心”的组合情况。

嗯,说到这里,我想起一个项目。当时我们分析一个自动紧急制动(AEB)系统,只考虑了“雷达失效”和“摄像头失效”的单一情况。结果在实车测试中,发现当雷达和摄像头同时被泥巴遮挡时,系统会进入一个未定义的状态,直接导致车辆不制动。这就是典型的组合失效没识别到。

所以,做危害识别,一定要穷举,要具体,要场景化。别偷懒,这一步做得越扎实,后面的工作就越轻松。