主要内容

pidstd

创建一个PID控制器在标准形式,转化为标准形式PID控制器

语法

C = pidstd (Kp、钛、Td, N)
C = pidstd (Kp、钛、Td, N, Ts)
C = pidstd(系统)
C = pidstd (Kp)
C = pidstd (Kp、钛)
C = pidstd (Kp、钛、Td)
C = pidstd(…、名称、值)
C = pidstd

描述

C= pidstd (Kp,“透明国际”,道明,N)创建了一个连续时间PIDF与一阶导数过滤器(PID)控制器对象标准形式。控制器比例增益Kp、积分和微分时间“透明国际”道明,一阶导数过滤因子N:

C = K p ( 1 + 1 T 1 年代 + T d 年代 T d N 年代 + 1 )

C= pidstd (Kp,“透明国际”,道明,N,Ts)创建一个离散时间控制器样品时间Ts。离散时间控制器:

C = K p ( 1 + 1 T F ( z ) + T d T d N + D F ( z ) )

如果(z),DF(z)是离散积分公式积分器和导数过滤器。默认情况下,

F ( z ) = D F ( z ) = T 年代 z 1

选择不同的离散积分公式,使用IFormulaDFormula输入。(见属性更多信息IFormulaDFormula)。如果DFormula=“ForwardEuler”(默认值)N,然后Ts,道明,N必须满足Td / N > Ts / 2。这个需求可以确保一个稳定的导数过滤柱。

C= pidstd (sys)将动态系统sys一个标准的形式pidstd控制器对象。

C= pidstd (Kp)创建了一个连续时间的比例(P)控制器“透明国际”=,道明= 0,N=

C= pidstd (Kp,“透明国际”)创建一个比例积分(PI)控制器道明= 0和N=

C= pidstd (Kp,“透明国际”,道明)创建一个比例、积分和微分(PID)控制器N=

C= pidstd (…名称,值)创建一个控制器或将一个动态系统pidstd控制器对象由一个或多个指定附加选项名称,值对参数。

C= pidstd创建一个P控制器Kp= 1。

输入参数

Kp

比例增益。

Kp可以是:

  • 一个真正的和有限的价值。

  • 真正的和有限的值的数组。

  • 一个可调参数(realp)或广义矩阵(genmat)。

  • gain-scheduled调优的可调的表面,使用创建的tunableSurface

默认值:1

“透明国际”

积分器。

“透明国际”可以是:

  • 一个真正的和积极的价值。

  • 一个数组的和积极的价值观。

  • 一个可调参数(realp)或广义矩阵(genmat)。

  • gain-scheduled调优的可调的表面,使用创建的tunableSurface

默认值:

道明

微分时间。

道明可以是:

  • 一个真正的、有限的和非负价值。

  • 数组的、有限的和非负价值。

  • 一个可调参数(realp)或广义矩阵(genmat)。

  • gain-scheduled调优的可调的表面,使用创建的tunableSurface

道明= 0,控制器没有微分作用。

默认值:0

N

导数过滤因子。

N可以是:

  • 一个真正的和积极的价值。

  • 一个数组的和积极的价值观。

  • 一个可调参数(realp)或广义矩阵(genmat)。

  • gain-scheduled调优的可调的表面,使用创建的tunableSurface

N=,控制器没有过滤微分作用。

默认值:

Ts

样品时间。

创建一个离散时间pidstd控制器,提供积极的实际价值(t > 0)。pidstd不支持离散时间控制金宝app器与不确定的样品时间(Ts = 1)。

Ts必须是一个标量值。一个数组的pidstd控制器,每个控制器必须有相同的Ts

默认值:0(连续时间)

sys

输出动态系统转换为标准pidstd的形式。

sys必须是一个有效的控制器,可以写在标准形式“透明国际”> 0,道明≥0,N> 0。

sys也可以输出数组的动态系统。

名称-值参数

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

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

输出参数

C

pidstd对于对象代表一个单变量PID控制器标准形式。

控制器类型(P,π,PD、PDF、PID PIDF)取决于的值Kp,“透明国际”,道明,N。例如,当道明=Kp“透明国际”是有限的和非零,C是一个PI控制器。输入方法(C)获取控制器类型。

当输入Kp,“透明国际”,道明,N或输入sys是数组,C是一个数组的pidstd对象。

属性

Kp

比例增益。Kp必须是真实的和有限的。

“透明国际”

积分时间。“透明国际”必须是真实的、有限的和大于或等于零。

道明

微分时间。道明必须是真实的、有限的和大于或等于零。

N

导数过滤因子。N必须是真实的,大于或等于零。

IFormula

离散积分公式如果(z离散时间的积分器pidstd控制器C:

C = K p ( 1 + 1 T F ( z ) + T d T d N + D F ( z ) )

IFormula可以采取以下值:

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

    这个公式是最适合小样本时,奈奎斯特极限很大的带宽相比控制器。对于较大的样品时间,ForwardEuler公式会导致不稳定,即使离散化连续时间系统,该系统是稳定的。

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

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

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

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

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

默认值:“ForwardEuler”

DFormula

离散积分公式DF(z离散时间的导数过滤器pidstd控制器C:

C = K p ( 1 + 1 T F ( z ) + T d T d N + D F ( z ) )

DFormula可以采取以下值:

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

    这个公式是最适合小样本时,奈奎斯特极限很大的带宽相比控制器。对于较大的样品时间,ForwardEuler公式会导致不稳定,即使离散化连续时间系统,该系统是稳定的。

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

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

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

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

    梯形DFormula不可用的吗pidstd控制器没有导数过滤器(N =正)。

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

默认值:“ForwardEuler”

InputDelay

时间延迟对系统输入。InputDelay总是为0pidstd控制器对象。

OutputDelay

时间延迟对系统输出。OutputDelay总是为0pidstd控制器对象。

Ts

样品时间。对于连续时间模型,t = 0。对于离散时间模型,Ts是一个积极的标量表示采样周期。这个值是表示在指定的单位TimeUnit模型的属性。PID控制器模型不支持未指明的样品时间(金宝appTs = 1)。

改变这个属性不离散化或重新取样模型。使用汇集d2c连续和离散时间表示形式之间的转换。使用d2d改变样本的离散时间系统。

默认值:0(持续时间)

TimeUnit

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

  • “纳秒”

  • 微秒的

  • 的毫秒

  • “秒”

  • “分钟”

  • “小时”

  • “天”

  • “周”

  • “月”

  • “年”

改变对其他属性,这个属性没有影响,因此改变整个系统的行为。使用chgTimeUnit时间单位,无需修改系统行为之间的转换。

默认值:“秒”

InputName

输入通道名称,指定为一个特征向量。使用这个属性名称输入通道的控制器模型。例如,指定名称错误控制器的输入模型C如下。

C.InputName=“错误”;

您可以使用速记符号u来指InputName财产。例如,C.u相当于C.InputName

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

  • 识别频道模型显示和阴谋

  • 当互连模型指定连接点

默认值:空的特征向量,

InputUnit

输入通道单位,指定为一个特征向量。使用这个属性来跟踪输入信号的单位。例如,指定浓度单位摩尔/ m ^ 3控制器的输入模型C如下。

C。我nputUnit =《摩尔/ 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字符串。”ans = sys2有一个特征向量。

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

用户数据

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

默认值:[]

SamplingGrid

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

抽样模型推导出来的数组的一个或多个自变量,这个属性追踪与数组中的每个模型相关的变量值。这个信息显示或绘制模型时出现数组。使用此信息来跟踪结果返回给独立变量。

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

例如,假设您创建一系列11-by-1的线性模型,sysarr,通过一个线性时变系统的快照t = 0:10。下面的代码存储时间和样品线性模型。

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

同样的,假设你创建一个6-by-9模型数组,独立采样两个变量,ζw。下面的代码高度(ζ,w)

[ζ,w] = ndgrid(< 6的值ζ>、< 9 w的值>)。SamplingGrid =结构(“ζ”ζ,' 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…

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

默认值:[]

例子

创建PDF控制器连续时间标准形式

创建一个连续时间标准形式PDF控制器1比例增益,微分时间3、6的过滤因子。

C = pidstd(1正3,6);
C = s Kp * (1 + Td * - - - - - - - - - - - -) (Td / N)与Kp * s + 1 = 1, Td = 3, N = 6连续时间PDF控制器标准形式

显示器显示控制器类型、公式和系数值。

创建离散PI控制器与梯形离散化公式

创建一个离散时间控制器,设置的值Ts使用名称,值语法。

C = pidstd (1, 0.5,“t”,0.1,“IFormula”,“梯形”)% s t = 0.1

这个命令生成的结果:

离散PI控制器标准形式:1 t * (z + 1) Kp * (1 + - - - - - * - - - - - - - - - -) Ti 2 * (z 1) Kp = 1, Ti = 0.5, t = 0.1

或者,您可以创建相同的离散时间控制器通过提供Ts毕竟四的第5个参数PID参数Kp,“透明国际”,道明,N

C = pidstd(5, 2.4, 0,正无穷,0.1,“IFormula”,“梯形”);

创建PID控制器和设置系统属性

创建一个PID控制器和动态系统属性设置InputNameOutputName

C = pidstd (1、0.5、3、“InputName”,“e”,“OutputName”,“u”);

创建网格标准形式的PID控制器

创建一个2×3网格PI控制器的比例获得从1 - 2和积分时间从5 - 9。

创建一个网格的PI控制器比例增益不同的行,行和积分时变列列。为此,从数组代表收益。

Kp = (1 1 1; 2 2 2);Ti = [5:2:9; 5:2:9];pi_array = pidstd (Kp、钛、“t”,0.1,“IFormula”,“BackwardEuler”);

这些命令产生一系列2×3的离散时间pidstd对象。所有pidstd数组中的对象必须具有相同的样品时间,离散积分公式,和动态系统属性(如InputNameOutputName)。

或者,您可以使用堆栈命令来构建数组pidstd对象。

C = pidstd (1、5、0.1)% PID控制器Cf = pidstd (1、5、0.1、0.5)% PID控制器与过滤器pid_array =堆栈(2 C Cf);%堆栈沿着二维数组

这些命令生成一个1×2组控制器。输入命令:

大小(pid_array)

看到结果

1 x2的PID控制器。每个PID 1输出和输入。

将平行形式pid控制器标准形式

并联PID形式表达控制器操作的一个比例,积分,和衍生品收益Kp,K,Kd和一个滤波器时间常数Tf。您可以转换一种并行控制器parsys标准形式使用pidstd,前提是:

  • parsys不是一个纯积分器(I)控制器。

  • 的收益Kp,Ki,Kdparsys都有相同的信号。

parsys = pid (2、3、4、5);%标准形式控制器stdsys = pidstd (parsys)

这些命令生成一个平行形式控制器:

连续时间PIDF控制器标准形式:1 1 s Kp * (1 + * - - - - - - - - - - - + * - - - - - - - - - - - - Td) Ti (Td / N) *年代和Kp = 2 + 1, Ti = 0.66667, Td = 2, N = 0.4

创建pidstd从连续时间动态系统控制器

动态系统

H ( 年代 ) = 3 ( 年代 + 1 ) ( 年代 + 2 ) 年代

代表一个PID控制器。使用pidstd获得H(年代)标准形式的PID参数Kp,T,Td

H = zpk ([1, 2] 0 3);C = pidstd (H)

这些命令产生的结果是:

连续时间PID控制器标准形式:1 1 Kp *(1 +——道明* * - + s) Ti年代Kp = 9, Ti = 1.5, Td = 0.33333

创建pidstd从离散时间动态系统控制器

你能将一个离散时间动态系统,代表了一种PID控制器与导数过滤标准pidstd的形式。

% PIDF控制器zpk表达形式sys = zpk ([-0.5, -0.6], -0.2 [1], 3,“t”,0.1);

由此产生的pidstd对象取决于您所指定的离散积分公式IFormulaDFormula

例如,如果你使用默认值ForwardEuler这两个公式:

C = pidstd(系统)

你得到的结果:

离散时间PIDF控制器标准形式:1 Ts 1 Kp * (1 + - - - - - - - - - - - * + * - - - - - - - - - - - - - - - - - - Td) Ti z 1 (Td / N) + Ts / (z 1) Kp = 2.75, = 0.045833, Td = 0.0075758, N = 0.090909, t = 0.1

对于这个特定的sys,你不能写sys在标准PID形式使用BackwardEuler公式DFormula。这样做会导致N< 0,这是不允许的。在这种情况下,pidstd返回一个错误。

同样的,你不能写sys使用的标准形式梯形集成商的公式。这样做会导致负的“透明国际”道明,返回一个错误。

离散化连续时间pidstd控制器

首先,使离散控制器使用“zoh”的方法汇集

Cc = pidstd (1、2、3、4);%连续时间pidf控制器Cd1 =汇集(Cc, 0.1,“zoh”)
离散时间PIDF控制器标准形式:1 Ts 1 Kp * (1 + - - - - - - - - - - - * + * - - - - - - - - - - - - - - - - - - Td) Ti z 1 (Td / N) + Ts / (z 1) Kp = 1, Ti = 2, Td = 3.2044, N = 4, Ts = 0.1

由此产生的离散时间控制器使用ForwardEuler(T年代/ (z1))为IFormulaDFormula

离散积分公式的离散控制器依赖汇集离散化方法,如中描述提示。使用不同的IFormulaDFormula,直接设置Ts,IFormula,DFormula到所需的值:

张= Cc;张cd。Ts=0。1;张cd。如果或mula =“BackwardEuler”;张cd。DF或mula =“BackwardEuler”;

这些命令不计算新的离散控制器参数值。看到这,输入:

得到结果:

离散时间PIDF控制器标准形式:1 t * z 1 Kp *(1 +——道明* * - - - - - - + - - - - - - - - - - - - - - - - - -)Ti z 1 (Td / N) + Ts * z / (z 1) Kp = 1, Ti = 2, Td = 3, N = 4, Ts = 0.1

提示

  • 使用pidstd要么创建一个pidstd从已知的PID控制器对象增益、积分和微分时间,和过滤因子,或将一个动态系统模型pidstd对象。

  • 为特定的植物,来优化PID控制器使用pidtunepidTuner

  • 创建数组pidstd控制器:

    一个数组的pidstd控制器,每个控制器必须具有相同的样品时间Ts和离散积分公式IFormulaDFormula

  • 创建或转换为平行形式控制器,使用pid。并行形式表达控制器操作比例,积分,和衍生品收益Kp,KKd和一个滤波器时间常数Tf:

    C = K p + K 年代 + K d 年代 T f 年代 + 1

  • 有两种方法可以使离散连续时间pidstd控制器:

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

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

      更多信息汇集离散化方法,请参阅汇集参考页面。更多信息IFormulaDFormula,请参阅属性

    • 如果你需要不同的离散积分公式,你可以通过直接离散化控制器设置Ts,IFormula,DFormula到所需的值。(有关更多信息,请参见离散化连续时间pidstd控制器)。然而,这种方法并不计算新的增益和filter-constant值离散控制器。因此,这种方法可能产生贫困的连续时间和离散时间之间的匹配pidstd控制器比使用汇集

版本历史

介绍了R2010b