2. 被控对象与验证边界建模
在MIL/SIL/HIL一致性验证中,最容易出问题的环节往往不是仿真工具本身,而是验证边界定义不清:同一个功能,在MIL里验证的是理想模型,在SIL里验证的是带接口的代码,在HIL里验证的是真实控制器加实时被控对象,如果三者的被控对象、接口、激励和观测点没有对齐,那么“一致性”就无从谈起。本节要解决的核心问题是:如何从需求与架构中提取被控对象、接口、激励与观测点,并明确MIL/SIL/HIL各自可验证的边界。
一、从需求中提取“被控对象”
被控对象(Plant)不是控制器,而是控制器输出所作用、并产生反馈的物理或逻辑实体。从需求文档中提取被控对象,可以按“执行器—被控对象—传感器”这条链来梳理。例如某电机控制需求:“MCU输出PWM占空比驱动H桥,控制直流电机转速,霍尔传感器反馈转速,目标转速2000rpm,超调≤5%,稳态误差≤2%”。这里被控对象是直流电机及其负载,执行器是H桥,传感器是霍尔元件,控制器是MCU中的控制算法。
提取时建议建立一张“被控对象清单”,字段包括:对象名称、输入量(来自控制器的驱动信号)、输出量(反馈给控制器的信号)、关键参数(如电机电阻、电感、转动惯量、负载转矩)、工作范围、失效模式。这张清单是后续MIL/SIL/HIL建模的共同基准,任何一层验证都不能随意增删对象或改变参数含义。
二、接口、激励与观测点的提取
接口是控制器与被控对象之间的信号边界。从架构图中提取接口时,要区分三类:驱动接口(控制器→被控对象,如PWM、CAN指令、继电器触点)、传感接口(被控对象→控制器,如ADC采样、编码器脉冲、CAN反馈)、辅助接口(使能、故障、电源状态)。每个接口都要标注方向、数据类型、量程、更新周期和物理单位。
激励是施加在验证边界上的输入,用于激发系统行为。激励分两类:一类是控制指令激励,如目标转速阶跃、模式切换;另一类是环境/扰动激励,如负载突变、电压跌落、温度变化。观测点是用于判断功能正确性的信号,通常包括:控制器输出、被控对象状态、传感器反馈、内部关键变量、故障标志。观测点必须与需求中的验收指标一一对应,例如“超调≤5%”对应转速反馈的峰值观测,“稳态误差≤2%”对应稳态段均值观测。
三、MIL/SIL/HIL的验证边界划分
三层验证的边界差异,本质上是“哪些部分用模型、哪些部分用真实代码、哪些部分用真实硬件”的差异。可以用一张边界对照表来固化:
| 层级 | 控制器 | 被控对象 | 接口 | 可验证内容 | 不可验证内容 |
|---|---|---|---|---|---|
| MIL | 控制算法模型 | 被控对象模型 | 模型信号线 | 算法逻辑、控制律、理想动态 | 代码实现、实时性、硬件接口 |
| SIL | 自动生成/手写C代码 | 被控对象模型 | 代码接口/仿真适配 | 代码与模型一致性、定点/浮点差异 | 真实硬件时序、电气特性 |
| HIL | 真实ECU | 实时仿真模型 | 真实IO/CAN/ADC | 实时性、硬件接口、故障响应 | 真实机械负载、极端环境 |
边界划分的关键原则是:同一观测点在三层中必须语义一致。例如“转速反馈”在MIL中是模型输出变量,在SIL中是代码中的全局变量,在HIL中是ADC采样值,三者的物理含义、量纲、采样周期必须对齐,否则一致性比对就失去意义。
四、边界建模的实操示例
以直流电机转速控制为例,假设需求为:目标转速2000rpm,阶跃响应超调≤5%,稳态误差≤2%,负载转矩在0.1s时从0.05N·m突增至0.15N·m,恢复时间≤0.2s。按以下步骤建立边界模型:
- 被控对象建模:电机电气方程
L·di/dt = u - R·i - Ke·ω,机械方程J·dω/dt = Kt·i - B·ω - TL。示例参数:R=1.2Ω,L=0.5mH,Ke=Kt=0.05V·s/rad,J=1e-5kg·m²,B=1e-6N·m·s/rad。 - 接口定义:驱动接口为PWM占空比(0~100%,更新周期1ms),传感接口为转速(rpm,更新周期1ms),扰动接口为负载转矩TL(N·m)。
- 激励设计:0~0.1s目标转速0→2000rpm阶跃;0.1s时TL由0.05→0.15N·m阶跃;仿真步长0.1ms,总时长0.5s。
- 观测点设置:转速反馈ω_rpm、PWM占空比、电流i、负载转矩TL。超调量取0~0.1s段峰值与2000rpm之差;稳态误差取0.4~0.5s段均值与2000rpm之差;恢复时间取0.1s后转速回到±2%带内的时间。
在MIL中,上述全部用模型实现,可快速验证控制律是否满足超调和稳态误差。在SIL中,控制器替换为C代码,被控对象仍为模型,重点观察代码实现是否引入额外延迟或量化误差。在HIL中,控制器为真实ECU,被控对象模型运行在实时仿真机上,PWM和ADC走真实IO,此时可验证1ms控制周期是否真的被满足、ADC采样噪声是否影响稳态误差。
五、边界一致性检查要点
完成边界建模后,建议做一次“三层对齐检查”,重点核对以下五项:
- 对象对齐:MIL/SIL/HIL的被控对象参数是否来自同一套标定数据,是否允许HIL使用简化模型。
- 接口对齐:信号方向、量纲、采样周期、饱和限幅是否一致,特别是PWM占空比与ADC转速的更新率。
- 激励对齐:阶跃幅值、扰动时刻、仿真步长是否一致,HIL中需考虑实时步长与模型步长的差异。
- 观测点对齐:同一指标在三层中的计算窗口和判据是否相同,例如超调量取峰值还是取滤波后峰值。
- 边界外声明:明确哪些内容不在当前层验证,例如MIL不验证实时性,HIL不验证真实机械磨损。
被控对象与验证边界建模的最终产出,是一份可被三层复用的边界定义文件,它至少包含:被控对象清单及参数、接口清单、激励序列、观测点及判据、各层边界声明。这份文件是后续MIL/SIL/HIL一致性比对的基础,也是排查“同一功能在不同层结果不一致”时的第一手依据。