主要内容

PID

以并行形式创建PID控制器,转换为并行形式PID控制器

句法

C = PID(kp,ki,kd,tf)
C = PID(kp,ki,kd,tf,ts)
C = PID(SYS)
C = pid (Kp)
C = PID(kp,ki)
C = pid (Kp、Ki Kd)
C = PID(...,名称,值)
C = pid

描述

C= PID(kp.ki.kd.TF.创建一个连续时间PID控制器与比例,积分,和微分增益kp.ki., 和kd.和一阶衍生滤波器时间常数TF.

C = K. P. + K. 一世 S. + K. D. S. T. F S. + 1

这个表示在并行形式.如果全部kp.ki.kd., 和TF.是真实的,那是由此产生的C是一个PID控制器对象。如果这些系数中的一个或多个可调(实际或者Genmat.),然后C是可调的广义状态空间(雄鸡)模型对象。

C= PID(kp.ki.kd.TF.TS.创建一个带有采样时间的离散时间PID控制器TS..控制器:

C = K. P. + K. 一世 一世 F Z. + K. D. T. F + D. F Z.

如果Z.),DF.Z.)是离散积分公式对于积分器和衍生滤波器。默认,

一世 F Z. = D. F Z. = T. S. Z. - 1

选择不同的离散集成器公式,使用IFormula达格拉姆特性。(看属性有关IFormula达格拉姆)。如果达格拉姆='forvooreuler'(默认值)和TF.≠0,然后TS.TF.必须满足tf> ts / 2.该要求确保了稳定的衍生滤波器。

C= PID(sys转换动态系统sys并行形式PID控制器对象。

C= PID(kp.使用连续时间比例(P)控制器创建ki.= 0,kd.= 0,TF.= 0。

C= PID(kp.ki.创建一个比例和积分(PI)控制器kd.= 0且TF.= 0。

C= PID(kp.ki.kd.创建比例,积分和导数(PID)控制器TF.= 0。

C= pid(...,名称,价值创建控制器或将动态系统转换为PID具有由一个或多个指定的附加选项的控制器对象名称,价值对参数。

C= PID创建一个p控制器kp.= 1。

输入参数

kp.

比例增益。

kp.可:

  • 一个真实和有限的值。

  • 一系列真实和有限的值。

  • 可调参数(实际)或广义矩阵(Genmat.)。

  • 用于增益预定调谐的可调表面,使用Tunablyurface.

kp.= 0,控制器没有比例动作。

默认:1

ki.

积分增益。

ki.可:

  • 一个真实和有限的值。

  • 一系列真实和有限的值。

  • 可调参数(实际)或广义矩阵(Genmat.)。

  • 用于增益预定调谐的可调表面,使用Tunablyurface.

ki.= 0,控制器没有积分动作。

默认:0.

kd.

衍生品收益。

kd.可:

  • 一个真实和有限的值。

  • 一系列真实和有限的值。

  • 可调参数(实际)或广义矩阵(Genmat.)。

  • 用于增益预定调谐的可调表面,使用Tunablyurface.

kd.= 0,控制器没有衍生动作。

默认:0.

TF.

一阶导数滤波器的时间常数。

TF.可:

  • 真实,有限和非负值。

  • 一系列真实,有限和非负值。

  • 可调参数(实际)或广义矩阵(Genmat.)。

  • 用于增益预定调谐的可调表面,使用Tunablyurface.

TF.= 0,控制器对衍生动作没有过滤器。

默认:0.

TS.

采样时间。

创造一个离散的时间PID控制器,提供正实值(Ts> 0.)。PID不支持具有未指定采万博1manbetx样时间的离散时间控制器(ts = -1)。

TS.必须是标量值。在一系列中PID控制器,每个控制器必须相同TS.

默认:0(连续时间)

sys

Siso动态系统转换为并行PID形式。

sys必须代表一个有效的PID控制器,可以以并行形式写TF.≥0。

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

名称值对参数

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

名称,价值语法设置数字集成公式IFormula达格拉姆一个离散时间PID控制器,或设置其他对象属性,例如InputName.outputName..有关可用属性的信息PID控制器对象,见属性

输出参数

C

PID控制器,表示为aPID控制器对象,一个数组PID控制器对象,a雄鸡对象,或者雄鸡大批。

  • 如果所有的收益kp.ki.kd., 和TF.有数值吗C是一个PID控制器对象。当增益是数字阵列时,C是一系列的PID控制器对象。控制器类型(p,i,pi,pd,pdf,pid,pidf)取决于增益的值。例如,何时kd.= 0,但kp.ki.非零,C是pi控制器。

  • 如果一个或多个收益是可调参数(实际),广义矩阵(Genmat.)或可调增益表面(Tunablyurface.),然后C是广义的状态空间模型(雄鸡)。

属性

Kp、Ki Kd

PID控制器增益。

kp.ki., 和kd.属性分别存储比例,积分和衍生增益。kp.ki., 和kd.是真实的和有限的。

TF.

衍生滤波器时间常数。

TF.属性存储的导数滤波器时间常数PID控制器对象。TF.是真实的,有限的和非负面的。

IFormula

离散集成器公式如果Z.)对于离散时间的集成商PID控制器C

C = K. P. + K. 一世 一世 F Z. + K. D. T. F + D. F Z.

IFormula可以取以下值:

  • 'forvooreuler'-如果Z.)= T. S. Z. - 1

    该公式最适合小的采样时间,而奈奎斯特限值与控制器的带宽相比大。对于更大的采样时间,号文件公式可导致不稳定,即使在连续时间的连续时间稳定的系统中也是不稳定的。

  • '背面灯'-如果Z.)= T. S. Z. Z. - 1

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

  • '梯形'-如果Z.)= T. S. 2 Z. + 1 Z. - 1

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

C是一个连续时间控制器,IFormula''

默认:'forvooreuler'

达格拉姆

离散集成器公式DF.Z.)对于离散时间的衍生滤波器PID控制器C

C = K. P. + K. 一世 一世 F Z. + K. D. T. F + D. F Z.

达格拉姆可以取以下值:

  • 'forvooreuler'-DF.Z.)= T. S. Z. - 1

    该公式最适合小的采样时间,而奈奎斯特限值与控制器的带宽相比大。对于更大的采样时间,号文件公式可导致不稳定,即使在连续时间的连续时间稳定的系统中也是不稳定的。

  • '背面灯'-DF.Z.)= T. S. Z. Z. - 1

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

  • '梯形'-DF.Z.)= T. S. 2 Z. + 1 Z. - 1

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

    梯形达格拉姆是没有可用的aPID控制器没有衍生滤波器(Tf = 0)。

C是一个连续时间控制器,达格拉姆''

默认:'forvooreuler'

inputdelay.

系统输入上的时间延迟。inputdelay.总是0的一个PID控制器对象。

outputdelay.

系统输出的时延。outputdelay.总是0的一个PID控制器对象。

TS.

采样时间。对于连续时间模型,TS = 0..对于离散时间模型,TS.为表示采样周期的正标量。控件指定的单元中表示该值时髦模型的财产。PID控制器模型不支持未指定的示例时间(万博1manbetxts = -1)。

改变这个属性并不会使模型离散化或重新采样。用C2D.D2C.在连续和离散时间表示之间转换。用D2D.更改离散时间系统的采样时间。

默认:0.(连续时间)

时髦

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

  • '纳秒'

  • 微秒的

  • '毫秒'

  • '秒'

  • '分钟'

  • “小时”

  • “天”

  • '周'

  • “月”

  • “年”

更改此属性对其他属性没有影响,因此更改整体系统行为。用chgtimeUnit.在不修改系统行为的情况下在时间单位之间转换。

默认:'秒'

InputName.

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

C.InputName =“错误”;

您可以使用速记表示法参阅InputName.财产。例如,C.U.相当于C.InputName

输入通道名称具有多种用途,包括:

  • 识别模型显示和绘图上的通道

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

默认:空字符矢量,''

InpoinUnit.

输入通道单元,指定为字符向量。使用此属性跟踪输入信号单元。例如,指定浓度单位mol / m ^ 3到控制器模型的输入C如下。

C.InputUnit ='mol / m ^ 3';

InpoinUnit.对系统行为没有影响。

默认:空字符矢量,''

InputGroup.

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

默认:塑造没有田地

outputName.

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

c.outputname =.“控制”;

您可以使用速记表示法y参阅outputName.财产。例如,C.Y.相当于C.OutputName

输入通道名称具有多种用途,包括:

  • 识别模型显示和绘图上的通道

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

默认:空字符矢量,''

OutputUnit.

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

c.outputUnit =“伏”;

OutputUnit.对系统行为没有影响。

默认:空字符矢量,''

产量组

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

默认:塑造没有田地

名称

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

默认:''

笔记

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

sys1.notes =.sys1有一个字符串。;sys2.notes ='sys2有一个字符矢量。';sys1。笔记sys2。Notes
ans =“sys1有一个字符串。”ans ='sys2有一个字符矢量。

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

用户数据

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

默认:[]

SamplingGrid.

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

对于通过采样一个或多个独立变量导出的模型阵列,该属性会跟踪与数组中的每个模型关联的变量值。当您显示或绘制模型数组时将显示此信息。使用此信息可以将结果追溯到独立变量。

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

例如,假设您创建一个11×1数组的线性模型,sysarr,通过在时间拍摄线性时变系统的快照t = 0:10.下面的代码存储线性模型的时间样本。

sysarr.samplinggrid = struct('时间'0:10)

类似地,假设您创建了一个6乘9的模型数组,m,通过独立抽样两个变量,ζW..以下代码附加(ζ,w)价值观m

[zeta,w] = ndgrid(的<6值>,<9值的w>)m.amplinggrid = struct('Zeta',Zeta,'W'w)

当你展示时m,阵列中的每个条目都包括相应的ζW.价值观。

m
m(:,:,1,1)[zeta = 0.3,w = 5] = 25 ------------- S ^ 2 + 3 s + 25 m(:, :,:2,1)[Zeta = 0.35,w = 5] = 25 --------------- S ^ 2 + 3.5 s + 25 ...

用于通过线性化模拟链接生成的模型阵列万博1manbetx®模型在多个参数值或操作点,软件填充SamplingGrid.自动使用与数组中的每个条目对应的变量值。例如,万博1manbetx仿真软件控制设计™命令线性化(万博1manbetxSimulink Control Design)SLINESERIZER.(万博1manbetxSimulink Control Design)填充SamplingGrid.这样。

默认:[]

例子

全部收缩

在衍生项上创建一个连续时间控制器,并在衍生项上进行比例和衍生增益和滤波器。为此,将积分增益设置为零。将其他增益和滤波器时间常量设置为所需值。

kp = 1;ki = 0;%没有集成商kd = 3;tf = 0.5;C = PID(kp,ki,kd,tf)
C = S KP + KD * -------- TF * S + 1带有KP = 1,KD = 3,TF = 0.5并行形式的连续时间PDF控制器。

显示屏显示控制器类型,公式和参数值,并验证控制器没有集成术语。

用梯形离散公式建立离散时间PI控制器。

要创建一个离散时间PI控制器,请设置值TS.和离散化公式使用名称,价值句法。

C1 = PID(5,2.4,“t”,0.1,'iformula''梯形'%ts = 0.1s
C1 = TS *(Z + 1)kp + ki * -------2 *(z-1)带有kp = 5,ki = 2.4,ts = 0.1采样时间:0.1秒离散时间pi控制器平行形式。

或者,您可以通过提供来创建相同的离散时间控制器TS.作为所有四个PID参数后的第五个输入参数,kp.ki.kd., 和TF..由于您只想要PI控制器,请设置kd.TF.为零。

C2 = pid (5, 2.4, 0, 0, 0.1,'iformula''梯形'
C2 = TS *(Z + 1)kp + ki * -------2 *(z-1)带有kp = 5,ki = 2.4,ts = 0.1采样时间:0.1秒离散时间pi控制器平行形式。

显示屏显示了C1.C2.都是一样的。

创建PID控制器时,请设置动态系统属性InputName.outputName..例如,这是有用的,当您使用其他动态系统模型互连PID控制器时连接命令。

c = PID(1,2,3,“InputName”“e”'outputname''U'
C = 1 Kp + Ki *—+ Kd * s s with Kp = 1, Ki = 2, Kd = 3连续时间PID控制器并行形式。

该显示器不显示PID控制器的输入和输出名称,但您可以检查属性值。例如,验证控制器的输入名称。

C.InputName
ans =.1 x1单元阵列{' e '}

创建一个2 × 3的PI控制器网格,其比例增益范围横跨阵列行1-2,积分增益范围横跨列5-9。

要构建PID控制器数组,请从表示增益的阵列开始。

kp = [1 1 1; 2 2 2];ki = [5:2:9; 5:2:9];

当你将这些阵列传递到PID命令,该命令返回数组。

pi_array = pid(kp,ki,“t”,0.1,'iformula''背面灯');尺寸(pi_array)
2x3 PID控制器数组。每个PID都有1个输出和1个输入。

或者,使用命令构建一个PID控制器数组。

C = PID(1,5,0.1)%PID控制器
C = 1 kp + ki * --- + kd * s s用kp = 1,ki = 5,kd = 0.1以并行形式的连续时间PID控制器。
Cf = pid(1、5、0.1、0.5)具有滤波器的%PID控制器
CF = 1 s kp + ki * --- + kd * -------- s tf * s + 1带kp = 1,ki = 5,kd = 0.1,tf = 0.5连续时间PIDF控制器并行形式。
PID_ARRAY =堆栈(2,C,CF);%沿第二阵列尺寸堆叠

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

大小(pid_array)
1x2 PID控制器数组。每个PID都有1个输出和1个输入。

阵列中的所有PID控制器必须具有相同的采样时间,离散集成器公式和动态系统属性,如InputName.outputName.

转换标准表格PIDSTD.控制器到并行形式。

标准PID表单在整体比例增益方面表达了控制器动作kp.,积分和衍生时间常数TI.一个和过滤除数N.您可以使用该控制器将任何标准表单控制器转换为并行形式PID命令。例如,考虑以下标准表格控制器。

Kp = 2;Ti = 3;Td = 4;N = 50;C_std = pidstd (Kp、钛、Td, N)
c_std = 1 1 1 kp *(1 + ---- * --- + Td * -----------)* s + 1带kp = 2,TI = 3,TD = 4,n = 50个连续时间PIDF控制器标准表单

使用。将此控制器转换为并行形式PID

c_par = pid(c_std)
c_par = 1 s kp + ki * --- + kd * ------- s tf * s + 1带kp = 2,ki = 0.667,kd = 8,tf = 0.08连续时间PIDF控制器并行形式。

转换表示PID控制器的连续时间动态系统到并行PID形式。

下面的动态系统,有一个积分器和两个零,相当于一个PID控制器。

H S. = 3. S. + 1 S. + 2 S.

创建一个zpk模型H.然后用来PID命令获取H在PID增益方面kp.ki., 和kd.

H = zpk ([1, 2] 0 3);C = pid (H)
C = 1 kp + ki * --- + kd * s s用kp = 9,ki = 6,kd = 3个连续时间PID控制器,并行形式。

将具有微分滤波器的PID控制器的离散动态系统转换为并行系统PID形式。

创建一个离散时间zpk模型,它代表一个PIDF控制器(两个零和两个极点,包括积分器极点在Z.= 1)。

Sys = zpk([-0.5,-0.6],[1 -0.2],“t”,0.1);

当你转换时sys对于PID形式,结果取决于您指定转换的离散集成器公式。例如,使用默认值,号文件,对于积分器和导数。

cfe = pid(sys)
Cfe = Ts 1 Kp + Ki * ------ + Kd * ----------- z-1 Tf+Ts/(z-1) with Kp = 2.75, Ki = 60, Kd = 0.0208, Tf = 0.0833, Ts = 0.1采样时间:0.1秒离散时间PIDF控制器并行形式。

现在转换使用梯形公式。

ctrap = pid(sys,'iformula''梯形''dformula''梯形'
ctrap = ts *(z + 1)1 kp + ki * -------- + kd * ------------------ 2 *(z-1)TF.+T.S./2*(z+1)/(z-1) with Kp = -0.25, Ki = 60, Kd = 0.0208, Tf = 0.0333, Ts = 0.1 Sample time: 0.1 seconds Discrete-time PIDF controller in parallel form.

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

对于这个特定的动态系统,您不能编写sys在并行PID形式中使用背向后浮雕导数滤波器的公式。这样做会导致Tf < 0,这是不允许的。在这种情况下,PID返回一个错误。

将连续时间PID控制器离散化,并设置积分和导数滤波公式。

创建连续时间控制器并使用零阶保持方法离散地C2D.命令。

ccon = pid(1,2,3,4);%连续时间PIDF控制器CDIS1 = C2D(CCON,0.1,'ZOH'
CDIS1 = TS 1 KP + KI * ------ + KD * ---------- Z-1 TF + TS /(Z-1)带KP = 1,ki = 2,KD= 3.04,TF = 4.05,TS = 0.1采样时间:0.1秒以并行形式的离散时间PIDF控制器。

显示屏显示了C2D.为离散时间控制器计算新的PID增益。

离散控制器的离散积分式公式取决于C2D.离散化方法,如上所述提示.为了zoh方法,两者IFormula达格拉姆号文件

cdis1.formula.
ans = ' ForwardEuler '
Cdis1。DF.或者mula
ans = ' ForwardEuler '

如果您想使用由返回的不同公式C2D.,然后你可以直接设置TS.IFormula, 和达格拉姆控制器的属性到所需值。

Cdis2 = Ccon;Cdis2。TS.= 0。1;Cdis2。如果或者mula ='背面灯';cdis2.dformula ='背面灯';

但是,这些命令不会为离散控制器计算新的PID增益。看这个,检查Cdis2把系数和CCON.Cdis1

Cdis2
CDIS2 = TS * Z 1 KP + KI * ------ + KD * ------------ Z-1 TF + TS * Z /(Z-1)带KP = 1那ki.=2那kd.=3.那TF. = 4, Ts = 0.1 Sample time: 0.1 seconds Discrete-time PIDF controller in parallel form.

提示

  • PID至:

    • 创建一个PID从已知的PID增益和滤波时间常数控制对象。

    • 把一个PIDSTD.控制器对象转换为标准表单PID控制器对象。

    • 将其他类型的动态系统模型转换为aPID控制器对象。

  • 为特定的设备设计PID控制器,使用Pidtune.或者Pidtuner..要创建一个可调PID控制器作为控制设计块,使用调音

  • 创建阵列PID控制器对象:

    • 指定数组值kp.ki.kd., 和TF.

    • 指定动态系统的数组sys转换为PID控制器对象

    • 使用从各个控制器或更小的数组构建阵列

    在一系列中PID控制器,每个控制器必须具有相同的采样时间TS.和离散积分式公式IFormula达格拉姆

  • 若要创建或转换为标准表单控制器,请使用PIDSTD..标准形式表示控制器的动作在一个总体比例增益K.P.,积分和衍生时间T.一世T.D.和过滤除数N

    C = K. P. 1 + 1 T. 一世 1 S. + T. D. S. T. D. N S. + 1

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

    • 使用C2D.命令。C2D.计算离散控制器的新参数值。离散控制器的离散积分器公式取决于C2D.您使用的离散化方法,如下表所示。

      C2D.离散化方法 IFormula 达格拉姆
      'ZOH' 号文件 号文件
      'foh' 梯形 梯形
      'tustin' 梯形 梯形
      “冲动” 号文件 号文件
      '匹配' 号文件 号文件

      有关的更多信息C2D.离散化方法,见C2D.参考页面。有关的更多信息IFormula达格拉姆, 看属性

    • 如果您需要不同的离散集成器公式,则可以通过直接设置来离散控制器TS.IFormula, 和达格拉姆到所需的值。(看离散化连续时间PID控制器。)但是,此方法不计算离散控制器的新增益和滤波器常数值。因此,这种方法可能会在连续和离散时间之间产生较差的匹配PID控制器比使用C2D.

介绍在R2010B.