第二章 危害识别方法论:功能故障与危害的关系、系统边界定义、运行场景与模式分析

各位工程师朋友,欢迎来到HARA分析实战的第二章。上一章我们聊了HARA的基本概念,说白了就是搞清楚「什么东西会要人命」。这一章我们深入一点,讲讲怎么系统性地把危害找出来。

我个人习惯把危害识别比作「排雷」。你不可能拿着探雷器满场乱跑,得先知道雷区在哪、雷长什么样、什么时候会踩上去。这就是我们这章要解决的问题。

2.1 功能故障与危害的关系

很多新手容易把「功能故障」和「危害」混为一谈。我刚开始做HARA时也犯过这个错。其实它们的关系很简单:功能故障是原因,危害是后果

举个例子:

  • 功能故障:制动系统突然失效,踩刹车没反应
  • 危害:车辆无法减速,导致追尾或碰撞行人

你看,故障是「系统内部出问题了」,危害是「对外界造成伤害了」。中间还隔着一个关键因素——运行场景。同样的故障,在不同场景下危害程度天差地别。

关键公式:

危害 = 功能故障 + 运行场景 + 人员行为

缺任何一个,都不构成完整的危害分析。

我在项目中遇到过这样一个案例:某款电动车的电池管理系统(BMS)有个故障——SOC估算偏差超过10%。在普通城市道路上,这顶多让车主提前充电,没什么大问题。但如果在高速上,SOC突然从30%跳到5%,司机一慌可能急刹车,后果就严重了。

所以,识别危害时别只盯着故障本身。你得问自己:这个故障在什么情况下会伤人?

2.2 系统边界定义

做HARA之前,第一件事就是画边界。边界不清,分析就是一团浆糊。

我建议用「黑盒思维」来定义系统边界。什么意思?就是先别管内部怎么实现的,只关注:

  • 输入是什么?(传感器信号、用户操作、网络数据)
  • 输出是什么?(执行器动作、显示信息、通信报文)
  • 和谁交互?(其他ECU、驾驶员、环境)

举个例子,一个自适应巡航系统(ACC)的边界定义:

边界类型 具体内容
物理边界 ACC控制器、雷达传感器、制动执行器、人机交互界面
功能边界 车速控制、跟车距离保持、目标选择、驾驶员接管请求
通信边界 CAN总线接收车速/转向信号、发送制动/加速请求
环境边界 工作温度-40°C~85°C、雨雾天气、隧道、弯道

小技巧:画边界时,我习惯用一张A4纸,左边写「系统包含什么」,右边写「系统不包含什么」。这样能避免分析范围无限扩大。比如ACC不包含「驾驶员疲劳监测」,那就别把疲劳驾驶的危害算到ACC头上。

边界定义还有个重要作用——明确责任。我曾经参与一个项目,制动系统和转向系统之间的交互边界没划清楚,结果HARA分析时两边互相推诿,最后发现有个危害谁都没覆盖到。嗯,从那以后我每次做HARA,第一件事就是拉着相关团队把边界敲死。

2.3 运行场景与模式分析

危害识别最怕什么?最怕漏场景。你想想看,一个功能在99%的场景下都安全,但偏偏在某个极端场景下出问题,那这1%就是致命伤。

运行场景分析,我把它拆成三个维度:

2.3.1 场景要素

  • 道路环境:高速、城市、乡村、隧道、桥梁、停车场
  • 天气条件:晴天、雨天、雪天、雾天、夜间
  • 交通状况:畅通、拥堵、混合交通、行人密集
  • 车辆状态:静止、低速、高速、转弯、上下坡
  • 驾驶员行为:正常驾驶、分心、疲劳、紧急操作

别小看这些要素。我见过一个案例:某自动紧急制动(AEB)系统在干燥路面上表现完美,但一下雨就频繁误触发。为什么?因为场景分析时漏了「湿滑路面」这个要素。

2.3.2 运行模式

每个系统都有不同的工作模式。拿ACC来说:

  • 待机模式:系统开启但未激活,驾驶员完全控制
  • 激活模式:系统控制车速和跟车距离
  • 超驰模式:驾驶员踩油门或刹车,系统暂时让出控制权
  • 故障模式:系统检测到异常,降级或退出

每个模式下的危害都不一样。比如在待机模式下,ACC误激活可能导致意外加速;在激活模式下,ACC突然退出可能导致追尾。

避坑指南:我曾经在分析一个线控转向系统时,只考虑了「正常转向模式」和「故障降级模式」,漏掉了「手动/自动切换模式」。结果在切换过程中,方向盘突然失去助力,差点造成事故。所以,模式切换瞬间往往是危害高发区,一定要重点分析。

2.3.3 场景组合方法

场景要素这么多,怎么组合才不漏?我推荐用场景矩阵

// 场景矩阵示例(ACC系统)
场景ID | 道路   | 天气 | 交通   | 车速   | 驾驶员
S01    | 高速   | 晴   | 畅通   | 120km/h| 正常
S02    | 高速   | 雨   | 畅通   | 100km/h| 正常
S03    | 城市   | 晴   | 拥堵   | 30km/h | 分心
S04    | 隧道   | 晴   | 混合   | 60km/h | 正常
S05    | 弯道   | 雪   | 稀疏   | 40km/h | 紧张
...

每个场景至少覆盖一个「极端条件」。比如高速+雨天、城市+行人密集、隧道+信号遮挡。我个人习惯先列出10-15个典型场景,再从中筛选出最危险的5-8个做详细分析。

为什么这么做?因为HARA不是越细越好。你分析100个场景,每个都蜻蜓点水,不如深挖10个关键场景。记住:危害识别的目标是找到「最坏情况」,不是穷举所有可能

2.4 实战:从故障到危害的完整链路

最后,我带你走一遍完整的分析流程。假设我们分析的是「电动尾门系统」:

  1. 定义边界:尾门控制器、电机、位置传感器、防夹传感器、开关按钮
  2. 识别功能故障:防夹功能失效、电机过速、位置传感器漂移
  3. 选择运行场景:地下车库(空间狭小)、雨天(地面湿滑)、儿童在场
  4. 分析危害:尾门关闭时夹伤儿童、尾门意外打开导致物品掉落砸人
  5. 确定危害等级:根据严重度、暴露率、可控性打分

你看,每一步都环环相扣。漏掉任何一环,分析结果都可能出问题。

好了,这一章就到这里。下一章我们讲危害的严重度、暴露率和可控性评估——也就是怎么给危害「打分」。到时候我会分享一些实际项目中的打分技巧,保证让你少走弯路。