2. 被控对象与控制器接口定义
在控制系统开发中,接口定义是连接需求与实现的桥梁。被控对象(Plant)与控制器(Controller)之间的接口,决定了信号如何流动、采样如何同步、执行器与传感器如何被正确驱动与读取。如果接口定义模糊,后续的模型在环(MIL)验证将失去基准,仿真结果也无法可信地反映真实系统的行为。本节从需求出发,逐步明确输入输出信号、采样周期、执行器与传感器特性,并最终形成一份可执行的接口控制文档(ICD)。
一、从需求到功能边界:接口定义的核心任务
接口定义的本质,是把“系统要做什么”翻译成“控制器与对象之间交换什么”。需求文档通常描述功能行为,例如“电机转速应跟随目标值”“温度需保持在设定范围内”,但这些描述并不直接给出信号名称、量纲、更新速率或电气特性。接口定义要完成以下映射:
- 功能需求 → 信号清单:每个控制功能对应一组输入(传感器反馈、指令)和输出(执行器命令)。
- 性能需求 → 采样周期与精度:控制带宽、响应时间决定采样频率;稳态误差要求决定传感器分辨率与执行器分辨率。
- 物理约束 → 电气与机械特性:传感器输出是电压、电流还是数字总线?执行器是PWM驱动、模拟电压还是CAN指令?这些必须在接口中固定。
功能边界由此确定:控制器只负责其接口范围内的信号处理与算法运算,被控对象则提供物理响应。边界之外的部分(如电源、机械负载)不纳入控制器模型,但需在接口文档中注明假设与限制。
二、输入输出信号定义:名称、方向、量纲与范围
信号定义是接口文档最基础的部分。每个信号应包含以下属性:信号名、方向(输入/输出)、数据类型、量纲、物理范围、工程单位、默认值或失效值。以直流电机调速系统为例,控制器需要采集的输入信号包括:
- 转速反馈:来自增量式编码器,方向为输入,类型为脉冲计数,量纲为rpm,范围0~3000 rpm,分辨率1 rpm。
- 电流反馈:来自霍尔电流传感器,方向为输入,类型为模拟电压,量纲为A,范围0~10 A,对应电压0~5 V。
- 目标转速:来自上位机或CAN总线,方向为输入,类型为整型,量纲为rpm,范围0~3000 rpm。
控制器输出信号包括:
- PWM占空比:方向为输出,类型为浮点,范围0~100%,对应电机驱动器的占空比输入。
- 使能信号:方向为输出,类型为布尔,高电平使能驱动器。
所有信号必须明确参考方向与坐标系约定。例如,转速正方向定义为电机轴顺时针旋转,电流正方向定义为从电源流向电机。若后续更换传感器或执行器,接口文档中的量纲与范围必须同步更新,否则MIL验证将出现量纲不匹配的错误。
三、采样周期与同步机制
采样周期是接口定义中容易被忽视但影响巨大的参数。它决定了控制器读取输入、计算输出、更新执行器的节奏。采样周期过长,会丢失动态信息,导致控制性能下降;采样周期过短,则增加计算负担,甚至引入噪声。通常根据控制带宽选择:若闭环带宽为ωb,采样频率应至少为ωb的10~20倍。例如,电机转速环带宽约50 Hz,则采样周期可取1 ms(1 kHz),对应采样频率为带宽的20倍。
同步机制同样关键。对于多速率系统,不同信号可能以不同周期更新。例如,转速反馈每1 ms更新,而温度反馈每100 ms更新。接口文档需明确每个信号的采样周期、更新时刻以及是否与控制器主周期同步。若使用CAN总线,还需定义报文周期、超时判定与失效替代值。在MIL验证中,采样周期直接映射为仿真步长或触发采样时刻,必须与接口文档一致,否则仿真结果无法与真实控制器行为对齐。
四、执行器与传感器特性:从理想模型到真实约束
接口定义不能只停留在信号层面,还必须描述执行器与传感器的真实特性。传感器特性包括:量程、灵敏度、非线性度、零偏、噪声密度、响应时间、输出阻抗。执行器特性包括:驱动类型、死区、饱和限幅、上升/下降时间、最大频率、效率。这些特性直接影响控制算法的设计与MIL验证的可信度。
以PWM驱动直流电机为例,执行器特性可描述为:PWM频率20 kHz,占空比0~100%对应电枢电压0~24 V,死区约2%(占空比低于2%时电机不转),饱和限幅为24 V。传感器特性可描述为:编码器每转1000脉冲,转速计算采用M法测频,在1 ms采样周期下,最低可测转速为60 rpm(1个脉冲/ms),低于此值需采用T法或混合法。这些约束必须在接口文档中写明,并在MIL验证时作为模型参数或限幅环节加入。
五、接口控制文档(ICD)的构成与示例
接口控制文档是上述所有定义的正式载体。它通常以表格形式列出每个信号的完整属性,并附上采样周期、同步机制、执行器与传感器特性说明。以下是一份简化的ICD示例,可直接用于MIL验证的接口配置:
| 信号名 | 方向 | 数据类型 | 量纲/单位 | 范围 | 采样周期 | 失效值 |
|---|---|---|---|---|---|---|
| SpeedRef | 输入 | uint16 | rpm | 0~3000 | 10 ms | 0 |
| SpeedFdbk | 输入 | uint16 | rpm | 0~3000 | 1 ms | 0 |
| CurrentFdbk | 输入 | float32 | A | 0~10 | 1 ms | 0 |
| PwmDuty | 输出 | float32 | % | 0~100 | 1 ms | 0 |
| Enable | 输出 | boolean | — | 0/1 | 1 ms | 0 |
在MIL验证中,该表直接映射为仿真模型的输入输出端口配置。例如,SpeedRef以10 ms周期更新,而SpeedFdbk以1 ms周期更新,仿真时需使用多速率采样或零阶保持器处理。失效值用于传感器故障或通信超时时的安全替代,确保控制器不会因无效输入而产生危险输出。
六、从接口定义到MIL验证的衔接
接口定义完成后,MIL验证的第一步就是检查模型端口与ICD的一致性。具体操作包括:核对信号名与方向是否匹配;检查量纲与范围是否一致;确认采样周期与仿真步长是否协调;验证失效值是否在模型中正确实现。若发现不一致,必须回到ICD修改,而不是在模型中临时修补。只有接口定义与模型严格对齐,MIL验证的结果才具有工程参考价值。
总结来说,被控对象与控制器接口定义的核心在于:从需求中提取信号清单,明确每个信号的量纲、范围、采样周期与失效值,描述执行器与传感器的真实特性,并形成可执行的ICD。这份文档既是控制器设计的输入,也是MIL验证的基准。只有接口清晰、边界明确,后续的建模、仿真与代码生成才能建立在可靠的基础之上。