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 复用,并且每条需求都能追溯到真实对象中的信号和参数。
六、常见问题与检查要点
实际建模中,最常见的三类问题是:第一,需求写成“控制器应稳定”,没有判据;第二,性能指标与被控对象参数矛盾,例如要求响应速度超过执行器物理极限;第三,安全需求没有独立触发条件,只写成“系统应安全”。检查时可以用三个问题快速判断:这条需求能否在 MIL/SIL 中自动判定?它对应真实对象中的哪个信号或参数?如果被控对象参数变化,这条需求是否仍然成立?
完成本节后,你应当能够从真实控制器与被控对象出发,提取功能、性能与安全三类需求,并为每条需求写出可判定的判据和可追溯的编号。这份验证需求规格将直接作为后续 MIL 与 SIL 测试用例设计和结果判定的依据。