Smith Predictor
DynamicsSmithPredictor 模块用于彻底补偿控制回路中的纯滞后(时滞/死区时间,Dead Time)。在工业管道输运或远距离流体传输中,控制动作执行后需要经历数秒甚至数分钟才能在传感器端出现响应(如热水从加热器流至喷淋头的时间)。若直接使用常规 PID 反馈控制,调节器在滞后期间盲目加压积分,极易引发剧烈超调与发散振荡。
该模块内置被控对象的一阶惯性模型,并在内部并行计算无时滞模型与含纯滞后模型两条响应支路。其输出即为预测过程变量:将无滞后模型预测值与模型误差(实际测量值减去滞后模型预测值)叠加。将此预估信号反馈给控制器后,控制器仿佛在面对一个毫无时滞的理想对象,从而能够按被控过程的快速动态进行极限性能调谐。
数学模型
其中:
u(输入端口u)为控制器发出的控制量,同时送入真实系统与内部预估模型。y_meas(输入端口y)为包含纯滞后的传感器测量输出。ŷ_m为内部无滞后模型输出(输出端口ŷ_model)。y_meas − ŷ_m(t − θ)为模型失配与外生扰动误差(输出端口e_model)。ŷ为用于反馈回路的预估过程变量(输出端口ŷ)。
内部一阶模型针对仿真步长采用零阶保持器进行解析级离散化更新。
输入与输出
| Direction | ID | Label | 类型 | Status |
|---|---|---|---|---|
| → In | in1 |
u | number | Required |
| → In | in2 |
y | number | Required |
| ← Out | y_pred |
ŷ | number | Output |
| ← Out | y_model |
ŷ_model | number | Output |
| ← Out | error_model |
e_model | number | Output |
参数
| 参数 | Label | 类型 | 默认值 | 描述 |
|---|---|---|---|---|
gain |
Plant Gain (K) | number | 1 |
Static gain of the plant model |
tau |
Time Constant (τ) | number | 10 |
First-order time constant of the plant model |
deadTime |
Dead Time (θ) | number | 5 |
Transport delay to compensate; should match the plant's dead time |
initialOutput |
Initial Output | number | 0 |
Model output at the start; set it to the plant's initial value |
使用示例
5 秒大时滞下的 PI 高性能无超调控制
针对纯惯性环节 1/(10s+1) 调谐的 PI 参数()在面对 5 秒纯滞后时,通过史密斯预估补偿实现了平滑上升且完全无超调的优良阶跃响应。若断开预估补偿直接闭环,系统将发生等幅持续振荡。
长输送管道流体温度闭环控制
消除加热器与远端温度探头之间的介质流动时间滞后,避免积分饱和与超调。
说明与最佳实践
- 时滞敏感性:史密斯预估的补偿品质强烈依赖于
deadTime参数的辨识精度;死区时间失配较大时可能恶化稳定性。 - 仅适用于自衡稳定对象:由于内部预估模型在开环下运行,本模块仅适用于开环渐近稳定的被控对象。
- 扰动抑制响应:外部扰动必须经物理系统滞后传输后才能被传感器感知,因此史密斯预估器主要加速目标值跟踪,无法超越物理滞后提前抑制扰动。
相关模块
- Delay" class="bw-link">Delay
- PIDController" class="bw-link">PIDController
- TransferFunction" class="bw-link">TransferFunction