2. 被控对象与验证需求建模

在 MIL 与 SIL 联合验证中,最容易出问题的环节往往不是仿真跑不起来,而是“验证目标本身没有定义清楚”。如果需求只写成“控制器应能稳定控制被控对象”,那么无论 MIL 还是 SIL,都无法判断仿真结果到底算通过还是失败。因此,本节的核心任务是把真实控制器与被控对象中的工程信息,转化为可验证、可追溯、可判定的需求规格。

一、从真实对象出发,先建立“被控对象模型边界”

验证需求建模的第一步不是写需求,而是明确被控对象(Plant)的边界。以一台直流电机位置伺服系统为例,真实系统包括:控制器(MCU 或 PLC)、驱动器(PWM 功率级)、电机本体、减速机构、编码器、负载惯量以及限位开关。做 MIL 时,控制器和被控对象都在 PC 上以模型形式运行;做 SIL 时,控制器代码编译为可执行程序,被控对象仍以模型运行。因此,被控对象模型必须保留与验证目标相关的动态特性,而不是追求物理上完全还原。

对于位置伺服,被控对象模型至少应包含:电机电气方程、机械转动方程、减速比、编码器量化误差、负载惯量与摩擦。若验证目标涉及安全停车,还必须包含限位开关和制动器响应。边界确定后,才能判断哪些信号是控制器输出、哪些是被控对象反馈、哪些是外部扰动。

二、功能需求:从“动作”到“可观测判据”

功能需求描述系统“必须做什么”。以位置伺服为例,典型功能需求包括:

  • 当目标位置阶跃变化时,控制器应驱动电机使实际位置在指定时间内进入允许误差带;
  • 当限位开关触发时,控制器应停止 PWM 输出并进入安全状态;
  • 当编码器信号丢失时,控制器应输出故障标志并关闭使能。

这些需求之所以可验证,是因为每条都包含触发条件、期望动作和可观测判据。例如第一条可细化为:目标位置从 0° 阶跃到 90°,允许误差带为 ±0.5°,要求 0.8 s 内进入误差带并保持 0.2 s 不越界。这样在 MIL/SIL 中就可以直接采集位置曲线并自动判定。

三、性能需求:把“快、准、稳”变成参数

性能需求描述“做得多好”。它通常以量化指标出现,并与被控对象参数强相关。仍以位置伺服为例,可定义:

性能项示例指标验证信号
上升时间0°→90° 的 10%~90% 时间 ≤ 0.35 s位置反馈
稳态误差稳态后 |误差| ≤ 0.1°位置误差
超调量最大超调 ≤ 5%位置峰值
抗扰恢复施加 0.2 N·m 负载扰动后 0.5 s 内恢复至 ±0.5°位置误差

这些指标不能孤立设定,必须与被控对象能力匹配。例如电机额定转矩为 0.5 N·m、负载惯量为 2×10⁻⁴ kg·m²,若要求上升时间 0.05 s,则所需加速度可能超出驱动器电流限幅,需求本身不可实现。因此性能需求建模必须结合被控对象参数做可行性校核。

四、安全需求:独立于功能,必须可触发、可观测

安全需求描述“发生异常时必须怎样”。它不能依附于功能需求,而应独立定义触发条件和安全反应。例如:

  • 当位置超过软限位 +95° 时,控制器应在 20 ms 内将 PWM 占空比置零;
  • 当使能信号为低时,驱动器输出必须为高阻态;
  • 当看门狗超时,控制器应进入故障状态并点亮故障指示。

安全需求的验证重点在于“故障注入”。在 MIL 中可通过模型强制置位故障信号;在 SIL 中可通过接口注入错误编码器值或拉低使能。判定依据是安全反应时间、输出状态和故障标志是否与需求一致。

五、形成可追溯的验证需求规格

把上述三类需求整理成验证需求规格时,每条需求应具备唯一编号、来源、验证方法、通过判据和关联测试用例。例如:

REQ-F-001  功能  目标位置阶跃响应
来源:系统功能定义 3.2
验证方法:MIL/SIL 阶跃响应测试
判据:0.8 s 内进入 ±0.5° 并保持 0.2 s
关联用例:TC-STEP-001

REQ-P-002  性能  上升时间
来源:控制性能指标 4.1
验证方法:MIL/SIL 阶跃响应测试
判据:10%~90% 上升时间 ≤ 0.35 s
关联用例:TC-STEP-001

REQ-S-003  安全  软限位保护
来源:安全需求 5.4
验证方法:MIL/SIL 故障注入
判据:位置 > 95° 后 20 ms 内 PWM = 0
关联用例:TC-SAFE-002

这样形成的规格既能被 MIL 使用,也能被 SIL 复用,并且每条需求都能追溯到真实对象中的信号和参数。

从真实对象到可追溯验证需求规格 真实控制器与被控对象 控制器 驱动器 电机+减速 编码器 限位开关 / 制动器 / 负载 提取 三类验证需求 功能需求:动作与判据 阶跃响应 / 限位停车 / 故障标志 性能需求:量化指标 上升时间 / 稳态误差 / 超调 安全需求:故障反应 软限位 / 使能 / 看门狗 规格化 可追溯验证需求规格 REQ-F-001 功能 · 阶跃响应 REQ-P-002 性能 · 上升时间 REQ-S-003 安全 · 软限位 判据 + 用例 + 来源 MIL / SIL 联合验证执行 MIL:模型对模型 SIL:代码对模型 结果判定 需求追溯与迭代 关键原则 需求必须来自真实对象信号与参数 · 每条需求有唯一编号与判据 功能、性能、安全三类需求独立定义 · MIL 与 SIL 共用同一规格

六、常见问题与检查要点

实际建模中,最常见的三类问题是:第一,需求写成“控制器应稳定”,没有判据;第二,性能指标与被控对象参数矛盾,例如要求响应速度超过执行器物理极限;第三,安全需求没有独立触发条件,只写成“系统应安全”。检查时可以用三个问题快速判断:这条需求能否在 MIL/SIL 中自动判定?它对应真实对象中的哪个信号或参数?如果被控对象参数变化,这条需求是否仍然成立?

建议在需求规格中保留“来源”字段,指向真实对象的功能定义、性能指标或安全分析文档。这样当被控对象参数更新时,可以快速定位哪些需求需要重新校核。

完成本节后,你应当能够从真实控制器与被控对象出发,提取功能、性能与安全三类需求,并为每条需求写出可判定的判据和可追溯的编号。这份验证需求规格将直接作为后续 MIL 与 SIL 测试用例设计和结果判定的依据。