长死时间进程的控制:Smith预测器

这个例子显示了PI控制对于长死时间进程的局限性,并说明了一种称为“Smith预言器”的控制策略的好处。

这个例子的灵感来自:

林明达,“死区补偿控制器的鲁棒调谐方法”,控制工程实务,2001年第9期,第1195-1208页。

流程模型

流程开环响应建模为一阶加死时间,时间常数为40.2秒,延迟为93.9秒:

s =特遣部队(“年代”);P = exp(-93.9*s) * 5.6/(40.2*s+1);P。InputName =“u”;P。OutputName =“y”;P
P =从输入“u”到输出“y”:5.6 exp(-93.9*s) *——40.2 s + 1连续时间传递函数。

注意,延迟是时间常数的两倍多。这个模型代表了许多化学过程。其阶跃响应如下所示。

步骤(P)、网格

比例积分控制器

比例积分控制是过程控制中常用的一种控制技术。相应的控制架构如下所示。

补偿器C是一个标准形式的PI控制器,有两个调谐参数:比例增益Kp积分时间“透明国际”。我们使用PIDTUNE指令设计开环带宽为0.006 rad/s的PI控制器:

Cpi = pidtune (P, pidstd (1, 1), 0.006);消费者价格指数
Cpi = 1 1 Kp *(1 +——*——)Ti s,其中Kp = 0.0501, Ti = 47.3标准形式的连续时间PI控制器

为了评估PI控制器的性能,关闭反馈回路,模拟参考信号阶跃变化的响应ysp和输出干扰信号d。由于反馈路径存在延迟,有必要进行转换P消费者价格指数的状态空间表示党卫军命令:

Tpi =反馈(P * Cpi, 1, 1, 1, 1);%闭环模型[ysp;d]->yTpi。InputName = {“ysp”' d '};步骤(Tpi)、网格

闭环响应有可接受的超调,但有些迟缓(大约在600秒内稳定下来)。增加比例增益Kp会加速响应,但也会显著增加超调,并迅速导致不稳定:

Kp3 = (0.06; 0.08; 0.1);%尝试三个增加值的KpTi3 = repmat (Cpi.Ti 3 1);% Ti保持不变C3 = pidstd (Kp3 Ti3);%对应3个PI控制器T3 =反馈(P * C3, 1);T3。InputName =“ysp”;步骤(T3)标题("增加Kp时失去稳定性")

由于PI控制器的死区时间较长,严重限制了其性能。这是因为PI控制器不知道死时间,在实际输出时反应过于“不耐烦”y不符合要求的设定值ysp。每个人都经历过类似的现象,在淋浴时,水温需要很长时间来调整。在那里,缺乏耐心通常会导致交替的责骂,如烧开滚烫的水和冰冻的冷水。更好的策略是等待温度设置的变化生效后再进行进一步的调整。一旦我们了解了旋钮的设置可以提供我们喜欢的温度,我们就可以在淋浴的时间内得到合适的温度。这种“最优”控制策略是Smith预测器方案背后的基本思想。

史密斯预测器

史密斯预测控制结构概述如下。

史密斯预测器使用内部模型全科医生预测过程的无延迟响应yp(例如,给定的旋钮设置将提供什么水温)。然后将该预测yp与期望的设定值ysp进行比较,以决定需要进行哪些调整(控制u)。为了防止漂移和排除外部干扰,Smith预测器还将实际流程输出与预测进行比较日元这就把死亡时间考虑进去了。的差距dy = y-y1是通过滤波器F反馈回来的,并对整个错误信号起作用吗e。请注意,dy相当于感知到的温度不匹配等待淋浴反应的时间足够长。

需要部署Smith预测器方案

  • 一个模型全科医生过程动力学和估计τ进程的死时间

  • 适当的补偿器和过滤器动态设置(CF)

基于流程模型,我们使用:

$ $ G_p (s) ={5.6 \ /(1 + 40.2年代}\τ= 93.9 $ $

F,使用带有20秒时间常数的一阶滤波器来捕捉低频扰动。

F = 1 / (20 * s + 1);F。InputName =“dy”;F。OutputName =“迪拜”;

C,我们重新设计的PI控制器与整个工厂看到的PI控制器,其中包括动态从P,全科医生,F和死时间。在史密斯预测控制结构的帮助下,我们能够增加开环带宽,以实现更快的响应,并增加相位裕度,以减少超调。

%的过程P = exp(-93.9*s) * 5.6/(40.2*s+1);P。InputName =“u”;P。OutputName =“y0”;%预测模型Gp = 5.6 / (40.2 * s + 1);全科医生。InputName =“u”;全科医生。OutputName =“yp”;Dp = exp (-93.9 *);Dp。InputName =“yp”;Dp。OutputName =“日元”;%整体植物S1 = sumblk ('ym = yp + dp');S2 = sumblk ('dy = y0 - y1');工厂=连接(P, Gp, Dp, F, S1, S2,“u”,“ym”);%设计PI控制器,0.08 rad/s带宽,90度相位裕度选择= pidtuneOptions (“PhaseMargin”,90);C = pidtune(植物、pidstd(1, 1), 0.08,选项);C。InputName =“e”;C。OutputName =“u”;C
C = 1 1 Kp *(1 +——*——)Ti s, Kp = 0.574 Ti = 40.2标准形式的连续时间PI控制器

PI控制器与Smith预测器的比较

为了比较两种设计的性能,首先推导出闭环传递函数ysp dy用于Smith预测器架构。为了方便连接所有相关块的任务,将它们的所有输入和输出通道命名为let连接做连接:

%从[y_sp,d]到y装配闭环模型Sum1 = sumblk ('e = ysp - yp - dp');Sum2 = sumblk ('y = y0 + d');Sum3 = sumblk ('dy = y - y1');T =连接(P, Gp, Dp, C、F Sum1, Sum2, Sum3, {“ysp”,' d '},“y”);

使用一步将Smith预测器(蓝色)与PI控制器(红色)进行比较:

步骤(T)“b”Tpi,“r——”网格)传奇(“史密斯预测器”,比例积分控制器的)

史密斯预测器提供了更快的响应,没有超调。通过绘制闭环波德响应,在频域也可以看到这种差异yspy。注意Smith预测器的更高带宽。

波德(T (1, 1),“b”Tpi (1,1),“r——”1}、{1 e - 3)网格传奇(“史密斯预测器”,比例积分控制器的)

模型失配的稳健性

在前面的分析中,内部模型

$$ G_p(s) e^{-\tau s} $$

匹配流程模型P完全正确。在实际情况中,内部模型只是对真实过程动态的近似,因此了解Smith预测器对过程动态和死时间的不确定性有多强是很重要的。

考虑代表工艺参数不确定范围的两种摄动工厂模型:

P1 = exp(-90*s) * 5/(38*s+1);P2 = exp(-100*s) * 6/(42*s+1);波德(P, P1, P2),网格标题(“名义和扰动过程模型”)

为了分析鲁棒性,将标称模型和扰动模型收集到一组流程模型中,重建PI和Smith预测器设计的闭环传递函数,并模拟闭环响应:

植物=堆栈(1,P, P1, P2);进程模型的数组T1 =连接(植物、全科医生、Dp、C、F, Sum1, Sum2, Sum3, {“ysp”,' d '},“y”);%史密斯Tpi =反馈(植物* Cpi, 1, 1, 1, 1);步骤(T1,“b”Tpi,“r——”网格)传奇(“史密斯预测器1”,比例积分控制器的)

两种设计都对模型失配很敏感,闭环Bode图证实了这一点:

波德(T1 (1, 1),“b”Tpi (1,1),“r——”网格)传奇(“史密斯预测器1”,比例积分控制器的)

提高鲁棒性

为了降低Smith预测器对建模错误的敏感性,需要检查内外循环的稳定裕度。内循环C有开环传输C *的全科医生从而得到稳定裕度

保证金(C * Gp)“内环的稳定裕度(C)”)

内部环路有舒适的增益和相位裕度,所以接下来重点关注外部环路。使用连接推导开环传递函数lyspdp内部回路关闭:

Sum1o = sumblk ('e = ysp - yp');在数据点打开循环L =连接(P, Gp, Dp, C、F Sum1o, Sum2, Sum3, {“ysp”,' d '},“迪拜”);bodemag (L (1,1))

这个传递函数本质上是零,这是在过程和预测模型完全匹配时所期望的。为了深入了解外部循环的稳定裕度,我们需要使用一种受干扰的流程模型,例如,P1:

H =连接(植物(:,:2),Gp, Dp, C, Sum1o, Sum2, Sum3, {“ysp”,' d '},“dy”);H = H (1,1);%开环传输ysp -> dyL = F * H;保证金(L)标题(外环的稳定裕度(F)网格);xlim([1依照1]);

该增益曲线在0.04 rad/s附近有一个驼峰,降低了增益裕度,增加了闭环阶跃响应中的驼峰。要修复此问题,请选择一个过滤器F它会更早更迅速地溜走:

F = (1 + 10 * s) / (1 + 100 * s);F。InputName =“dy”;F。OutputName =“迪拜”;

验证增益裕度在0.04 rad/s相位交叉附近有所改善:

L = F * H;保证金(L)标题('修改F'的外环稳定裕度'网格);xlim([1依照1]);

最后,用修正后的滤波器模拟闭环响应:

T2 =连接(植物、全科医生、Dp、C、F, Sum1, Sum2, Sum3, {“ysp”,' d '},“y”);步骤(T2,“b”Tpi,“r——”网格)传奇(《史密斯预测2》,比例积分控制器的)

改进的设计提供了更一致的性能,代价是稍慢的名义响应。

提高抗干扰性

为闭环传递函数的公式dy说明最优选择为F

$$ F(s) = e^{\tau s} $$

在哪里τ是内部模型的死时间。这种选择无论在何种情况下都能达到理想的抗干扰效果P全科医生。不幸的是,这种“消极拖延”不是因果关系,也不能执行。摘要:

黄,H.-P。,et al., "A Modified Smith Predictor with an Approximate Inverse of Dead Time," AiChE Journal, 36 (1990), pp. 1025-1031

作者建议使用相位超前近似:

e $ $ ^{\τs} \大约{1 + B (s) \ / (1 + B (s) e ^{- \τs}} $ $

在哪里B低通滤波器是否与内部模型具有相同的时间常数全科医生。你可以测试这个方案如下:

定义B(s)和F(s)

40 * s + B = 0.05 / (1);τ= totaldelay (Dp);F = (1 + B) / (1 + B * exp(τ* s));F。InputName =“dy”;F。OutputName =“迪拜”;

重新设计减少带宽的PI控制器

工厂=连接(P, Gp, Dp, F, S1, S2,“u”,“ym”);C = pidtune(植物、pidstd (1, 1), 0.02, pidtuneOptions (“PhaseMargin”,90));C。InputName =“e”;C。OutputName =“u”;C
C = 1 1 Kp *(1 +——*——)Ti s, Kp = 0.144 Ti = 40.1标准形式的连续时间PI控制器

计算的闭环模型T3

T3 =连接(植物、全科医生、Dp、C、F, Sum1, Sum2, Sum3, {“ysp”,' d '},“y”);

比较T3与T2和Tpi

步骤(T2,“b”T3,‘g’Tpi,“r——”网格)传奇(《史密斯预测2》,“史密斯预测3 ',比例积分控制器的)

这一比较表明,我们的最后一个设计以牺牲较慢的设定值跟踪为代价来加速干扰抑制。