主要内容GyD.F4y2Ba

模型增益预定控制系统GyD.F4y2Ba金宝app

在Si金宝appmulink.GyD.F4y2Ba®GyD.F4y2Ba,可以对增益调度控制系统建模,其中控制器增益或系数依赖于调度变量,如时间、操作条件或模型参数。Control System Toolbox™中的线性参数变化块库允许您实现具有可变增益的通用控制系统元素。使用块,如查找表或GyD.F4y2BaMATLAB函数GyD.F4y2Ba块来实现增益调度,给出了这些增益对调度变量的依赖性。GyD.F4y2Ba

在Simulink中建模增益调度控制系统:金宝appGyD.F4y2Ba

  1. 在您的模型中确定调度变量和表示它们的信号。例如,如果您的系统是一架巡航飞机,那么调度变量可能是入射角和飞机的空速。GyD.F4y2Ba

  2. 使用查找表块或GyD.F4y2BaMATLAB函数GyD.F4y2Ba块来实现依赖于调度变量的增益或系数。如果你没有查找表值或MATLABGyD.F4y2Ba®GyD.F4y2Ba您可以使用满足性能要求的增益计划表达式GyD.F4y2BaSystune.GyD.F4y2Ba调整它们。看GyD.F4y2Ba调谐在Simulink中的增益计划金宝appGyD.F4y2Ba。GyD.F4y2Ba

  3. 用增益计划元件替换普通控制元件。例如,代替固定系数的PID控制器,使用GyD.F4y2Ba不同的PID控制器GyD.F4y2Ba块,增益计划确定PID增益。GyD.F4y2Ba

  4. 根据需要向模型添加调度逻辑和保障。GyD.F4y2Ba

模型将收益GyD.F4y2Ba

增益调度将调度变量的当前值转换为控制器增益。在Simulink中有几种实现增益计划的方法。金宝appGyD.F4y2Ba

可用于实现查找表的块包括:GyD.F4y2Ba

  • 查找表- AGyD.F4y2Ba查找表GyD.F4y2Ba是断点列表和相应的增益值。当调度变量落在断点之间时,查找表在相应的增益之间插入。使用以下块实现GAIN计划作为查找表。GyD.F4y2Ba

  • MATLAB函数GyD.F4y2Bablock—当有一个函数表达式将收益与调度变量关联时,使用GyD.F4y2BaMATLAB函数GyD.F4y2Ba块。如果表达式是一个平滑的函数,使用MATLAB函数可以导致比查找表更平滑的增益变化。此外,如果您使用代码生成产品,例如GyD.F4y2Ba金宝app仿真软件编码器™GyD.F4y2Ba要在硬件中实现控制器,MATLAB功能可能会导致比查找表更高效的实现。GyD.F4y2Ba

您可以使用GyD.F4y2BaSystune.GyD.F4y2Ba调整增益计划实现作为查找表或MATLAB函数。看GyD.F4y2Ba调谐在Simulink中的增益计划金宝appGyD.F4y2Ba。GyD.F4y2Ba

控制器中的预定增益GyD.F4y2Ba

作为一个例子,模型GyD.F4y2Barct_CSTRGyD.F4y2Ba包括PI控制器和超前补偿器,其中控制器增益实现为查找表使用GyD.F4y2Ba一维查找表GyD.F4y2Ba块。打开该模型并检查控制器。GyD.F4y2Ba

open_system(fullfile(matlabroot,GyD.F4y2Ba“例子”GyD.F4y2Ba那GyD.F4y2Ba“controls_id”GyD.F4y2Ba那GyD.F4y2Ba“rct_CSTR.slx”GyD.F4y2Ba))GyD.F4y2Ba

这两个GyD.F4y2Ba集中控制器GyD.F4y2Ba和GyD.F4y2Ba温度控制器GyD.F4y2Ba块拿走了GyD.F4y2Ba装运箱GyD.F4y2Ba植物输出,GyD.F4y2BaCR.GyD.F4y2Ba,作为输入。这个值既是系统的被控变量,也是控制器动作所依赖的调度变量。双击GyD.F4y2Ba集中控制器GyD.F4y2Ba块。GyD.F4y2Ba

这个块是一个PI控制器,其中比例增益GyD.F4y2BaKpGyD.F4y2Ba和积分器GyD.F4y2BaKiGyD.F4y2Ba通过馈送调度参数来确定GyD.F4y2BaCR.GyD.F4y2Ba成一个GyD.F4y2Ba一维查找表GyD.F4y2Ba块。同样,GyD.F4y2Ba温度控制器GyD.F4y2Ba块包含三个实现为查找表的增益。GyD.F4y2Ba

常用控制元素的增益预定的等价物GyD.F4y2Ba

使用GyD.F4y2Ba线性参数变化GyD.F4y2Ba阻止控制系统工具箱库,以实现具有可变参数或系数的公共控制元素。这些块提供了共同的元素,其中增益或参数可用作外部输入。下表列出了这些块的一些应用程序。GyD.F4y2Ba

块GyD.F4y2Ba 应用程序GyD.F4y2Ba
使用这些块来实现巴特沃斯低通滤波器,其中截止频率随调度变量而变化。GyD.F4y2Ba
使用这些块来实现陷波滤波器,陷波频率、宽度和深度随调度变量而变化。GyD.F4y2Ba
  • 不同的PID控制器GyD.F4y2Ba

  • 不同离散PIDGyD.F4y2Ba

  • 不同的2自由度PIDGyD.F4y2Ba

  • 离散不同2dof PIDGyD.F4y2Ba

这些块是预配置的版本GyD.F4y2BaPID控制器GyD.F4y2Ba和GyD.F4y2BaPID控制器(2自由度)GyD.F4y2Ba块。用它们来实现PID控制器,其中PID增益随调度变量的变化而变化。GyD.F4y2Ba
使用这些块实现任意顺序的传递函数,其中分子和分母的多项式系数随调度变量而变化。GyD.F4y2Ba
使用这些块来实现状态空间控制器GyD.F4y2Ba一种GyD.F4y2Ba那GyD.F4y2BaB.GyD.F4y2Ba那GyD.F4y2BaCGyD.F4y2Ba,GyD.F4y2BaD.GyD.F4y2Ba矩阵随调度变量而变化。GyD.F4y2Ba
使用这些块来实现增益计划的观察者形式状态空间控制器,例如LQG控制器。在这样的控制器中,GyD.F4y2Ba一种GyD.F4y2Ba那GyD.F4y2BaB.GyD.F4y2Ba那GyD.F4y2BaCGyD.F4y2Ba那GyD.F4y2BaD.GyD.F4y2Ba矩阵和状态反馈和状态观察者增益矩阵随调度变量而变化。GyD.F4y2Ba

Gain-Scheduled陷波滤波器GyD.F4y2Ba

例如,下图中的子系统使用了一个GyD.F4y2Ba不同的陷波滤波器GyD.F4y2Ba块实现其缺口频率随两个调度变量的函数而变化的过滤器。陷波频率与调度变量之间的关系在a中实现GyD.F4y2BaMATLAB函数GyD.F4y2Ba。GyD.F4y2Ba

Gain-Scheduled PI控制器GyD.F4y2Ba

作为另一个例子,下面的子系统是一个增益调度离散时间PI控制器,其中比例增益和积分增益都依赖于同一个调度变量。该控制器使用GyD.F4y2Ba一维查找表GyD.F4y2Ba块来实现增益调度。GyD.F4y2Ba

矩阵值增益计划GyD.F4y2Ba

您还可以实现Matrix值增益计划Simulink。金宝app矩阵值增益计划需要一个或多个调度变量,并返回矩阵而不是标量值。例如,假设您想要实现的形式随时间变化的LQG控制器:GyD.F4y2Ba

D.GyD.F4y2Ba XGyD.F4y2Ba E.GyD.F4y2Ba =GyD.F4y2Ba 一种GyD.F4y2Ba XGyD.F4y2Ba E.GyD.F4y2Ba +GyD.F4y2Ba B.GyD.F4y2Ba 你GyD.F4y2Ba +GyD.F4y2Ba L.GyD.F4y2Ba (GyD.F4y2Ba yGyD.F4y2Ba -GyD.F4y2Ba CGyD.F4y2Ba XGyD.F4y2Ba E.GyD.F4y2Ba -GyD.F4y2Ba D.GyD.F4y2Ba 你GyD.F4y2Ba )GyD.F4y2Ba 你GyD.F4y2Ba =GyD.F4y2Ba -GyD.F4y2Ba K.GyD.F4y2Ba XGyD.F4y2Ba E.GyD.F4y2Ba 那GyD.F4y2Ba

一般来说,状态空间矩阵在哪里GyD.F4y2Ba一种GyD.F4y2Ba那GyD.F4y2BaB.GyD.F4y2Ba那GyD.F4y2BaCGyD.F4y2Ba,GyD.F4y2BaD.GyD.F4y2Ba,状态反馈矩阵GyD.F4y2BaK.GyD.F4y2Ba,以及观察者增益矩阵GyD.F4y2BaL.GyD.F4y2Ba一切都随着时间而变化。在这种情况下,时间是调度变量,并且增益计划在给定时间确定矩阵的值。GyD.F4y2Ba

在你的Simul金宝appink模型中,你可以使用以下方法实现矩阵值增益调度:GyD.F4y2Ba

  • MATLAB函数GyD.F4y2Bablock -指定一个MATLAB函数,它接受调度变量并返回矩阵值。GyD.F4y2Ba

  • 矩阵插值GyD.F4y2Bablock - 指定查找表以将矩阵值与每个调度变量断点相关联。在断点之间,块内插矩阵元素。(这个街区在里面GyD.F4y2Ba金宝appSimulink Extras.GyD.F4y2Ba图书馆。)GyD.F4y2Ba

对于LQG控制器,使用任何一种GyD.F4y2BaMATLAB函数GyD.F4y2Ba块或GyD.F4y2Ba矩阵插值GyD.F4y2Ba块以实现时变矩阵作为输入GyD.F4y2Ba不同的观察者形式GyD.F4y2Ba块。例如:GyD.F4y2Ba

在这个实现中,每个时变矩阵被实现为GyD.F4y2BaMATLAB函数GyD.F4y2Ba块,其中关联的函数获取模拟时间并返回适当维度的矩阵。GyD.F4y2Ba

你GyD.F4y2Ba可以调整矩阵值增益调度实现作为其中之一GyD.F4y2BaMATLAB函数GyD.F4y2Ba块或块GyD.F4y2Ba矩阵插值GyD.F4y2Ba块。然而,要调一调GyD.F4y2Ba矩阵插值GyD.F4y2Ba块,必须设置GyD.F4y2Ba模拟使用GyD.F4y2Ba到GyD.F4y2Ba解释执行GyD.F4y2Ba。看看GyD.F4y2Ba矩阵插值GyD.F4y2Ba有关模拟模式的信息的块参考页。GyD.F4y2Ba

自定义增益计划控制结构GyD.F4y2Ba

您还可以使用计划的增益来构建您自己的控件元素。例如,模型GyD.F4y2Barct_CSTRGyD.F4y2Ba包括具有三个系数的增益预定的引线补偿器,依赖于调度变量,GyD.F4y2BaCR.GyD.F4y2Ba。要查看该补偿器如何实现,请打开模型并检查GyD.F4y2Ba温度控制器GyD.F4y2Ba子系统。GyD.F4y2Ba

这里是总体收益GyD.F4y2BaKtGyD.F4y2Ba,零点位置GyD.F4y2Ba一种GyD.F4y2Ba,极点的位置GyD.F4y2BaB.GyD.F4y2Ba都实现为一个1-D查找表,以调度变量作为输入。查询表直接提供给产品块。GyD.F4y2Ba

增益时间表的可调性GyD.F4y2Ba

对于查找表或GyD.F4y2BaMATLAB函数GyD.F4y2Ba块实现要调谐的增益计划GyD.F4y2BaSystune.GyD.F4y2Ba,它必须最终进入:GyD.F4y2Ba

  • 线性参数变化块库中的块。GyD.F4y2Ba

  • 一种GyD.F4y2Ba产品GyD.F4y2Ba将增益应用于给定信号的块。例如,如果GyD.F4y2Ba产品GyD.F4y2Ba块以预定增益作为输入GyD.F4y2BaGGyD.F4y2Ba(GyD.F4y2BaαGyD.F4y2Ba)和一个信号GyD.F4y2Ba你GyD.F4y2Ba(GyD.F4y2BaT.GyD.F4y2Ba),则块的输出信号为GyD.F4y2BayGyD.F4y2Ba(GyD.F4y2BaT.GyD.F4y2Ba)=GyD.F4y2BaGGyD.F4y2Ba(GyD.F4y2BaαGyD.F4y2Ba)GyD.F4y2Ba你GyD.F4y2Ba(GyD.F4y2BaT.GyD.F4y2Ba)GyD.F4y2Ba。GyD.F4y2Ba

查找表之间可以有一个或多个块中的一个或多个块GyD.F4y2BaMATLAB函数GyD.F4y2Ba块和GyD.F4y2Ba产品GyD.F4y2Ba块或参数变化块:GyD.F4y2Ba

  • 获得GyD.F4y2Ba

  • 偏见GyD.F4y2Ba

  • 在线性域中等价于单位增益的块,包括:GyD.F4y2Ba

    • 运输延迟GyD.F4y2Ba那GyD.F4y2Ba可变运输延迟GyD.F4y2Ba

    • 饱和GyD.F4y2Ba那GyD.F4y2Ba死区GyD.F4y2Ba

    • 速度限制器GyD.F4y2Ba那GyD.F4y2Ba率转换GyD.F4y2Ba

    • 量化器GyD.F4y2Ba那GyD.F4y2Ba记忆GyD.F4y2Ba那GyD.F4y2Ba零阶持有GyD.F4y2Ba

    • 米纳克斯GyD.F4y2Ba

    • 数据类型转换GyD.F4y2Ba

    • 信号规范GyD.F4y2Ba

  • 切换块,包括:GyD.F4y2Ba

    • 开关GyD.F4y2Ba

    • 多端口切换GyD.F4y2Ba

    • 手动开关GyD.F4y2Ba

插入这样的块可能很有用,例如,可以将增益值限制在某个范围内,或者指定增益计划更新的频率。GyD.F4y2Ba

相关的话题GyD.F4y2Ba