3. 故障注入核心概念
在虚拟样机中做故障注入,最容易混淆的不是工具操作,而是概念边界。很多团队把“扰动”“故障”“错误”“失效”当成同义词使用,结果在建模时把外部干扰注入到内部状态变量上,或者在验证时把性能下降误判为功能失效,导致测试结论无法追溯。本节先把这五个概念的关系理清,再给出故障模式的分类方法,最后说明故障注入在V模型中的位置。
一、五个概念的定义与因果链
在可靠性工程与功能安全领域,这五个概念构成一条从“外部原因”到“可观测后果”的因果链,方向是单向的:
- 扰动(Disturbance):来自系统边界之外、非设计预期的输入或环境作用。例如路面激励、电磁干扰、环境温度突变、供电电压波动。扰动本身不是系统缺陷,它只是“外部施加的作用”。
- 故障(Fault):系统内部某个部件、信号或软件状态偏离了设计规定的行为。故障是“内部异常状态”,例如传感器增益漂移、执行器卡滞、CAN报文丢失、控制参数被错误写入。
- 错误(Error):故障在系统内部传播后,导致某个中间变量、计算结果或数据与正确值不一致。错误是“故障在信息层面的表现”,例如滤波后的车速估计值偏离真实值、PID积分项饱和。
- 失效(Failure):系统在规定的条件下无法完成规定功能,或功能指标超出允许范围。失效是“对外可观测的功能丧失或降级”,例如制动距离超标、转向助力完全丢失。
- 边界条件(Boundary Condition):系统正常工作的参数范围与约束,包括输入范围、环境范围、时序约束、负载范围。边界条件定义了“正常”与“异常”的分界。
它们的关系可以概括为:扰动作用于系统,可能触发或加剧故障;故障在系统内部传播形成错误;错误若未被抑制,最终表现为失效。边界条件则决定了这条链在什么范围内被触发、在什么范围内被容忍。故障注入的本质,就是在虚拟样机中人为制造“故障”或“扰动”,观察错误如何传播、是否越过边界条件、最终是否导致失效。
二、故障模式分类
故障模式是故障在具体对象上的表现形式。虚拟样机中常用的分类维度有三个,它们可以组合使用,形成故障注入用例的坐标系。
按时间行为分类:永久故障(如传感器断路、执行器卡死)、间歇故障(如接触不良、偶发丢帧)、瞬态故障(如单粒子翻转、短时电压跌落)。永久故障适合用常量偏置或固定值替换建模;间歇故障需要用随机过程或马尔可夫链描述其出现概率与持续时间;瞬态故障则用脉冲或定时触发。
按数值表现分类:偏置故障(输出叠加固定偏差,如 +5%)、增益故障(输出乘以系数,如 1.2 倍)、卡滞故障(输出冻结在某一值)、漂移故障(输出随时间线性或非线性偏移)、噪声故障(输出叠加随机噪声)、丢帧故障(信号周期性缺失)。这六类在Simulink、AMESim等工具中都有对应的注入模块或可通过查表、开关、随机数组合实现。
按对象层级分类:部件级故障(单个传感器、执行器、控制器)、信号级故障(总线报文、硬线信号)、系统级故障(供电网络、通信网络、冗余通道切换失败)。层级越高,故障传播路径越长,越需要关注错误在层级间的传递与放大。
| 分类维度 | 典型模式 | 建模方式 | 观察重点 |
|---|---|---|---|
| 时间行为 | 永久/间歇/瞬态 | 常量替换、随机过程、脉冲触发 | 故障持续时间与恢复行为 |
| 数值表现 | 偏置/增益/卡滞/漂移/噪声/丢帧 | 加法、乘法、冻结、斜坡、随机叠加、开关 | 错误幅值与传播速度 |
| 对象层级 | 部件级/信号级/系统级 | 模块替换、信号注入、网络仿真 | 跨层级传播与抑制效果 |
三、故障注入在V模型中的位置
V模型左侧是设计分解,右侧是集成验证。故障注入不是只出现在某一侧,而是贯穿左右两侧,但目的不同。
在左侧设计阶段,故障注入用于“设计验证”:在系统架构设计、部件选型、控制策略开发时,通过注入预期故障,检查设计是否具备足够的容错能力、冗余切换是否可靠、安全机制是否在正确时机触发。此时注入的故障来自FMEA或安全分析中识别出的故障模式,属于“已知故障的主动验证”。
在右侧集成验证阶段,故障注入用于“确认与验收”:在部件集成、系统集成、整车/整机验证时,注入故障并观察系统响应是否满足安全目标与功能指标。此时更关注故障传播路径、边界条件是否被正确覆盖、诊断覆盖率是否达标。
在虚拟样机中,故障注入通常落在V模型右侧的模型在环(MIL)、软件在环(SIL)、硬件在环(HIL)环节。MIL阶段注入的是模型级故障,用于快速验证控制逻辑;SIL阶段注入的是代码级故障,用于验证软件实现;HIL阶段注入的是电气级故障,用于验证真实控制器与虚拟被控对象的交互。越往右,故障注入的保真度越高,但迭代速度越慢,因此需要在左右之间做权衡。
四、边界条件与故障注入的关系
边界条件不是故障,但它决定了故障是否被触发、错误是否被放大、失效是否发生。例如,一个增益漂移故障在低速小转角工况下可能只造成微小误差,不越过边界;但在高速大转角工况下,同样的增益漂移可能使估计值超出安全阈值,触发失效。因此,故障注入用例必须与边界条件组合设计:同一故障模式,在不同边界条件下应产生不同的预期结果。
在虚拟样机中,边界条件通常以参数扫描、工况矩阵或场景序列的方式实现。例如,将车速设为 20/60/100 km/h,转角设为 30°/90°/150°,温度设为 -20/25/80 ℃,组合成工况矩阵,再在每个工况点注入同一组故障模式,观察失效边界是否与设计目标一致。这样得到的不是单点结论,而是一张“故障—边界—结果”的映射表,可直接用于安全论证与测试覆盖度评估。
总结来说,扰动、故障、错误、失效构成一条从外到内、再从内到外的因果链,边界条件定义了这条链的触发与容忍范围;故障模式分类提供了注入用例的设计维度;V模型则给出了故障注入在不同阶段的定位与目的。理解这三者的关系,是后续设计故障注入用例、搭建注入环境、判读注入结果的基础。