1. 课程导入
在工业控制、汽车电子、医疗设备、轨道交通与机器人系统中,功能安全的核心诉求并不是“永不出错”,而是“出错之后仍然安全”。安全状态机(Safety State Machine)与故障降级设计(Fault Degradation Design)正是把这一诉求落到可执行逻辑、可验证状态与可度量指标上的关键方法。本章作为全课程导入,先建立统一的概念坐标系,再给出学习目标、知识框架与工程价值判断标准。
一、核心定义:什么是安全状态机与故障降级
安全状态机是一种显式描述系统安全相关状态、迁移条件、迁移动作与安全约束的有限状态模型。它把“系统当前处于什么安全等级、允许执行哪些动作、在什么条件下必须切换”表达为可审查、可实现、可测试的状态迁移关系。与普通业务状态机不同,安全状态机的每个状态都必须绑定安全目标、故障假设与降级出口。
故障降级设计是指在检测到故障、异常或安全约束被破坏时,系统按照预设策略从高能力状态逐级退化为低风险状态,直至进入安全状态(Safe State)的设计过程。降级不是简单“停机”,而是有层次、有优先级、有恢复路径的风险收敛过程。
二、整体知识框架:从需求到验证的六层结构
本课程的知识框架可划分为六个层次:安全需求与危害分析、安全状态建模、故障检测与诊断、降级策略与优先级、状态机实现与调度、验证与确认。下图给出各层之间的输入输出关系与工程对象,帮助你在后续章节中定位每个知识点所处的位置。
三、方法流程:从故障发生到安全状态的四步闭环
工程上,故障降级通常遵循“检测—判定—降级—恢复”四步闭环。每一步都必须有明确的输入、输出与时间约束,否则状态机将退化为不可验证的“if-else 堆叠”。
- 检测:通过传感器冗余、心跳、看门狗、CRC、超时等机制发现异常,输出故障标志与置信度。
- 判定:根据故障类型、严重度与持续时间,判断是否满足降级触发条件,并进行优先级仲裁。
- 降级:执行状态迁移,关闭高风险功能、限制输出能力、切换至备用通道或进入安全状态。
- 恢复:在故障消失且满足恢复条件后,按预设路径逐级恢复,避免直接跳回高能力状态。
安全状态机迁移示例(伪代码)
state = NORMAL
on fault_detected(fault):
if fault.severity == HIGH and fault.duration >= T_confirm:
state = DEGRADED_L2
elif fault.severity == MEDIUM:
state = DEGRADED_L1
on state == DEGRADED_L2:
disable_high_risk_actuator()
enter_safe_state()
on fault_cleared and recovery_condition_met:
state = DEGRADED_L1 # 逐级恢复,不直接回 NORMAL
四、案例场景:线控转向系统的降级路径
以线控转向系统为例,正常状态下方向盘与转向执行器通过电信号解耦控制。当转角传感器出现合理性故障时,系统不应立即失效,而应进入降级模式:限制转向角速度、降低助力增益、点亮告警,并请求驾驶员接管。若故障持续恶化,则进入最小风险状态,如保持当前转向角并缓慢减速。
| 状态 | 触发条件 | 系统行为 | 安全目标 |
|---|---|---|---|
| NORMAL | 无故障 | 全功能转向,正常助力 | 保持操控性 |
| DEGRADED_L1 | 单传感器偏差 | 限制角速度,降增益,告警 | 可操控但降性能 |
| DEGRADED_L2 | 双传感器失效 | 固定转向角,缓慢减速 | 避免失控 |
| SAFE_STATE | 严重故障持续 | 切断高风险输出,进入安全状态 | 人员与设备安全 |
五、常见误区与复盘要点
误区二:只设计降级,不设计恢复。缺少恢复路径会导致系统长期停留在低能力状态,可用性下降。
误区三:状态迁移条件模糊。使用“大约”“可能”等描述,导致实现与验证无法对齐。
误区四:忽略降级时间。安全状态必须在规定时间内可达,否则安全目标不成立。
六、工程价值与学习目标
掌握安全状态机与故障降级设计,能够带来三方面工程价值:第一,把安全需求转化为可执行、可测试的运行时逻辑;第二,在故障发生时以可控方式收敛风险,避免灾难性失效;第三,为功能安全认证提供状态覆盖、迁移覆盖与故障注入证据。
本课程学习目标如下:
- 理解安全状态机、安全状态、故障降级、最小风险状态等核心概念。
- 掌握从危害分析到状态建模、降级策略、实现与验证的完整流程。
- 能够设计包含检测、判定、降级、恢复的安全状态迁移逻辑。
- 能够使用状态覆盖、迁移覆盖与故障注入方法验证降级设计。
- 能够识别并规避降级设计中的常见误区。