主要内容gydF4y2Ba

模型增益调度控制系统gydF4y2Ba金宝app

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

为模拟Simulink中的增益计划控制系统:金宝appgydF4y2Ba

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

  2. 使用查找表块或gydF4y2BaMATLAB函数gydF4y2Ba块实现取决于调度变量的增益或系数。如果您没有查找表值或MATLABgydF4y2Ba®gydF4y2Ba您可以使用满足性能要求的增益计划表达式gydF4y2BasystunegydF4y2Ba调优。看到gydF4y2Ba在Simulink中调整增益计划金宝appgydF4y2Ba.gydF4y2Ba

  3. 用增益计划元件替换普通控制元件。例如,代替固定系数的PID控制器,使用gydF4y2Ba不同的PID控制器gydF4y2Ba块,其中增益调度决定PID增益。gydF4y2Ba

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

模型将收益gydF4y2Ba

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

可用于实现查找表的块包括:gydF4y2Ba

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

  • MATLAB函数gydF4y2Bablock—当有一个函数表达式将收益与调度变量关联时,使用gydF4y2BaMATLAB函数gydF4y2Ba块。如果表达式是平滑的函数,则使用MATLAB函数可能导致比查找表更平滑的增益变化。另外,如果您使用代码生成产品,例如gydF4y2Ba金宝appSimulink Coder™gydF4y2Ba为了在硬件中实现控制器,MATLAB函数可以比查找表实现更有效的内存。gydF4y2Ba

您可以使用gydF4y2BasystunegydF4y2Ba调整增益计划实现作为查找表或MATLAB函数。看到gydF4y2Ba在Simulink中调整增益计划金宝appgydF4y2Ba.gydF4y2Ba

控制器的预定增益gydF4y2Ba

例如,模型gydF4y2Barct_cstr.gydF4y2Ba包括PI控制器和引线补偿器,其中控制器增益实现为查找表使用gydF4y2Ba一维查找表gydF4y2Ba块。打开模型并检查控制器。gydF4y2Ba

open_system (fullfile (matlabroot,gydF4y2Ba'例子'gydF4y2Ba,gydF4y2Ba“controls_id”gydF4y2Ba,gydF4y2Ba“主要”gydF4y2Ba,gydF4y2Ba'rct_cstr.slx'gydF4y2Ba))gydF4y2Ba

这两个gydF4y2Ba集中控制器gydF4y2Ba和gydF4y2Ba温度控制器gydF4y2Ba块的gydF4y2Ba装运箱gydF4y2Ba植物输出,gydF4y2BaCrgydF4y2Ba作为输入。该值是系统的受控变量和控制器操作所取决于的调度变量。双击gydF4y2Ba集中控制器gydF4y2Ba块。gydF4y2Ba

这个块是一个PI控制器,其中比例增益gydF4y2BaKpgydF4y2Ba和积分器gydF4y2BaKigydF4y2Ba是通过提供调度参数来确定的吗gydF4y2BaCrgydF4y2Ba进入A.gydF4y2Ba一维查找表gydF4y2Ba块。类似地,gydF4y2Ba温度控制器gydF4y2Ba块包含三个实现为查找表的增益。gydF4y2Ba

常用控制元件的增益调度等效gydF4y2Ba

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

堵塞gydF4y2Ba 应用程序gydF4y2Ba
使用这些块实现Butterworth低通滤波器,其中截止频率随调度变量而变化。gydF4y2Ba
使用这些块来实现陷波滤波器,其中陷波频率,宽度和深度随调度变量而变化。gydF4y2Ba
  • 不同的PID控制器gydF4y2Ba

  • 不同离散PIDgydF4y2Ba

  • 不同的2自由度PIDgydF4y2Ba

  • 离散变2DOF PIDgydF4y2Ba

的预配置版本gydF4y2BaPID控制器gydF4y2Ba和gydF4y2BaPID控制器(2自由度)gydF4y2Ba块。用它们来实现PID控制器,其中PID增益随调度变量的变化而变化。gydF4y2Ba
使用这些块实现任意顺序的传递函数,其中分子和分母的多项式系数随调度变量而变化。gydF4y2Ba
使用这些块来实现状态空间控制器gydF4y2Ba一个gydF4y2Ba,gydF4y2BaBgydF4y2Ba,gydF4y2BaCgydF4y2Ba,gydF4y2BaDgydF4y2Ba矩阵随调度变量而变化。gydF4y2Ba
使用这些块来实现增益调度观测器形式的状态空间控制器,例如LQG控制器。在这样的控制器中gydF4y2Ba一个gydF4y2Ba,gydF4y2BaBgydF4y2Ba,gydF4y2BaCgydF4y2Ba,gydF4y2BaDgydF4y2Ba矩阵、状态反馈增益矩阵和状态观测器增益矩阵随调度变量的变化而变化。gydF4y2Ba

Gain-Scheduled陷波滤波器gydF4y2Ba

例如,下图中的子系统使用agydF4y2Ba不同的陷波滤波器gydF4y2Ba块来实现其陷波频率作为两个调度变量的函数变化的滤波器。给出了陷波频率与调度变量之间的关系gydF4y2BaMATLAB函数gydF4y2Ba.gydF4y2Ba

Gain-Scheduled PI控制器gydF4y2Ba

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

矩阵值获得时间表gydF4y2Ba

你也可以在Simulink中实现矩阵值增益调度。金宝app矩阵值增益调度接受一个或多个调度变量,并返回一个矩阵而不是标量值。例如,假设你想实现一个时变的LQG控制器:gydF4y2Ba

dgydF4y2Ba xgydF4y2Ba egydF4y2Ba =gydF4y2Ba 一个gydF4y2Ba xgydF4y2Ba egydF4y2Ba +gydF4y2Ba BgydF4y2Ba ugydF4y2Ba +gydF4y2Ba lgydF4y2Ba (gydF4y2Ba ygydF4y2Ba −gydF4y2Ba CgydF4y2Ba xgydF4y2Ba egydF4y2Ba −gydF4y2Ba DgydF4y2Ba ugydF4y2Ba )gydF4y2Ba ugydF4y2Ba =gydF4y2Ba −gydF4y2Ba KgydF4y2Ba xgydF4y2Ba egydF4y2Ba ,gydF4y2Ba

在哪里,通常,状态空间矩阵gydF4y2Ba一个gydF4y2Ba,gydF4y2BaBgydF4y2Ba,gydF4y2BaCgydF4y2Ba,gydF4y2BaDgydF4y2Ba,状态反馈矩阵gydF4y2BaKgydF4y2Ba,以及观察者增益矩阵gydF4y2BalgydF4y2Ba一切都随时间而变化。在这种情况下,时间是调度变量,增益调度决定了给定时间下矩阵的值。gydF4y2Ba

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

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

  • 矩阵插值gydF4y2Bablock—指定查找表,将矩阵值与每个调度变量断点关联起来。在断点之间,块插入矩阵元素。(这个块在gydF4y2Ba金宝app仿真软件临时演员gydF4y2Ba图书馆。)gydF4y2Ba

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

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

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

自定义增益计划控制结构gydF4y2Ba

您还可以使用计划增益来构建自己的控制元素。例如,模型gydF4y2Barct_cstr.gydF4y2Ba包括一个增益调度超前补偿器,它有三个依赖于调度变量的系数,gydF4y2BaCRgydF4y2Ba.要查看该补偿器是如何实现的,请打开模型并检查gydF4y2Ba温度控制器gydF4y2Ba子系统。gydF4y2Ba

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

增益计划的可调性gydF4y2Ba

查找表或gydF4y2BaMATLAB函数gydF4y2Ba实现可调增益计划的块gydF4y2BasystunegydF4y2Ba,它最终必须满足以下两种情况:gydF4y2Ba

  • 线性参数变化块库中的块。gydF4y2Ba

  • 一个gydF4y2Ba产品gydF4y2Ba将增益应用于给定信号的块。例如,如果gydF4y2Ba产品gydF4y2Ba块以预定增益作为输入gydF4y2BaggydF4y2Ba(gydF4y2Baα.gydF4y2Ba)和一个信号gydF4y2BaugydF4y2Ba(gydF4y2BatgydF4y2Ba),则块的输出信号为gydF4y2BaygydF4y2Ba(gydF4y2BatgydF4y2Ba) =gydF4y2BaggydF4y2Ba(gydF4y2Baα.gydF4y2Ba)gydF4y2BaugydF4y2Ba(gydF4y2BatgydF4y2Ba)gydF4y2Ba.gydF4y2Ba

在查找表或之间可以有一个或多个以下块gydF4y2BaMATLAB函数gydF4y2Ba街区和gydF4y2Ba产品gydF4y2Ba块或参数变化块:gydF4y2Ba

  • 获得gydF4y2Ba

  • 偏见gydF4y2Ba

  • 等同于线性域中的单位增益的块,包括:gydF4y2Ba

    • 运输延误gydF4y2Ba,gydF4y2Ba变量传输延迟gydF4y2Ba

    • 饱和gydF4y2Ba,gydF4y2Ba盲区gydF4y2Ba

    • 速率限制器gydF4y2Ba,gydF4y2Ba率转换gydF4y2Ba

    • 量化器gydF4y2Ba,gydF4y2Ba内存gydF4y2Ba,gydF4y2Ba零级举行gydF4y2Ba

    • 极大极小gydF4y2Ba

    • 数据类型转换gydF4y2Ba

    • 信号规范gydF4y2Ba

  • 开关模块,包括:gydF4y2Ba

    • 开关gydF4y2Ba

    • 多端口切换gydF4y2Ba

    • 手动开关gydF4y2Ba

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

相关话题gydF4y2Ba