主要内容

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

这个例子展示了如何在Simulink中为一个运行在大范围工作点上的非线性装置设计一组PID控制器。金宝app

开放式植物模型

该植物是一种连续的搅拌釜反应器(CSTR),在各种操作点上运行。单个PID控制器可以有效地使用冷却液温度来调节PID控制器设计的小操作范围内的输出浓度。然而,由于工厂是强烈的非线性系统,因此如果操作点显着变化,控制性能会降低。闭环系统甚至可以变得不稳定。

打开CSTR工厂模型。

mdl ='scdcstrctrlant';Open_System(MDL)

有关此系统的更多信息,请参阅[1]。

增益调度介绍

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

  1. 获得每个操作区域的工厂模型。通常的做法是在几种平衡操作点线性化植物。

  2. 针对上一步所得到的对象模型,设计一系列线性控制器,如PID控制器。

  3. 实现一种调度机制,使控制器系数,如PID增益,根据调度变量的值改变。控制器之间的平滑(无扰动)传输是必需的,以减少对设备运行的干扰。

  4. 使用仿真评估控制性能。

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

这个例子着重于为非线性CSTR装置设计一系列PID控制器。

获得多个操作点的线性植物型号

输出浓度C用于识别不同的操作区域。CSTR设备可以在低转换率之间以任何转换速率运行(C=9)及高转换率(C=2)。在此示例中,将操作范围划分为八个区域C=2通过9

指定操作区域。

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

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

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

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

ct = 1:numel(C) op(ct). outputs。知道= 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 1 1

为工厂型号设计PID控制器

要批量设计多个PID控制器,请使用Pidtune.函数。下面的命令以并行形式生成一组PID控制器。所需的开环交叉频率为1rad/sec,相位裕度为默认值60度。

控制器= pidtune(植物,'pidf',1);

显示控制器C=4

控制器(::,4)
ans = 1 s Kp + Ki *—+ Kd * -------- s Tf*s+1 with 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)太大了。为了提高不稳定的工厂模型的结果,增加目标开环带宽10rad / sec。

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

显示控制器C=4

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

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

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控制器块在您的模型中实现调度机制,如实施增益预定的PID控制器

关闭模式。

BdClose(MDL)

参考

[1] Seborg,Dale E.,Thomas F. Edgar和Duncan A. Mellichamp。过程动力学与控制。2,John Wiley&Sons,Inc,2004,PP。34-36。

[2] Rugh,Wilson J.和Jeff S. Shamma。“研究进度调度”。自动化36岁的没有。10(2000年10月):1401-1425。

另请参阅

||

相关话题