模型增益调度控制系统gydF4y2Ba万博1manbetx

在仿真万博1manbetx软件gydF4y2Ba®gydF4y2Ba,可以对控制器增益或系数取决于调度变量(如时间、操作条件或模型参数)的增益调度控制系统建模。控制系统工具箱中的线性变参数块库™ 用于实现具有可变增益的通用控制系统元素。使用块,例如查找表或gydF4y2BaMATLAB函数gydF4y2Ba块来实现增益调度,该调度给出了这些增益对调度变量的依赖性。gydF4y2Ba

要在Simulink中对增益计划控制系统建模:万博1manbetxgydF4y2Ba

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

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

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

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

模型预定收益gydF4y2Ba

增益计划将调度变量的当前值转换为控制器增益。Simulink中有几种实现增益计划的方法。万博1manbetxgydF4y2Ba

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

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

  • MATLAB函数gydF4y2Ba块-当您有一个与调度变量的增益相关的函数表达式时,使用gydF4y2BaMATLAB函数gydF4y2Ba块如果表达式是平滑函数,则使用MATLAB函数可导致比查找表更平滑的增益变化。此外,如果您使用代码生成产品,如gydF4y2Ba万博1manbetxSimulink编码器™gydF4y2Ba为了在硬件中实现控制器,MATLAB函数可以比查找表实现更有效的内存。gydF4y2Ba

你可以用gydF4y2BasystunegydF4y2Ba要调整增益计划,请将其实现为查找表或MATLAB函数。看见gydF4y2Ba在Simulink中调整增益计划万博1manbetxgydF4y2Ba.gydF4y2Ba

控制器的预定增益gydF4y2Ba

例如,模型gydF4y2Barct_CSTRgydF4y2Ba包括一个PI控制器和一个超前补偿器,其中控制器增益使用gydF4y2Ba一维查找表gydF4y2Ba块。打开模型并检查控制器。gydF4y2Ba

open_system (fullfile (matlabroot,gydF4y2Ba“例子”gydF4y2Ba,gydF4y2Ba“控制\u id”gydF4y2Ba,gydF4y2Ba“rct_CSTR.slx”gydF4y2Ba))gydF4y2Ba

两者gydF4y2Ba浓度控制器gydF4y2Ba和gydF4y2Ba温度控制器gydF4y2Ba块的gydF4y2BaCSTRgydF4y2Ba工厂产量,gydF4y2BaCrgydF4y2Ba,作为输入。该值既是系统的受控变量,也是控制器操作所依赖的调度变量。双击gydF4y2Ba浓度控制器gydF4y2Ba块。gydF4y2Ba

该模块是一个PI控制器,其中比例增益gydF4y2Ba金伯利进程gydF4y2Ba和积分器增益gydF4y2Ba碘化钾gydF4y2Ba是通过提供调度参数来确定的吗gydF4y2BaCrgydF4y2Ba变成gydF4y2Ba一维查找表gydF4y2Ba块。类似地,gydF4y2Ba温度控制器gydF4y2Ba块包含作为查找表实现的三个增益。gydF4y2Ba

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

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

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

  • 离散变PIDgydF4y2Ba

  • 变参数PIDgydF4y2Ba

  • 离散变2DOF PIDgydF4y2Ba

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

增益定时陷波滤波器gydF4y2Ba

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

增益定时PI控制器gydF4y2Ba

作为另一个例子,以下子系统是增益调度的离散时间PI控制器,其中比例增益和积分增益取决于相同的调度变量。此控制器使用gydF4y2Ba一维查找表gydF4y2Ba块来实现增益计划。gydF4y2Ba

矩阵值获得时间表gydF4y2Ba

你也可以在Simulink中实现矩阵值增益调度。万博1manbetx矩阵值增益调度接受一个或多个调度变量,并返回一个矩阵而不是标量值。例如,假设你想实现一个时变的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

在Simulin万博1manbetxk模型中,可以使用以下方法实现矩阵值增益计划:gydF4y2Ba

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

  • 矩阵插值gydF4y2Bablock—指定查找表,将矩阵值与每个调度变量断点关联起来。在断点之间,块插入矩阵元素。(这个块在gydF4y2Ba万博1manbetx仿真软件临时演员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_CSTRgydF4y2Ba包括一个增益调度超前补偿器,它有三个依赖于调度变量的系数,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