3. 实时仿真模型与故障注入接口梳理

在 dSPACE HIL 环境中,故障定位能否快速收敛,很大程度上取决于模型与硬件接口的“可观测性”和“可干预性”。如果 Simulink 模型只是把被控对象和控制逻辑堆在一起,I/O 映射随意命名,故障注入点散落在各处,那么一旦出现异常,工程师只能靠猜。本节的目标是建立一套清晰的接口梳理方法:从 Simulink 模型架构出发,明确 I/O 映射规则,规划故障注入点,设计旁路开关与信号观测点,使整个 HIL 系统具备“看得见、切得开、注得入、测得准”的能力。

一、Simulink 模型架构的分层原则

用于 HIL 的 Simulink 模型通常不是单一模型,而是由多个层次组成的系统。推荐采用四层架构:信号层、故障注入层、被控对象层、I/O 接口层。信号层负责产生激励和参考值;故障注入层集中放置所有可切换的故障支路;被控对象层实现物理模型或简化模型;I/O 接口层完成与 dSPACE 实时硬件的信号对接。这样分层的核心目的是让故障注入点与物理模型解耦,避免在模型内部到处修改。

以电机控制系统为例,信号层输出目标转速 n_ref,故障注入层可以插入转速传感器偏差、电流采样增益错误、PWM 驱动开路等故障,被控对象层包含电机电气方程和机械方程,I/O 接口层则把三相电流、母线电压、位置信号映射到 DS1006 或 DS5203 等板卡通道。每一层之间用明确的信号命名和总线结构连接,例如 Bus_FaultInjection、Bus_PlantOut,便于在 dSPACE ControlDesk 中直接观测。

二、I/O 映射的规范化

I/O 映射是模型与硬件之间的“接线表”。在 dSPACE 中,通常通过 RTI(Real-Time Interface)将 Simulink 中的 I/O 模块与硬件通道绑定。映射不规范会导致两个典型问题:一是通道对应错误,故障现象与预期不符;二是量纲和偏移不一致,观测到的数值无法直接判断。建议为每个 I/O 通道建立统一命名,格式为 板卡_通道_信号名_方向,例如 DS5203_CH1_Ia_ADC、DS5203_CH5_PWM_A_OUT。

同时要明确每个通道的电气参数和换算关系。例如电流传感器输出 0~5 V 对应 -50~+50 A,则模型中的增益为 20 A/V,偏移为 -50 A。这个换算关系必须与硬件手册一致,并在模型注释中写明。对于数字量,要注明有效电平、去抖时间和采样周期。对于 PWM 输出,要注明载波频率、死区时间和最小脉宽。这些参数在故障定位时往往是关键线索:如果观测到的电流始终偏置 2 A,可能是偏移量设置错误;如果 PWM 无输出,可能是使能通道未映射。

三、故障注入点的规划

故障注入点不是越多越好,而是要覆盖典型故障模式,并且每个注入点都能独立使能、独立观测。常见的注入方式包括:信号替换、增益偏移、开路/短路、延迟注入、噪声叠加、卡滞。在 Simulink 中,可以用 Switch 模块或 Enabled Subsystem 实现故障使能,用 Manual Switch 或 ControlDesk 变量控制切换。

规划时建议按“传感器—控制器—执行器—通信”四条链路分别设置注入点。传感器链路注入偏置、漂移、断线;控制器链路注入参数错误、逻辑翻转;执行器链路注入开路、短路、响应延迟;通信链路注入丢帧、校验错误、总线负载异常。每个注入点都要有唯一的故障编号和使能变量,例如 Fault_SpeedSensor_Offset、Fault_PWM_OpenPhase。这样在调试时可以通过变量名快速定位,而不是在模型里逐层查找。

HIL 模型分层架构与故障注入/观测接口关系 信号层 n_ref / T_ref / 使能 工况激励与参考值 故障注入层 偏置/开路/延迟/噪声 Fault_Enable 变量控制 被控对象层 电机/逆变器/机械 物理方程与状态量 I/O 接口层 RTI 通道映射 ADC/PWM/DIO 典型故障注入点(按链路划分) 传感器链路 转速偏置 +50 rpm 电流增益 ×1.2 位置信号断线 控制器链路 PI 参数错误 使能逻辑翻转 限幅值修改 执行器链路 PWM 单相开路 驱动延迟 200 μs 死区时间异常 通信链路 CAN 丢帧 校验错误 总线负载 85% 旁路开关设计 正常通路:模型输出 旁路通路:手动给定 切换 旁路开关用于隔离故障支路, 使系统在故障注入后仍可维持基本运行, 便于对比正常与故障状态下的响应差异。 信号观测点设计 模型内部:Ia_meas 故障前/后对比 硬件端口:ADC 原始值 验证映射正确性 观测点应覆盖“模型内部—接口边界—硬件端口” 三级,确保故障定位时能判断问题发生在 模型、映射还是硬件侧。

四、旁路开关与信号观测点设计

旁路开关的作用是在故障注入后,把故障支路从系统中“切出去”,让系统仍能维持基本运行或进入安全状态。例如,当注入电流传感器断线故障时,控制器如果直接使用断线信号,可能触发过流保护停机。此时可以通过旁路开关把电流反馈切换为模型内部估算值或固定安全值,使系统继续运行,从而观察故障对其它信号的影响。旁路开关通常用 Switch 模块实现,切换条件由 ControlDesk 变量控制,例如 Bypass_CurrentSensor。

信号观测点的设计要遵循“三级覆盖”原则:模型内部信号、接口边界信号、硬件端口信号。模型内部信号用于判断算法行为;接口边界信号用于判断映射和量纲是否正确;硬件端口信号用于判断物理连接和电气特性。以电流环为例,模型内部观测 Ia_meas 和 Ia_ref,接口边界观测 Ia_ADC_scaled,硬件端口观测 DS5203_CH1_raw。当电流异常时,先看硬件端口原始值是否正常,再看接口边界换算值是否一致,最后看模型内部使用值是否被故障注入修改。这样可以把问题定位到具体环节,而不是笼统地怀疑“电流不对”。

五、接口梳理的交付物

完成上述设计后,应形成一份可执行的接口清单。清单至少包含:信号名称、方向、来源/目标、硬件通道、量纲、偏移、故障注入点编号、旁路开关变量、观测点变量。这份清单既是模型开发的依据,也是调试时的快速索引。例如,当 ControlDesk 中观测到 Fault_PWM_OpenPhase 使能后电机转矩下降,可以立即在清单中查到该故障对应执行器链路,旁路开关为 Bypass_PWM_A,观测点为 PWM_A_duty 和 Ia_meas,从而快速判断是开路导致缺相,还是旁路逻辑未正确切换。

接口梳理不是一次性工作。每次新增故障模式或更换硬件板卡后,都应同步更新 I/O 映射表和故障注入点清单,并在模型注释中保留变更记录。否则,随着时间推移,模型与硬件之间的对应关系会逐渐模糊,故障定位效率会明显下降。

总之,实时仿真模型与故障注入接口梳理的核心,是让模型结构、I/O 映射、故障注入、旁路切换和信号观测形成一套可追溯、可切换、可对比的体系。只有接口清晰,后续的故障复现、波形分析和根因定位才有可靠基础。