实现增益调度的PID控制器

这个例子展示了如何在Simulink中实现增益调度控制万博1manbetx®建模使用家庭PID控制器。该PID控制器被调谐为一系列的植物,其是高度非线性的稳态工作点。

这个例子建立在做的工作PID控制器,用于多个工作点的设计系列。在该例子中,连续搅拌釜式反应器(CSTR)装置模型在具有输出浓度的稳态运行点处线性化C= 2,3,…8 9。CSTR工厂的非线性在不同的输出浓度下产生不同的线性化动力学。该示例使用pidtune命令生成和调整用于每个输出浓度的单独的PID控制器。

您可以期望每个控制器在其相应的输出浓度附近的小范围内运行良好。此示例演示如何使用PID控制器模块,实现在一个增益预定的配置,所有这些控制器。在这样的配置中,PID增益变化作为输出浓度的变化。这种构造确保了在控制系统的工作范围内的任何输出浓度良好PID控制。

用中产生的控制器开始PID控制器,用于多个工作点的设计系列。如果这些控制器不在MATLAB中®工作区中,从数据文件加载它们PIDGainSchedExample.mat

负载PIDGainSchedExample

这个操作将两个变量放入MATLAB工作空间中,控制器C。模型组控制器包含八个PID模型,每个模型针对向量中的一个输出浓度进行调优C

为了实现在增益调度配置这些控制器,创建查找每个输出浓度与PID增益对应的集相关联的表。Simu万博1manbetxlink模型PIDGainSchedCSTRExampleModel包含此类查找表,配置为为CSTR工厂提供收益调度控制。打开这个模型。

open_system(“PIDGainSchedCSTRExampleModel”)

在这个模型中PID控制器块被配置为具有PID系数的外部输入端口。使用外部输入允许系数随着输出浓度的变化而变化。双击该块以检查配置。

控制器参数的设置资源外部使对该系数的输入端口。

该模型使用一维查找表块的每一个PID系数。通常,对于获得调度的PID控制,使用调度变量作为查找表输入,并使用相应的控制器系数值作为输出。在本例中,CSTR工厂的输出浓度是查找表的输入,而输出是与该浓度对应的PID系数。若要查看如何配置查找表,请双击P查找表块。

数据表字段包含每个控制器的比例系数数组,Controllers.Kp。(有关的属性的详细信息PID数组中的模型控制器,请参阅PID引用页面。)此数组中的每个项对应于数组中的一个项C它是在断点1字段。对于落在元素之间的浓度值C,P查找表块执行线性插值来确定比例系数的值。若要设置积分和导数系数的查找表,请配置我查找表d查找表使用块Controllers.KiControllers.Kd,分别。对于本例,这个配置已经在模型中完成。

PID模型控制器阵列将导数滤波系数表示为时间常数,Controllers.Tf(见PID有关更多信息,参考页)。但是,那PID控制器块表示导数滤波系数为反常数,N。因此,N查找表块必须被配置为使用每个值的倒数在Controllers.Tf。双击N查找表方框查看配置。

模拟模型。的浓度设定值块被配置为单步执行跨越操作范围的一系列设定值C = 2C = 9(示于黄色的范围)。仿真结果表明,增益调度配置跨越这个范围内取得了较好的设定值跟踪(粉红色的范围)。

正如所示PID控制器,用于多个工作点的设计系列, CSTR工厂在以下操作范围内是不稳定的C = 4C = 7。在整个不稳定区域内,增益调度PID控制器使系统稳定,并产生良好的设定值跟踪。为了充分验证针对非线性对象的控制设计,应用各种设定值测试序列来测试跨越工作范围的不同大小和方向的步骤的跟踪性能。还可以通过设置控制器数组相等。

另请参阅

|||

相关话题