大厦可调模式

这个例子说明了如何与使用创建的控制系统的可调模型systunelooptune

背景

您可以调整增益和参数的控制系统systunelooptune。要使用这些命令,你需要构造控制系统的可调模型,识别并参数及其可调谐元件。这是通过结合使用可调元件的参数模型的固定元素的数字LTI模型来完成。

使用预定义的可调元素

您可以使用下面的“参数”块中的一个普遍遇到的可调谐元件型号:

  • tunableGain:可调增益

  • tunablePID:可调PID控制器

  • tunablePID2:可调二自由度PID控制器

  • tunableTF:可调传递函数

  • 可调参数:可调优状态空间模型。

例如,创建图1的前馈/反馈配置的可调模型,其中 C 是可调谐PID控制器和 F 是可调的一阶传递函数。

图1:控制系统的前馈和反馈路径

首先对框图中的每个块建模,使用合适的参数块 C F

G = TF(1,[1 1]);C = tunablePID('C''的pid');%的可调谐PID块F = tunableTF ('F'0 1);%可调的一阶传递函数

然后用连接建立整体框图的模型。要指定块是如何连接的,请标记每个块的输入和输出,并使用和结建模sumblk

G.u ='U';G。ÿ=“y”;C.u ='E';C。ÿ=加州大学的;F.u ='R';F.y =“用友”;%总结连接S1 = sumblk(的 'e = R-Y');S2 = sumblk('U =超滤+的uC');T =连接(G、C、F, S1, S2,'R'“y”
T =具有1个输出,1个输入,3个状态和以下模块的广义连续时间状态空间模型:C:参数PID控制器,1次出现。参数SISO传递函数,0个零,1个极点,1次出现。键入“ss(T)”查看当前值,“get(T)”查看所有属性,以及“T”。“模块”来与模块进行交互。

这将创建一个广义状态空间模型Ť从闭环传递函数的[Rÿ。这个模型依赖于可调块CF。您可以使用systune自动调整PID增益和前馈系数a、b根据您的性能要求。用showTunable查看可调参数块的当前值。

showTunable(T)
名称:C连续时间I-only控制器。——F = 10 + 10的名字:F连续时间传递函数。

与可调参数进行交互

您可以调整可调谐元件的参数 C F 通过与对象的交互CF。用得到查看他们的财产列表。

得到(C)
KP:[1x1的param.Continuous的Ki:1x1的param.Continuous]的Kd:[1x1的param.Continuous] TF:[1x1的param.Continuous] IFormula: '' DFormula: '' 名称: 'C' TS:0 TIMEUNIT:'秒' InputName:{ 'E'} InputUnit:{ ''} InputGroup:[1x1的结构] OutputName:{ '的uC'} OutputUnit:{ ''} OutputGroup:[1x1的结构]注:[为0x1字符串]的UserData:]

PID控制器具有四个可调参数Kp、Ki Kd,特遣部队。可调块C含有这些参数的每个的描述。参数属性包括电流值,最小值和最大值,并且所述参数是空闲还是固定的。

C.Kp
ANS =名称:“KP的值:0最小值:-Inf最大值:Inf文件免:1比例:1的信息:[1x1的结构]的1x1 param.Continuous

设置相应的属性以覆盖默认值。例如,您可以固定时间常数TF为值0.1由

C.Tf.Value = 0.1;C.Tf.Free = FALSE;

创建自定义可调的元素

对于上面列出的预定义块不包含的可调元素,您可以根据基本的真实参数创建自己的参数化(雷阿尔卑)。以低通滤波器为例

F 小号 = 一个 小号 + 一个

其中系数 一个 是可调的。对此可调元模型,创建一个真正的参数 一个 并确定 F 作为一个传递函数,其分子和分母是的函数 一个 。这将创建一个广义状态空间模型F由可调谐的标量参数的低通滤波器的一个

A =雷阿尔卑('一个',1);%的实际可调参数,初始值1F = tf(a,[1 a])
F =具有1个输出,1个输入,1个状态和以下块的广义连续时间状态空间模型:a:标量参数,2次出现。键入“ss(F)”可以查看当前值,键入“get(F)”可以查看所有属性,以及“F”。“模块”来与模块进行交互。

同样,你可以使用真正的参数陷波滤波器模型

ñ 小号 = 小号 2 + 2 ζ 1 ω ñ 小号 + ω ñ 2 小号 2 + 2 ζ 2 ω ñ 小号 + ω ñ 2

具有可调系数 ω ñ ζ 1 ζ 2

WN =雷阿尔卑('WN', 100);zeta1 = realp ('zeta1',1);zeta1.Maximum = 1;% zeta1 <= 1zeta2 = realp ('zeta2',1);zeta2.Maximum = 1;% zeta2 <= 1N = TF([1 2 * * zeta1 WN WN ^ 2],[1 2 * * zeta2 WN WN ^ 2]);可调陷波滤波器

您还可以创建与矩阵值参数的可调谐元件。例如,建模基于观测器的控制器 C 小号 用公式

d X d Ť = 一个 X + ü + 大号 ÿ - C X ü = - ķ X

和可调增益矩阵 ķ 大号

%植物具有6个状态,2所控制,3个测量[A, B, C] = ssdata (rss (6 3 2));K = realp (“K”,零(2,6));L =雷阿尔卑(“L”, 0 (6,3));C = ss (a - b * K-L * C、L - k, 0)
C =广义连续时间状态空间模型与2个输出,3个输入,6个状态,并且以下块:K:参数2x6的矩阵,2次出现。L:参数6X3矩阵,2次出现。键入“SS(C)”查看当前值,“得到(C)”可以看到所有属性,以及“C.Blocks”与块进行交互。

使开环的要求

systunecommand采用整个控制系统的闭环模型,就像可调模型一样Ť在本例的开始构建。这样的模型不容易支持开环分析或开环规范,如环路形状和稳万博1manbetx定裕度。若要访问开环响应,请插入AnalysisPoint块,如图2所示。

图2:分析点块

AnalysisPoint块可用于标记感兴趣的内部信号以及位置,在那里打开反馈回路和测量开环响应。此块计算为单位增益,对模型响应没有影响。例如,构建一个闭环模型Ť图2,其中的反馈环路的 C 是可调的PID。

G = TF(1,[1 1]);C = tunablePID('C''的pid');AP = AnalysisPoint(“X”);T =反馈(G * C,美联社);

您现在可以使用getLoopTransfer计算在“X”位置测量的(负反馈)环传递函数。请注意,这个循环传递函数是 大号 = G C 为图2的反馈循环。

L = getLoopTransfer (T)“X”,-1);在“X”处进行%循环传输CLF,博德(L,'B',GC,“r——”

您还可以在指定目标循环形状或稳定边距时引用位置“X”systune。要求那么适用于在该位置测得的环路传递。

在“X”环传递%目标的环形状Req1 = TuningGoal.LoopShape (“X”,TF(5,[1 0]));%目标的稳定裕度在“X”环传递REQ2 = TuningGoal.Margins(“X”6、40);

在一般情况下,循环打开位置在位置财产AnalysisPoint块。对于单通道分析点,块名称被用作默认位置名称。对于多通道分析点,索引被附加到块名称以形成默认的位置名称。

AP = AnalysisPoint(“Y”2);%双通道分析点AP.Location
ANS =2×1单元{ 'Y(1)'} { 'Y(2)'}

您可以覆盖默认的位置名称并通过修改使用更具描述性的名称位置属性。

%重命名环状开口位置,以“InnerLoop”和“OuterLoop”。AP.Location = {“InnerLoop”;“远核圈”};AP.Location
ANS =2×1单元{' InnerLoop}{“远核圈”}

也可以看看

相关话题