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
描述
创建一个连续时间PID控制器的比例,积分和导数增益C
= pid (Kp
,Ki
,Kd
,特遣部队
)Kp
,Ki
,Kd
和一阶导数滤波时间常数特遣部队
:
这个表示在平行的形式.如果所有的Kp
,Ki
,Kd
,特遣部队
都是真实的,那么结果呢C
是一个pid
控制器对象。如果这些系数中的一个或多个是可调的(realp
或genmat
),然后C
是可调的广义状态空间(一族
)模型对象。
创建一个具有采样时间的离散PID控制器C
= pid (Kp
,Ki
,Kd
,特遣部队
,Ts
)Ts
.控制器为:
如果(z),DF(z)是离散积分公式对于积分器和导数滤波器。默认情况下,
要选择不同的离散积分器公式,请使用IFormula
而且DFormula
属性。(见属性欲了解更多有关IFormula
而且DFormula
).如果DFormula
=“ForwardEuler”
(默认值)和特遣部队
≠0,则Ts
而且特遣部队
必须满足Tf > Ts/2
.这一要求确保了一个稳定的导数滤波器极。
转换动态系统C
= pid (sys
)sys
平行形式pid
控制器对象。
创建一个连续时间比例(P)控制器C
= pid (Kp
)Ki
= 0,Kd
= 0,和特遣部队
= 0。
创建一个比例积分(PI)控制器C
= pid (Kp
,Ki
)Kd
= 0和特遣部队
= 0。
创建一个比例,积分和导数(PID)控制器C
= pid (Kp
,Ki
,Kd
)特遣部队
= 0。
输入参数
|
比例增益。
当 默认值:1 |
|
获得积分。
当 默认值:0 |
|
衍生品收益。
当 默认值:0 |
|
一阶导数滤波器的时间常数。
当 默认值:0 |
|
样品时间。 创建一个离散时间
默认值:0(连续时间) |
|
将SISO动态系统转换为并行系统
|
名称-值参数
的可选逗号分隔对名称,值
参数。的名字
参数名称和价值
对应的值。的名字
必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
使用名称,值
语法来设置数值积分公式IFormula
而且DFormula
离散时间的pid
控制器,或设置其他对象属性,如InputName
而且OutputName
.的可用属性的信息pid
控制器对象,请参见属性.
输出参数
|
PID控制器,表示为 |
属性
|
PID控制器增益。 的 |
|
导数滤波时间常数。 的 |
|
离散积分公式如果(z)为离散时间积分器
当 默认值: |
|
离散积分公式DF(z)为离散时间的导数滤波器
当 默认值: |
|
系统输入的时间延迟。 |
|
系统输出的时间延迟。 |
|
样品时间。对于连续时间模型, 更改此属性不会对模型进行离散化或重新采样。使用 默认值: |
|
时间变量的单位是采样时间
更改此属性不会对其他属性产生影响,因此会改变整个系统行为。使用 默认值: |
|
输入通道名称,指定为字符向量。使用此属性可命名控制器模型的输入通道。例如,分配名称 C.InputName =“错误”;
你可以用速记法 输入通道名有几种用途,包括:
默认值:空字符向量, |
|
输入通道单位,指定为字符向量。使用此属性跟踪输入信号单位。例如,指定浓度单位 C.InputUnit =《摩尔/ m ^ 3》;
默认值:空字符向量, |
|
输入通道组。PID控制器模型不需要此属性。 默认值: |
|
输出通道名称,指定为字符向量。使用此属性可命名控制器模型的输出通道。例如,分配名称 C.OutputName =“控制”;
你可以用速记法 输入通道名有几种用途,包括:
默认值:空字符向量, |
|
输出通道单位,指定为字符向量。使用此属性跟踪输出信号单元。例如,分配单元 C.OutputUnit =“伏”;
默认值:空字符向量, |
|
输出通道组。PID控制器模型不需要此属性。 默认值: |
|
系统名称,指定为字符向量。例如, 默认值: |
|
希望与系统关联的任何文本,存储为字符串或字符向量的单元格数组。属性存储您提供的任何数据类型。例如,如果 sys1。笔记=sys1有一个字符串。;sys2。笔记=sys2有一个字符向量;sys1。笔记sys2。笔记 Ans = "sys1有一个字符串" Ans = " sys2有一个字符向量" 默认值: |
|
您希望与系统关联的任何类型的数据,指定为任何MATLAB®数据类型。 默认值: |
|
模型数组的采样网格,指定为数据结构。 对于通过对一个或多个自变量采样而得到的模型数组,此属性跟踪与数组中每个模型相关的变量值。当您显示或绘制模型数组时,将显示此信息。使用这些信息将结果追溯到自变量。 将数据结构的字段名设置为采样变量的名称。将字段值设置为与数组中的每个模型相关联的采样变量值。所有抽样变量都应该是数值和标量值,所有抽样值的数组都应该匹配模型数组的维度。 例如,假设你创建了一个11 × 1的线性模型数组, sysarr。SamplingGrid = struct(“时间”0:10)
类似地,假设你创建一个6 × 9的模型数组, [zeta,w] = ndgrid(zeta> <6个值,w > <9个值)“ζ”ζ,' 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生成的模型数组金宝app®在多个参数值或工作点建模,软件进行填充 默认值: |
例子
提示
使用
pid
:创建一个
pid
控制器对象由已知PID增益和滤波时间常数组成。把一个
pidstd
控制器对象转换为标准表单pid
控制器对象。将其他类型的动态系统模型转换为
pid
控制器对象。
为特定的工厂设计PID控制器,使用
pidtune
或pidTuner
.要创建一个可调PID控制器作为控制设计块,使用tunablePID
.创建数组
pid
控制器对象:在数组中
pid
控制器,每个控制器必须有相同的采样时间Ts
和离散积分公式IFormula
而且DFormula
.若要创建或转换为标准格式控制器,请使用
pidstd
.标准形式以总比例增益表示控制器动作Kp,积分和导数的时间T我而且Td,和过滤除数N:离散连续时间函数有两种方法
pid
控制器:使用
汇集
命令。汇集
为离散化控制器计算新的参数值。离散控制器的离散积分器公式依赖于汇集
您使用的离散化方法,如下表所示。汇集
离散化方法IFormula
DFormula
“zoh”
ForwardEuler
ForwardEuler
“呸”
梯形
梯形
“tustin”
梯形
梯形
“冲动”
ForwardEuler
ForwardEuler
“匹配”
ForwardEuler
ForwardEuler
如果你需要不同的离散积分器公式,你可以通过直接设置离散控制器
Ts
,IFormula
,DFormula
到期望的值。(见离散一个连续时间PID控制器)。但是,该方法不需要为离散控制器计算新的增益和滤波常数值。因此,这种方法可能会在连续时间和离散时间之间产生较差的匹配pid
控制器比使用汇集
.