PID控制器,用于多个工作点的设计系列

这个例子展示了如何在Simulink中设计一个非线性工厂的PID控制器阵列,它可以在很宽的操作点范围内工作。万博1manbetx

开工厂模型

所述植物是操作在宽范围的工作点的连续搅拌釜反应器(CSTR)。单个PID控制器能够有效地利用冷却剂温度来调节周围的小的工作范围的输出浓度的PID控制器被设计为。然而,由于该工厂是一个强非线性系统,控制性能下降,如果工作点显著变化。闭环系统甚至可以变得不稳定。

打开CSTR植物模型。

mdl =“scdcstrctrlplant”;open_system(MDL)

对于此系统的更多信息,请参见[1]。

简介增益调度

一种常见的方法来解决问题是使用增益调度与线性控制器的非线性控制。一般来说,设计的增益调度控制系统需要四个步骤:

  1. 获取每个工作区的工厂模型。通常的做法是在几个平衡工作点线性化厂。

  2. 设计一系列线性控制器,如PID控制器,用于前面步骤中得到的工厂模型。

  3. 实现一种调度机制,使控制器系数(如PID增益)根据调度变量的值进行更改。在控制器之间进行平滑(无保险杠)的切换,以减少对工厂运行的干扰。

  4. 评估与模拟控制性能。

有关增益调度的更多信息,请参见[2]。

这个例子着重于设计一个系列的PID控制器的非线性CSTR工厂。

获得多个工作点线性装置模型

输出浓度C用于识别不同的操作区域。CSTR中的植物可以在低转化率之间的任何转化率操作(C=9)和高转化率(C=2)。在这个例子中,分割操作范围为8个区域表示由C=2通过9

指定经营区域。

C = [2 3 4 5 6 7 8 9];

创建一个默认操作点规范数组。

op = operspec (mdl元素个数(C));

通过指定输出浓度为已知值并指定输出浓度值来初始化操作点规范。

ct = 1:numel(C) op(ct).输出。知道= true;op (ct) .Outputs。y = C (ct);结束

计算对应于所述值的平衡的工作点C

op, opoint = findop (mdl findopOptions (“DisplayReport”,“关”));

在这些工作点线性化的工厂。

植物=线性化(mdl opoint);

由于CSTR植物是非线性的,线性模型表现出不同的特性。例如,高转化率和低转化率的植物模型是稳定的,而其他模型则不是。

isstable(植物,“elem”)”
ans = 1x8逻辑数组1 1 0 0 0 0 0 1 1

设计PID控制器的工厂模型

若要批量设计多个PID控制器,请使用pidtune功能。下面的命令生成PID控制器的并联形式的阵列。所期望的开环交叉频率处于1,相位裕度为的默认值60度。

控制器= pidtune(植物,'PIDF'pidtuneOptions (“跨界”,1));

显示控制器C=4

控制器(:,:,4)
ans = 1 s Kp + Ki *——+ Kd *——s Tf*s+1,其中Kp = -12.4, Ki = -1.74, Kd = -16, Tf = 0.00875连续时间的PIDF控制器。

为了分析步长跟踪的闭环响应,首先构造闭环系统。

clsys =反馈(植物*控制器,1);

情节闭环反应

身材保持ct = 1:长度(C)从LTI数组中选择一个系统sys = clsys (:,:, ct);sys。Name = ('C ='num2str (C (ct)));sys。InputName ='参考';图阶跃响应stepplot (sys, 20);结束传奇(“显示”,“位置”,'东南')

所有闭环稳定,但不稳定的植物环的过冲(C=4,通过7)过大。为了提高效果,增加目标开环带宽10弧度/秒。

为不稳定的工厂模型设计更新的控制器。

控制器= pidtune(植物,'PIDF',10);

显示控制器C=4

控制器(:,:,4)
ans = 1, Kp + Ki *——+ Kd *——s Tf*s+1, Kp = -283, Ki = -151, Kd = -128, Tf = 0.0183,连续时间的PIDF控制器。

构造闭环系统,并绘制新控制器的闭环阶跃响应。

clsys =反馈(植物*控制器,1);身材保持ct = 1:长度(C)从LTI数组中选择一个系统sys = clsys (:,:, ct);设定(SYS,“名字”['C ='num2str (C (ct))),'InputName','参考');图阶跃响应stepplot (sys, 20);结束传奇(“显示”,“位置”,'东南')

所有闭环反应现在都令人满意。为了进行比较,检查响应当你在所有的工作点使用相同的控制器。建立另一套闭环系统中,其中每一个使用C=2,并绘制它们的响应。

clsys_flat =反馈(植物*控制器(:,:1),1);图stepplot (clsys clsys_flat 20)传说(“C-dependent控制器”,“单一控制器”)

为每个浓度单独设计的PID控制器阵列比单个控制器具有更好的性能。

然而,上面所示的闭环响应是基于整个非线性系统的线性近似计算的。为了验证设计,使用PID控制器块在模型中实现调度机制。

关闭模式。

bdclose(MDL)

参考

[1] Seborg, D. E., T. F. Edgar, D. A. Mellichamp。过程动力学与控制,第二版,Wiley,2004年,34-36页。

[2] Rugh, W. J.,和J. S. Shamma。增益调度的研究。自动化,第36期,2000,第1401-1425页。