主要内容

pidstd2

创建标准形式的二自由度PID控制器,转换为标准形式的二自由度PID控制器

语法

C2 = pidstd2 (Kp、钛、Td, N, b, c)
C2 = pidstd2 (Kp、钛、Td, N, b, c, Ts)
C2 = pidstd2(系统)
C2 = pid2 (___、名称、值)

描述

pid2控制器对象表示并联形式的两自由度(2-DOF) PID控制器。使用pid2创建一个pid2控制器对象从已知的系数或转换一个动态系统模型pid2对象。

两自由度(2-DOF) PID控制器包括对比例项和导数项的设定值加权。二自由度PID控制器能够快速抑制扰动,而不增加设定值跟踪的超调量。二自由度PID控制器也有助于减轻参考信号变化对控制信号的影响。下面的插图显示了一个典型的控制体系结构使用二自由度PID控制器。

C2= pidstd2 (Kp“透明国际”道明Nbc创建了一个具有比例增益的连续时间二自由度PID控制器Kp,积分器和导数时间常数“透明国际”,道明,和微分滤波器除数N.控制器还具有设定值加权b对比例项,和设定值加权c关于导数项。二自由度控制器输出(u)及其两个输入(ry)由:

u K p b r y + 1 T 年代 r y + T d 年代 T d N 年代 + 1 c r y

这个表示法是标准形式.如果所有系数都是实数,那么结果C2是一个pidstd2控制器对象。如果这些系数中的一个或多个可调realpgenmat),然后C2是可调的广义状态空间(一族)模型对象。

C2= pidstd2 (Kp“透明国际”道明NbcTs建立了带采样时间的离散二自由度PID控制器Ts.控制器输出与输入的关系为:

u K p b r y + 1 T F z r y + T d T d N + D F z c r y

如果z),DFz)是离散积分公式用于积分器和导数滤波器。默认情况下,

F z D F z T 年代 z 1

为了选择不同的离散积分器公式,使用IFormulaDFormula属性。(见属性的更多信息)。如果DFormula“ForwardEuler”(默认值)N,然后Ts道明,N必须满足Td / N > Ts / 2.这一要求确保了稳定的微分滤波器极点。

C2= pidstd2 (sys转换动态系统sys达到标准形式pidstd2控制器对象。

C2= pid2 (___名称,值将附加属性指定为逗号分隔的对名称,值参数。

输入参数

Kp

比例增益。

Kp可以是:

  • 一个实数和有限值。

  • 实数和有限值的数组。

  • 可调参数(realp)或广义矩阵(genmat).

  • 用于增益调度调优的可调曲面,使用tunableSurface

默认值:1

“透明国际”

积分器。

“透明国际”可以是:

  • 一个实且正的值。

  • 实数和正数的数组。

  • 可调参数(realp)或广义矩阵(genmat).

  • 用于增益调度调优的可调曲面,使用tunableSurface

“透明国际”时,控制器无积分作用。

默认值:

道明

微分时间。

道明可以是:

  • 实的、有限的、非负的值

  • 由实数、有限值和非负值组成的数组。

  • 可调参数(realp)或广义矩阵(genmat).

  • 用于增益调度调优的可调曲面,使用tunableSurface

道明= 0时,控制器无导数动作。

默认值:0

N

导数过滤因子。

N可以是:

  • 一个实且正的值。

  • 实数和正数的数组。

  • 可调参数(realp)或广义矩阵(genmat).

  • 用于增益调度调优的可调曲面,使用tunableSurface

N,控制器对导数动作没有过滤器。

默认值:

b

在比例项上设定权重。

b可以是:

  • 实的、非负的、有限的值

  • 一个由实的、非负的、有限值组成的数组。

  • 可调参数(realp)或广义矩阵(genmat).

  • 用于增益调度调优的可调曲面,使用tunableSurface

b= 0时,设定值的变化不直接进入比例项。

默认值:1

c

导数项的设定值权重。

c可以是:

  • 实的、非负的、有限的值

  • 一个由实的、非负的、有限值组成的数组。

  • 可调参数(realp)或广义矩阵(genmat).

  • 用于增益调度调优的可调曲面,使用tunableSurface

c= 0时,设定点的变化不直接进入导数项。

默认值:1

Ts

样品时间。

来创建一个离散时间pidstd2控制器,提供正的实值(t > 0).pidstd2不支持采样时间不确万博1manbetx定的离散时间控制器(Ts = 1).

Ts必须是标量值。在数组中pidstd2控制器,每个控制器必须具有相同的Ts

默认值:0(连续时间)

sys

将SISO动态系统转换为标准pidstd2的形式。

sys做一个两输入一输出的系统。sys必须表示一个有效的2-DOF控制器,可以用“透明国际”> 0,道明≥0,N> 0。

sys也可以是一组SISO动态系统。

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

使用名称,值语法设置数值积分公式IFormulaDFormula一个离散时间pidstd2控制器,或设置其他对象属性,例如InputNameOutputName.的可用属性的信息pidstd2控制器对象,看到属性

输出参数

C2

二自由度PID控制器,返回为pidstd2对象的数组pidstd2控制器对象,一族对象,或一族数组中。

  • 如果所有系数都是标量数值,则C2是一个pidstd2控制器对象。

  • 如果一个或多个系数是一个数字数组,C2pidstd2控制器对象。控制器类型(如PI、PID或PDF)取决于增益的值。例如,当道明= 0,但Kp“透明国际”是非零和有限的,C2为PI控制器。

  • 如果一个或多个系数是可调参数(realp)、广义矩阵(genmat),或可调增益面(tunableSurface),然后C2是一个广义状态空间模型(一族).

属性

b, c

分别设置权重的比例项和导数项。bc价值是实数、有限数和正数。当你创建一个二自由度PID控制器使用pidstd2命令时,这些属性的初始值由b,c分别输入参数。

Kp

比例增益。

的价值Kp是实数和有限的。当你创建一个二自由度PID控制器使用pidstd2命令时,此属性的初始值由Kp输入参数。

“透明国际”

积分器。“透明国际”是真实而积极的。当你创建一个二自由度PID控制器使用pidstd2命令时,此属性的初始值由“透明国际”输入参数。当“透明国际”时,控制器无积分作用。

道明

微分时间。道明是实的,有限的,非负的。当你创建一个二自由度PID控制器使用pidstd2命令时,此属性的初始值由道明输入参数。当道明= 0时,控制器无导数动作。

N

导数过滤因子。N必须是真实和积极的。当你创建一个二自由度PID控制器使用pidstd2命令时,此属性的初始值由N输入参数。

IFormula

离散积分公式如果z)为离散时间积分器pidstd2控制器C2.的输入和输出之间的关系C2是由:

u K p b r y + 1 T F z r y + T d T d N + D F z c r y

IFormula可以取以下值:

  • “ForwardEuler”- - - - - -如果z) = T 年代 z 1

    该公式适用于小样本时间,其中奈奎斯特限制比控制器的带宽大。对于较大的样本时间,ForwardEuler公式会导致不稳定,即使离散一个在连续时间内稳定的系统。

  • “BackwardEuler”- - - - - -如果z) = T 年代 z z 1

    优势BackwardEuler公式是用这个公式离散稳定的连续时间系统总是得到一个稳定的离散时间结果。

  • “梯形”- - - - - -如果z) = T 年代 2 z + 1 z 1

    优势梯形公式是用这个公式离散稳定的连续时间系统总是得到一个稳定的离散时间结果。在所有可用的积分公式中梯形公式得到离散系统和相应的连续时间系统的频域特性之间最接近的匹配。

C2为连续时间控制器,IFormula''

默认值:“ForwardEuler”

DFormula

离散积分公式DFz)为离散时间的导数滤波器pidstd2控制器C2.的输入和输出之间的关系C2是由:

u K p b r y + 1 T F z r y + T d T d N + D F z c r y

DFormula可以取以下值:

  • “ForwardEuler”- - - - - -DFz) = T 年代 z 1

    该公式适用于小样本时间,其中奈奎斯特限制比控制器的带宽大。对于较大的样本时间,ForwardEuler公式会导致不稳定,即使离散一个在连续时间内稳定的系统。

  • “BackwardEuler”- - - - - -DFz) = T 年代 z z 1

    优势BackwardEuler公式是用这个公式离散稳定的连续时间系统总是得到一个稳定的离散时间结果。

  • “梯形”- - - - - -DFz) = T 年代 2 z + 1 z 1

    优势梯形公式是用这个公式离散稳定的连续时间系统总是得到一个稳定的离散时间结果。在所有可用的积分公式中梯形公式得到离散系统和相应的连续时间系统的频域特性之间最接近的匹配。

    梯形DFormula是不可用的pidstd2无微分滤波器控制器(N =正).

C2为连续时间控制器,DFormula''

默认值:“ForwardEuler”

InputDelay

系统输入时间延迟。InputDelaya总是0吗pidstd2控制器对象。

OutputDelay

系统输出时间延迟。OutputDelaya总是0吗pidstd2控制器对象。

Ts

样品时间。对于连续时间模型,t = 0.对于离散时间模型,Ts为表示采样周期的正标量。的指定的单元表示该值TimeUnit模型的属性。PID控制器模型不支持未指定的采样时间(万博1manbetxTs = 1).

更改此属性不会离散或重新取样模型。使用汇集d2c在连续时间表示和离散时间表示之间进行转换。使用d2d改变离散时间系统的采样时间。

默认值:0(持续时间)

TimeUnit

单位为时间变量,即样本时间Ts,以及模型中的任何时间延迟,指定为以下值之一:

  • “纳秒”

  • 微秒的

  • 的毫秒

  • “秒”

  • “分钟”

  • “小时”

  • “天”

  • “周”

  • “月”

  • “年”

更改此属性不会影响其他属性,因此会更改整个系统行为。使用chgTimeUnit在不改变系统行为的情况下在时间单位之间进行转换。

默认值:“秒”

InputName

输入通道名称,指定为字符向量或字符向量的2 × 1单元格数组。使用此属性来命名控制器模型的输入通道。例如,分配名称定位点测量为输入的二自由度PID控制器模型C如下。

C.InputName = {“选点”“测量”};

或者,使用自动向量展开来分配两个输入名称。例如:

C.InputName =“C-input”

输入名称自动展开为{“C-input(1)”,“C-input (2)}

你可以使用速记符号u参考InputName财产。例如,C.u相当于C.InputName

输入通道名有几种用途,包括:

  • 在模型显示和图表上识别通道

  • 在连接模型时指定连接点

默认值:{”;“}

InputUnit

输入通道单元,指定为字符向量的2 × 1单元数组。使用此属性跟踪输入信号单元。例如,分配单元到参比输入和浓度单位摩尔/ m ^ 3为测量输入的二自由度PID控制器模型C如下。

C.InputUnit = {“伏”《摩尔/ m ^ 3》};

InputUnit对系统行为没有影响。

默认值:{”;“}

InputGroup

输入通道组。PID控制器模型不需要此属性。

默认值:结构体没有字段

OutputName

输出通道名称,指定为字符向量。使用此属性来命名控制器模型的输出通道。例如,分配名称控制到控制器模型的输出C如下。

C.OutputName =“控制”

你可以使用速记符号y参考OutputName财产。例如,研讨会相当于C.OutputName

输入通道名有几种用途,包括:

  • 在模型显示和图表上识别通道

  • 在连接模型时指定连接点

默认值:空的特征向量,''

OutputUnit

输出通道单元,指定为字符向量。使用此属性跟踪输出信号单元。例如,分配单元到控制器模型的输出C如下。

C.OutputUnit =“伏”

OutputUnit对系统行为没有影响。

默认值:空的特征向量,''

OutputGroup

输出通道组。PID控制器模型不需要此属性。

默认值:结构体没有字段

的名字

系统名,指定为字符向量。例如,“system_1”

默认值:''

笔记

希望与系统关联的任何文本,存储为字符串或字符向量单元格数组。该属性存储您提供的任何数据类型。例如,如果sys1sys2是动态系统模型,可以设置它们吗笔记属性如下:

sys1。笔记="sys1有一个字符串。";sys2。笔记=sys2有一个字符向量。;sys1。笔记sys2。笔记
Ans = ' sys1 has a string. ' Ans = 'sys2 has a character vector.'

默认值:(0×1的字符串)

用户数据

您想要与系统关联的任何类型的数据,指定为任何MATLAB®数据类型。

默认值:[]

SamplingGrid

为模型数组采样网格,指定为数据结构。

对于通过抽样一个或多个独立变量而派生的模型数组,此属性跟踪与数组中每个模型相关联的变量值。当您显示或绘制模型数组时,将显示此信息。使用此信息将结果追踪到独立变量。

将数据结构的字段名设置为抽样变量的名称。将字段值设置为与数组中每个模型相关联的采样变量值。所有抽样变量都应该是数值和标量值,所有抽样值的数组都应该与模型数组的维数相匹配。

例如,假设你创建了一个11乘1的线性模型数组,sysarr,通过对线性时变系统进行定时快照t = 0:10.下面的代码使用线性模型存储时间样本。

sysarr。SamplingGrid =结构(“时间”0:10)

类似地,假设你创建了一个6乘9的模型数组,,通过对两个变量独立抽样,ζw.下面的代码附加了(ζ,w)

[zeta,w] = ndgrid(<6 values of zeta>,<9 values of w>)“ζ”ζ,' w 'w)

当您显示,数组中的每一项都包含相应的ζw值。

(:: 1, - 1)(ζ= 0.3 w = 5) = 25  -------------- s ^ 2 + 3 s + 25米(:,:,2,1)[ζ= 0.35 w = 5] = 25  ---------------- s ^ 2 + 3.5 s + 25…

用于在Simulink中线性化生成的模型阵列万博1manbetx®模型在多个参数值或操作点,软件填充SamplingGrid自动使用数组中每个条目对应的变量值。例如,万博1manbetx仿真软件控制设计™命令线性化(万博1manbetx仿真软件控制设计)slLinearizer(万博1manbetx仿真软件控制设计)填充SamplingGrid以这种方式。

默认值:[]

例子

全部折叠

创建一个连续时间2-DOF PDF控制器的标准形式。为此,将积分时间常数设为.将其他增益和滤波器除数设置为所需的值。

Kp = 1;Ti =正;%不积分器Td = 3;N = 6;b = 0.5;在比例项上设定权重c = 0.5;衍生品项上设定权重的百分比C2 = pidstd2 (Kp、钛、Td, N, b, c)
C2 = s u = Kp * [(b*r-y) + Td * ------------ * (c*r-y)] (Td/N)*s+1,其中Kp = 1, Td = 3, N = 6, b = 0.5, c = 0.5为标准形式的连续二自由度PDF控制器

显示屏显示控制器类型、公式和参数值,并验证控制器没有积分器项。

使用梯形离散公式,以标准形式创建一个离散时间2自由度PI控制器。使用以下命令指定公式名称,值语法。

Kp = 1;Ti = 2.4;Td = 0;N =正;b = 0.5;c = 0;t = 0.1;C2 = pidstd2 (Kp、钛、Td, N, b, c, Ts,“IFormula”“梯形”
C2 = 1 Ts*(z+1) u = Kp * [(b*r-y) + ---- * -------- *(r-y)] Ti 2*(z-1)带有Kp = 1, Ti = 2.4, b = 0.5, Ts = 0.1采样时间:0.1秒标准形式的离散时间二自由度PI控制器

设置道明= 0表示无导数项的PI控制器。如显示所示,的值Nc不在此控制器中使用。结果表明,该积分器采用了梯形公式。

创建标准形式的二自由度PID控制器,并设置动态系统属性InputNameOutputName.命名输入和输出是有用的,例如,当您使用连接命令。

C2 = pidstd2(1、2、3、10、1,1,“InputName”,{“r”“y”},“OutputName”“u”
C2 = 1 1 s u = Kp * ((b * r y ) + ---- * --- * ( r y) +道明  * ------------ * ( c * r y)] Ti (Td / N) *年代与Kp = 1 + 1 = 2, Td = 3, N = 10, b = 1, c = 1连续时间双自由度PIDF控制器标准形式

二自由度PID控制器有两个输入和一个输出。因此,“InputName”属性是一个包含两个名称的数组,每个输入一个名称。模型显示不显示PID控制器的输入和输出名称,但是您可以检查属性值来查看它们。例如,验证控制器的输入名称。

C2。我nputName
ans =2 x1细胞{' r '} {' y '}

创建一个标准形式的2-DOF PI控制器的2 × 3网格。比例增益范围从1-2横跨阵列行,和积分器时间常数范围从5-9横跨列。

要构建PID控制器数组,首先从表示增益的数组开始。

Kp = [1 1 1;2 2 2];Ti = [5:2:9; 5:2:9];

当你把这些数组传递给pidstd2命令,该命令返回控制器阵列。

pi_array = pidstd2 (Kp, Ti, 0,正无穷,0.5,0,“t”, 0.1,“IFormula”“BackwardEuler”);大小(pi_array)
2x3阵列二自由度PID控制器。每个PID有一个输出和两个输入。

如果你为某些系数提供标量值,pidstd2自动展开它们,并将相同的值赋给数组中的所有项。例如,在这个例子中,道明= 0,这样数组中的所有项都是PI控制器。此外,数组中的所有项都有b= 0.5。

使用数组索引访问数组中的项。对于动态系统阵列,前两个维度是模型的I/O维度,其余维度是阵列维度。因此,下面的命令提取数组中的(2,3)项。

pi23 = pi_array(:: 2、3)
pi23 = 1 Ts*z u = Kp * [(b*r-y) + ---- * ------ * (r-y)] Ti z-1,其中Kp = 2, Ti = 9, b = 0.5, Ts = 0.1采样时间:0.1秒标准形式的离散时间二自由度PI控制器

控件还可以构建一个PID控制器数组堆栈命令。

C2 = pidstd2(1、5、0.1,正无穷,0.5,0.5);% PID控制器C2f = pidstd2(1、5、0.1、0.5、0.5、0.5);% PID控制器带滤波器pid_array =堆栈(2 C2 C2f);%沿第2数组维度堆叠

这些命令返回一个1乘2的控制器数组。

大小(pid_array)
2-DOF PID控制器1x2数组。每个PID有一个输出和两个输入。

一个阵列中的所有PID控制器必须具有相同的采样时间、离散积分器公式和动态系统特性,如InputNameOutputName

将平行形式pid2控制器到标准形式。

并行PID形式用比例增益、积分增益和微分增益来表示控制器的动作KpKi,Kd,过滤时间常数特遣部队.你可以转换一个平行形式pid2将控制器转换为标准形式pidstd2命令,前提是以下两个条件都为真:

  • pid2控制器可以用有效的标准形式表示。

  • 的收益KpKi,Kdpid2所有控制器都有相同的符号。

例如,考虑下面的并行形式控制器。

Kp = 2;Ki = 3;Kd = 4;Tf = 2;b = 0.1;c = 0.5;C2_par = pid2 (Kp、Ki Kd, Tf, b, c)
C2_par = 1 s u = Kp (b*r-y) + Ki——(r-y) + Kd -------- (c*r-y) s Tf*s+1,具有Kp = 2, Ki = 3, Kd = 4, Tf = 2, b = 0.1, c = 0.5并联形式的连续二自由度PIDF控制器。

使用。将该控制器转换为并行形式pidstd2

C2_std = pidstd2 (C2_par)
C2_std = 1 1 s u = Kp * ((b * r y ) + ---- * --- * ( r y) +道明  * ------------ * ( c * r y)] Ti (Td / N) *年代和Kp = 2 + 1, Ti = 0.667, Td = 2, N = 1, b = 0.1, c = 0.5连续时间双自由度PIDF控制器标准形式

显示屏确认了新的标准形式。响应图证实了这两种形式是等价的。

bodeplot (C2_par“b -”C2_std,“r——”)传说(“平行”“标准”“位置”“东南”

图中包含4个轴对象。在(1)中包含2个类型为line的对象。这些对象代表平行,标准。axis对象2包含2个类型为line的对象。这些对象代表平行,标准。在(2)中包含2个类型为line的对象。这些对象代表平行,标准。axis对象4包含2个类型为line的对象。这些对象代表平行,标准。

将表示二自由度PID控制器的二输入一输出连续时间动态系统转换为标准形式pidstd2控制器。

下面的状态空间矩阵表示一个二自由度PID控制器。

一个= (0,0,0,-8.181);B = [1,1; -0.1109, 8.181);C = [0.2301, 10.66];D = [0.8905, -11.79];sys = ss (A, B, C, D);

重写sys根据标准形式的PID参数Kp“透明国际”道明,N,和设定值权重bc

C2 = pidstd2(系统)
C2 = 1 1 s u = Kp * ((b * r y ) + ---- * --- * ( r y) +道明  * ------------ * ( c * r y)] Ti (Td / N) *年代与Kp = 1.13 + 1 = 4.91, Td = 1.15, N = 9.43, = 0.66 b, c = 0.0136连续时间双自由度PIDF控制器标准形式

将带有微分滤波器的二自由度PID控制器的离散时间动态系统转换为标准系统pidstd2的形式。

状态空间矩阵表示采样时间为0.05 s的离散二自由度PID控制器。

A = (1 0, 0, 0.6643);B = [0.05, -0.05;-0.004553、0.3357);C = [0.2301, 10.66];D = [0.8905, -11.79];t = 0.05;sys = ss (A, B, C, D, Ts);

当你转换sys到2-DOF PID形式,结果取决于你为转换指定的离散积分器公式。例如,使用默认值,ForwardEuler,对于积分器和导数。

C2fe = pidstd2(系统)
C2fe = 1 Ts 1 u = Kp * ((b * r y ) + ---- * ------ * ( r y) +道明  * --------------- * ( c * r y)] Ti z 1 (Td / N) + Ts / (z 1) Kp = 1.13, = 4.91, Td = 1.41, N = 9.43, = 0.66 b, c = 0.0136, t = 0.05样品时间:0.05秒离散时间双自由度PIDF控制器标准形式

现在使用梯形公式。

C2trap = pidstd2 (sys,“IFormula”“梯形”“DFormula”“梯形”
C2trap = 1 * (z + 1) Ts 1 u = Kp * ((b * r y ) + ---- * -------- * ( r y) +道明  * ----------------------- * ( c * r y)] Ti 2 * (z 1) (Td / N) + Ts / 2 * (z + 1) / (z 1) Kp = 1.12, = 4.89, Td = 1.41, N = 11.4, = 0.658 b, c = 0.0136, t = 0.05样品时间:0.05秒离散时间双自由度PIDF控制器标准形式

显示结果的系数值和函数形式的差异。

对于一些动态系统,尝试使用梯形BackwardEuler积分器公式会产生无效的结果,如负数“透明国际”道明,或N值。在这种情况下,pidstd2返回一个错误。

对连续时间标准形式的二自由度PID控制器进行离散化,并给出了积分和微分滤波公式。

创建一个连续时间pidstd2采用零阶保持器方法对其进行离散汇集命令。

C2con = pidstd2(10、5、3、0.5、1、1);%连续时间二自由度PIDF控制器C2dis1 =汇集(C2con, 0.1,“zoh”
C2dis1 = 1 Ts 1 u = Kp * ((b * r y ) + ---- * ------ * ( r y) +道明  * --------------- * ( c * r y)] Ti z 1 (Td / N) + Ts / (z 1) Kp = 10, Ti = 5, Td = 3.03, N = 0.5, = 1 b, c = 1, Ts = 0.1样品时间:0.1秒离散时间双自由度PIDF控制器标准形式

显示显示汇集为离散时间控制器计算新的PID系数。

离散控制器的离散积分器公式依赖于汇集离散化方法,如提示.为zoh方法,IFormulaDFormulaForwardEuler

C2dis1。如果或mula
ans = ' ForwardEuler '
C2dis1。DF或mula
ans = ' ForwardEuler '

如果你想使用不同的公式返回汇集,则可直接设置TsIFormula,DFormula将控制器的属性设置为所需值。

C2dis2 = C2con;C2dis2。t = 0.1;C2dis2。如果或mula =“BackwardEuler”;C2dis2。DF或mula =“BackwardEuler”

然而,这些命令并不为离散控制器计算新的系数。要看到这一点,就要检查C2dis2然后比较系数C2conC2dis1

C2dis2
C2dis2 = 1 t * z 1 u = Kp * ((b * r y ) + ---- * ------ * ( r y) +道明  * ----------------- * ( c * r y)] Ti z 1 (Td / N) + Ts * z / (z 1) Kp = 10, Ti = 5, Td = 3, N = 0.5, = 1 b, c = 1, Ts = 0.1样品时间:0.1秒离散时间双自由度PIDF控制器标准形式

提示

  • 为特定的设备设计PID控制器,使用pidtunepidTuner.要创建一个可调谐的二自由度PID控制器作为控制设计块,使用tunablePID2

  • 将一个2-DOF控制器分解为两个SISO控制组件,如反馈控制器和前馈控制器,使用getComponents

  • 创建数组pidstd2控制器:

    • 为一个或多个系数指定数组值Kp“透明国际”道明Nb,c

    • 指定一个动态系统数组syspid2控制器对象。

    • 使用堆栈从单个控制器或较小的数组构建数组。

    • 传递一个植物模型数组pidtune

    在数组中pidstd2控制器,每个控制器必须具有相同的采样时间Ts离散积分器公式IFormulaDFormula

  • 若要创建或转换为并行形式控制器,请使用pid2.并联形式用比例增益、积分增益和微分增益来表示控制器的动作KpKKd,和一个过滤时间常数Tf.例如,连续时间并联型二自由度PID控制器的输入输出关系为:

    u K p b r y + K 年代 r y + K d 年代 T f 年代 + 1 c r y

  • 离散连续时间有两种方法pidstd2控制器:

    • 使用汇集命令。汇集为离散控制器计算新的参数值。离散控制器的离散积分器公式依赖于汇集你使用的离散化方法,如下表所示。

      汇集离散化方法 IFormula DFormula
      “zoh” ForwardEuler ForwardEuler
      “呸” 梯形 梯形
      “tustin” 梯形 梯形
      “冲动” ForwardEuler ForwardEuler
      “匹配” ForwardEuler ForwardEuler

      有关汇集离散化方法,见汇集参考页面。有关IFormulaDFormula,请参阅属性

    • 如果需要不同的离散积分器公式,可以直接设置离散控制器TsIFormula,DFormula到期望的值。(见离散的标准形式二自由度PID控制器.)然而,这种方法不计算新的增益和滤波常数值的离散控制器。因此,这种方法在连续时间和离散时间之间可能产生较差的匹配pidstd2控制器比使用汇集

介绍了R2015b