离散PID控制器(2自由度)
离散时间或连续时间二自由度PID控制器
- 库:
金宝app模型/离散
描述
的离散PID控制器(2自由度)块实现了一个二自由度PID控制器(PID, PI或PD)。块是相同的PID控制器(2自由度)块的时间域参数设置为离散时间
.
该模块根据参考信号和被测系统输出之间的差异生成输出信号。该块根据设定值权重(b而且c)。块输出是各自差分信号上的比例、积分和导数动作的总和,其中每个动作根据增益参数进行加权P,我,D.一阶极点对导数作用进行滤波。
该块支持多种控制器类金宝app型和结构。块中的可配置选项包括:
控制器类型(PID、PI、PD)—参见控制器参数。
控制器形式(平行或理想)-参见形式参数。
时域(离散或连续)-参见时间域参数。
初始条件和重置触发器-参见源而且外部复位参数。
输出饱和限制和内置的防上发条机制-见限制输出参数。
无颠簸控制传输和多回路控制的信号跟踪-参见启用跟踪模式参数。
当您更改这些选项时,通过激活不同的变体子系统,块的内部结构将发生变化。(见不同的子系统)。要检查块及其不同子系统的内部结构,右键单击块并选择面具>看下面具.
PID增益调优
PID控制器系数和设定值权重可手动或自动调节。自动调谐需要金宝app®控制设计™软件有关自动调优的更多信息,请参见选择优化方法参数。
港口
输入
裁判
——参考信号
标量|向量
参考信号为植物跟随,如图所示。
当参考信号是矢量时,块分别作用于每个信号,向量化PID系数,产生相同维数的矢量输出信号。你可以将PID系数和其他一些参数指定为与输入信号相同维度的向量。这样做相当于为输入信号中的每个条目指定一个单独的PID控制器。
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|不动点
Port_1 (y)
-测量系统输出
标量|向量
反馈信号为控制器,由工厂输出。
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|不动点
P
——比例增益
标量|向量
比例增益,由块的外部源提供。外部增益输入是有用的,例如,当你想映射一个不同的PID参数化到块的PID增益。你也可以使用外部增益输入来实现增益定时PID控制。在增益计划控制中,您通过逻辑或模型中的其他计算确定PID系数,并将它们提供给块。
依赖关系
若要启用此端口,请设置控制器参数的来源来外部
.
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|不动点
我
——积分获得
标量|向量
积分增益,由块的外部源提供。外部增益输入是有用的,例如,当你想映射一个不同的PID参数化到块的PID增益。你也可以使用外部增益输入来实现增益定时PID控制。在增益计划控制中,您通过逻辑或模型中的其他计算确定PID系数,并将它们提供给块。
当你在外部提供增益时,积分增益的时间变化也被积分。出现这种结果是因为PID增益在块内实现的方式。详细信息请参见控制器参数的来源参数。
依赖关系
若要启用此端口,请设置控制器参数的来源来外部
,并设置控制器到具有积分动作的控制器类型。
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|不动点
D
——微分增益
标量|向量
衍生增益,由块的外部源提供。外部增益输入是有用的,例如,当你想映射一个不同的PID参数化到块的PID增益。你也可以使用外部增益输入来实现增益定时PID控制。在增益计划控制中,您通过逻辑或模型中的其他计算确定PID系数,并将它们提供给块。
当你在外部提供增益时,导数增益的时间变化也被微分。出现这种结果是因为PID增益在块内实现的方式。详细信息请参见控制器参数的来源参数。
依赖关系
若要启用此端口,请设置控制器参数的来源来外部
,并设置控制器到具有派生动作的控制器类型。
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|不动点
N
——滤波器系数
标量|向量
由块外部源提供的导数滤波系数。外部系数输入是有用的,例如,当你想映射一个不同的PID参数化到块的PID增益。也可以使用外部输入实现增益定时PID控制。在增益计划控制中,您通过逻辑或模型中的其他计算确定PID系数,并将它们提供给块。
依赖关系
若要启用此端口,请设置控制器参数的来源来外部
,并设置控制器到具有过滤派生的控制器类型。
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|不动点
b
-比例设定值权重
标量|向量
比例设定值重量,由块的外部源提供。外部输入是有用的,例如,当你想映射一个不同的PID参数化到块的PID增益。也可以使用外部输入实现增益定时PID控制。在增益计划控制中,您通过逻辑或模型中的其他计算确定PID系数,并将它们提供给块。
依赖关系
若要启用此端口,请设置控制器参数的来源来外部
.
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|不动点
c
-导数设定点权重
标量|向量
衍生设定值权重,由块外部的源提供。外部输入是有用的,例如,当你想映射一个不同的PID参数化到块的PID增益。也可以使用外部输入实现增益定时PID控制。在增益计划控制中,您通过逻辑或模型中的其他计算确定PID系数,并将它们提供给块。
依赖关系
若要启用此端口,请设置控制器参数的来源来外部
,并设置控制器到具有派生动作的控制器类型。
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|不动点
重置
-外部复位触发器
标量
触发器将积分器和滤波器重置到初始状态。使用外部复位参数指定触发重置的信号类型。端口图标指示在该参数中指定的触发器类型。例如,下图显示了一个连续时间PID控制器(2DOF)块外部复位设置为不断上升的
.
触发器发生时,该块将积分器和过滤器重置为控件指定的初始条件积分器初始条件而且过滤器初始条件参数或我0而且D0港口。
请注意
符合汽车工业软件可靠性协会(MISRA)的要求®)软件标准,您的模型必须使用布尔信号驱动外部复位端口PID控制器块。
依赖关系
若要启用此端口,请设置外部复位除了没有一个
.
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|不动点
|布尔
我0
-积分器初始条件
标量|向量
积分器初始条件,由块外部的源提供。
依赖关系
若要启用此端口,请设置初始条件的来源来外部
,并设置控制器到具有积分动作的控制器类型。
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|不动点
D0
-滤波器初始条件
标量|向量
导数滤波器的初始条件,由块外部的源提供。
依赖关系
若要启用此端口,请设置初始条件的来源来外部
,并设置控制器到具有派生动作的控制器类型。
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|不动点
TR
-跟踪信号
标量|向量
控制器输出的跟踪信号。当信号跟踪被激活时,跟踪信号和块输出之间的差被反馈到积分器输入。在两个控制器之间切换的系统中,信号跟踪对于实现无颠簸控制传输是很有用的。在多回路控制系统中,它还可以用于防止阻塞上发条。有关更多信息,请参见启用跟踪模式参数。
依赖关系
要启用此端口,请选择启用跟踪模式参数。
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|不动点
输出
Port_1 (u)
——控制器输出
标量|向量
控制器输出,通常基于输入信号、输入信号的积分和输入信号的导数的和,由设定值权重和比例增益参数、积分增益参数和导数增益参数加权。一阶极点对导数作用进行滤波。控制器信号中有哪些项取决于您为控制器参数。控件中显示当前设置的基本控制器传递函数补偿器的公式分段的块参数和掩码。控件指定的饱和限制等其他参数将修改块输出上限而且下限饱和参数。
当任意输入为矢量信号时,控制器输出为矢量信号。在这种情况下,块充当N独立PID控制器,其中N是输入向量中信号的个数。
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|不动点
参数
控制器
——控制器类型
PID
(默认)|π
|PD
指定哪个比例项、积分项和导数项在控制器中。
-
PID
-
比例,积分和导数作用。
-
π
-
只有比例和积分作用。
-
PD
-
只有比例和导数动作。
提示
控件中显示当前设置的控制器输出补偿器的公式分段的块参数和掩码。
编程使用
块参数:控制器 |
类型:字符串,特征向量 |
价值观:“PID” ,“π” ,“PD” |
默认值:“PID” |
形式
——控制器结构
平行
(默认)|理想的
指定控制器结构是平行的还是理想的。
-
平行
-
比例增益,积分增益和导数增益P,我,D,是独立应用的。例如,对于并行形式的连续时间2自由度PID控制器,控制器输出u是:
在哪里r是参考信号,y被测设备输出信号,和b而且c是设定点权重。
对于并行形式的离散时间2自由度控制器,控制器输出为:
在哪里积分器的方法而且过滤方法参数确定α(z),β(z),分别。
-
理想的
-
比例增益P行动是所有行动的总和。例如,对于理想形式的连续时间2自由度PID控制器,控制器输出为:
对于理想形式的离散时间2自由度PID控制器,传递函数为:
在哪里积分器的方法而且过滤方法参数确定α(z),β(z),分别。
提示
控制器当前设置的输出显示在补偿器的公式分段的块参数和掩码。
编程使用
块参数:控制器 |
类型:字符串,特征向量 |
价值观:“平行” ,“理想” |
默认值:“平行” |
时间域
—指定离散时间或连续时间控制器
离散时间
(默认)|连续时间
当您选择离散时间
,建议您为该块指定显式采样时间。看到采样时间(继承的为-1)参数。选择离散时间
也使积分器的方法,过滤方法参数。
当PID控制器块位于具有同步状态控制的模型中(请参阅国家控制块),则无法选择连续时间
.
请注意
的PID控制器(2自由度)而且离散PID控制器(2自由度)块是相同的,除了该参数的默认值。
编程使用
块参数:TimeDomain |
类型:字符串,特征向量 |
价值观:“连续时间” ,“离散” |
默认值:“离散” |
采样时间(继承的为-1)
-样本之间的离散区间
-1(默认)|阳性标量
通过输入一个正标量值指定采样时间,例如0.1。默认的离散采样时间为-1意味着该块从上游块继承其采样时间。但是,建议显式地设置控制器采样时间,特别是在希望上游块的采样时间发生变化的情况下。控制器系数P、I、D和N的影响取决于采样时间。因此,对于一组给定的系数值,改变采样时间就会改变控制器的性能。
看到指定样品时间为更多的信息。
要实现连续时间控制器,请设置时间域来连续时间
.
提示
如果您想运行带有外部指定或可变采样时间的块,请将该参数设置为-1,并将块放入触发子系统.然后,在所需的采样时间触发子系统。
依赖关系
若要启用此参数,请设置时间域来离散时间
.
编程使用
块参数:SampleTime |
类型:标量 |
价值观:-1 、积极的标量 |
默认值:-1 |
积分器的方法
-离散时间控制器中积分的计算方法
向前欧拉
(默认)|向后欧拉
|梯形
在离散时间下,控制器传递函数的积分项为Ia(z),一个(z)取决于你用这个参数指定的积分器方法。
-
向前欧拉
-
正矩形(左)近似,
这种方法是最好的小采样时间,其中奈奎斯特极限是大的相比于控制器的带宽。对于较大的采样时间,使用
向前欧拉
方法可能导致不稳定,即使离散一个在连续时间内稳定的系统。 -
向后欧拉
-
后向矩形(右)近似,
的一个优势
向后欧拉
该方法对一个稳定连续时间系统进行离散化,总能得到一个稳定的离散时间结果。 -
梯形
-
双线性近似,
的一个优势
梯形
该方法对一个稳定连续时间系统进行离散化,总能得到一个稳定的离散时间结果。在所有可用的集成方法中梯形
该方法得到离散系统的频域特性与相应连续时间系统的频域特性最接近的匹配。提示
当前设置的控制器公式显示在补偿器的公式分段的块参数和掩码。
有关离散时间积分的更多信息,请参见离散时间积分器块引用页面。
依赖关系
若要启用此参数,请设置时间域来离散时间
并设置控制器到具有积分动作的控制器类型。
编程使用
块参数:IntegratorMethod |
类型:字符串,特征向量 |
价值观:“向前欧拉” ,“向后欧拉” ,“梯形” |
默认值:“向前欧拉” |
过滤方法
-离散时间控制器中导数的计算方法
向前欧拉
(默认)|向后欧拉
|梯形
在离散时间下,控制器传递函数的导数项为:
在哪里α(z)取决于你用这个参数指定的筛选方法。
-
向前欧拉
-
正矩形(左)近似,
这种方法是最好的小采样时间,其中奈奎斯特极限是大的相比于控制器的带宽。对于较大的采样时间,使用
向前欧拉
方法可能导致不稳定,即使离散一个在连续时间内稳定的系统。 -
向后欧拉
-
后向矩形(右)近似,
的一个优势
向后欧拉
该方法对一个稳定连续时间系统进行离散化,总能得到一个稳定的离散时间结果。 -
梯形
-
双线性近似,
的一个优势
梯形
该方法对一个稳定连续时间系统进行离散化,总能得到一个稳定的离散时间结果。在所有可用的集成方法中梯形
该方法得到离散系统的频域特性与相应连续时间系统的频域特性最接近的匹配。提示
当前设置的控制器公式显示在补偿器的公式分段的块参数和掩码。
有关离散时间积分的更多信息,请参见离散时间积分器块引用页面。
依赖关系
若要启用此参数,请设置时间域来离散时间
并设置控制器到具有派生动作的控制器类型。
编程使用
块参数:FilterMethod |
类型:字符串,特征向量 |
价值观:“向前欧拉” ,“向后欧拉” ,“梯形” |
默认值:“向前欧拉” |
主要
源
-控制器增益和滤波系数的来源
Internal(默认)| external
-
内部
-
使用块参数指定控制器增益、滤波系数和设定点权重P,我,D,N,b,c分别。
-
外部
-
使用块输入在外部指定PID增益、滤波系数和设定点权重。对于当前控制器类型所需的每个参数,块上会出现一个额外的输入端口。
为参数启用外部输入允许您在块外部计算它们的值,并将它们作为信号输入提供给块。
外部输入是有用的,例如,当你想映射一个不同的PID参数化到块的PID增益。你也可以使用外部增益输入来实现增益定时PID控制。在增益计划控制中,您通过逻辑或模型中的其他计算确定PID增益,并将它们提供给块。
当你在外部提供增益时,积分和导数增益值的时间变化分别被积分和微分。导数设定点权值c也是有区别的。出现这个结果是因为在连续时间和离散时间中,增益在积分或微分之前应用于信号。例如,对于有外部输入的连续时间PID控制器,积分器项实现如下图所示。
在块内,输入信号u乘以外部提供的积分器增益,我之前,集成。这个实现的收益率:
因此,积分器增益包含在积分中。类似地,在块的导数项中,在微分之前乘以导数增益,这就产生了导数增益D导数设定点权值c是有区别的。
编程使用
块参数:ControllerParametersSource |
类型:字符串,特征向量 |
价值观:“内部” ,“外部” |
默认值:“内部” |
比例(P)
——比例增益
1 |标量|向量(默认)
为比例增益指定一个有限的、真实的增益值。当控制器形式是:
平行
-比例作用独立于积分和导数作用。例如,对于并行形式的连续时间2自由度PID控制器,控制器输出u是:在哪里r是参考信号,y被测设备输出信号,和b而且c是设定点权重。
对于并行形式的离散时间2自由度控制器,控制器输出为:
在哪里积分器的方法而且过滤方法参数确定α(z),β(z),分别。
理想的
-比例增益乘以积分和导数项。例如,对于理想形式的连续时间2自由度PID控制器,控制器输出为:对于理想形式的离散时间2自由度PID控制器,传递函数为:
在哪里积分器的方法而且过滤方法参数确定α(z),β(z),分别。
可调:是的
依赖关系
若要启用此参数,请设置Controller参数源来内部
.
编程使用
块参数:P |
类型:标量、矢量 |
默认值:1 |
积分(I)
——积分获得
1 |标量|向量(默认)
为积分增益指定一个有限的真实增益值。
可调:是的
依赖关系
若要启用此参数,请在主要页签,设置控制器参数源来内部
,并设置控制器一种具有整体作用的类型。
编程使用
块参数:我 |
类型:标量、矢量 |
默认值:1 |
微分(D)
——微分增益
0(默认)|标量|向量
为导数增益指定一个有限的、真实的增益值。
可调:是的
依赖关系
若要启用此参数,请在主要页签,设置控制器参数源来内部
,并设置控制器来PID
或PD
.
编程使用
块参数:D |
类型:标量、矢量 |
默认值:0 |
使用过滤导数
-对衍生项应用过滤器
在
(默认)|从
仅对于离散时间PID控制器,清除此选项以用未滤波的离散时间微分器替换滤波导数。当你这样做时,控制器输出的导数项变成:
对于连续时间PID控制器,导数项总是经过过滤的。
依赖关系
若要启用此参数,请设置时间域来离散时间
,并设置控制器到一个有导数项的类型。
编程使用
块参数:UseFilter |
类型:字符串,特征向量 |
价值观:“上” ,“关闭” |
默认值:“上” |
滤波器系数(N)
-导数滤波系数
100(默认)|标量|向量
为滤波器系数指定一个有限的、真实的增益值。滤波系数决定了滤波器在块的导数作用中的极点位置。滤极的位置取决于时间域参数。
当时间域是
连续时间
,极点位置为s = n
.当时间域是
离散时间
,极点的位置取决于过滤方法参数。过滤方法 滤极位置 向前欧拉
向后欧拉
梯形
该块不支持金宝appN =正
(理想的未经过滤的导数)。当时间域是离散时间
,您可以清除使用过滤导数删除导数过滤器。
可调:是的
依赖关系
若要启用此参数,请在主要页签,设置控制器参数源来内部
并设置控制器来PID
或PD
.
编程使用
块参数:N |
类型:标量、矢量 |
默认值:One hundred. |
选点重量(b)
-比例设定值权重
1 |标量|向量(默认)
在控制器的比例项上设置权重。2自由度控制器输出的比例项为P(br- - - - - -y),r是参考信号和y是被测量的植物产量。设置b为0消除了对参考信号的比例作用,这可以减少系统响应对设定值中的阶跃变化的超调。改变的相对值b而且c改变干扰抑制和设定点跟踪之间的平衡。
可调:是的
依赖关系
若要启用此参数,请在主要页签,设置控制器参数源来内部
.
编程使用
块参数:b |
类型:标量、矢量 |
默认值:1 |
选点重量(c)
-导数设定点权重
1 |标量|向量(默认)
设置控制器导数项上的权值。二自由度控制器的导数项作用于cr- - - - - -y,在那里r是参考信号和y是被测量的植物产量。因此,设置c为0消除了对参考信号的导数作用,这可以减少对设定点阶跃变化的瞬态响应。设置c为0可以得到一个既能有效抑制扰动又能平滑跟踪设定点的控制器,而不会有过多的瞬态响应。改变的相对值b而且c改变干扰抑制和设定点跟踪之间的平衡。
可调:是的
依赖关系
若要启用此参数,请在主要页签,设置控制器参数源来内部
并设置控制器一种有衍生作用的类型。
编程使用
块参数:c |
类型:标量、矢量 |
默认值:1 |
选择优化方法
-自动调整控制器系数的工具
基于传递函数(PID调谐器App)
(默认)|基于频率响应
如果你有金宝app仿真软件控制设计软件,你可以自动调优PID系数时,他们是内部的块。通过此参数选择调优工具,单击调优.
-
基于传递函数(PID调谐器App)
-
使用PID调谐器,它允许您在检查相关系统响应以验证性能的同时交互式地调整PID系数。PID调谐器能调整所有的系数吗P,我,D,N和设定点系数b而且c.默认情况下,PID调谐器与你的植物模型的线性化工作。对于无法线性化的模型,您可以根据模拟或测量响应数据估计的工厂模型调整PID系数。有关更多信息,请参见二自由度PID控制器设计(金宝app仿真软件控制设计)。
-
基于频率响应
-
使用基于频率响应的PID调谐器,根据仿真得到的频率响应估计数据对PID控制器系数进行整定。这种调优方法对于不可线性化或线性化为零的植物特别有用。基于频率响应的PID调谐器曲调系数P,我,D,N,但不调优设定值系数b而且c.有关更多信息,请参见利用工厂频率响应数据设计PID控制器(金宝app仿真软件控制设计)。
这两种调优方法都假定单回路控制配置。金宝app仿真软件控制设计软件包括适合更复杂配置的其他调优方法。有关调优a的其他方法的信息PID控制器块,看选择控制设计方法(金宝app仿真软件控制设计)。
依赖关系
若要启用此参数,请在主要页签,设置控制器参数源来内部
.
使讨论二阶导数过零检测
-在复位和进入或离开饱和状态时检测过零
在
(默认)|从
过零检测可以准确地定位信号不连续,而无需诉诸过小的时间步长,这会导致冗长的模拟时间。如果您选择限制输出或激活外部复位在你的PID控制器块,激活过零检测可以减少你的仿真计算时间。选择此参数激活过零检测:
在初始状态重置
当进入上或下饱和状态时
当离开高或低饱和状态
有关过零检测的更多信息,请参见讨论二阶导数过零检测.
编程使用
块参数:ZeroCross |
类型:字符串,特征向量 |
价值观:“上” ,“关闭” |
默认值:“上” |
初始化
源
-积分器和导数初始条件的来源
内部
(默认)|外部
金宝appSimulink使用初始条件在模拟开始时或在指定的触发事件时初始化积分器和导数-滤波器(或未过滤的导数)输出。(见外部复位参数)。这些初始条件决定了初始块输出。使用此参数选择如何向块提供初始条件值。
-
内部
-
方法指定初始条件积分器初始条件而且过滤器初始条件参数。如果使用过滤导数,请使用微分电路参数指定未滤波微分器的初始条件,而不是滤波器初始条件。
-
外部
-
使用块输入在外部指定初始条件。额外的输入端口我o而且Do出现在方块上。如果使用过滤导数时,为未滤波微分器提供初始条件Do而不是过滤器的初始条件。
编程使用
块参数:InitialConditionSource |
类型:字符串,特征向量 |
价值观:“内部” ,“外部” |
默认值:“内部” |
积分器
-积分器初始条件
0(默认)|标量|向量
金宝appSimulink使用积分器初始条件在模拟开始时或在指定的触发事件时初始化积分器外部复位).积分器的初始条件和滤波器的初始条件决定了滤波器的初始输出PID控制器块。
积分器的初始条件不能南
或正
.
依赖关系
要使用此参数,请在初始化选项卡,设置源来内部
,并设置控制器一种具有整体作用的类型。
编程使用
块参数:InitialConditionForIntegrator |
类型:标量、矢量 |
默认值:0 |
过滤器
-滤波器初始条件
0(默认)|标量|向量
金宝appSimulink使用筛选器初始条件在模拟开始时或在指定的触发事件时初始化导数筛选器外部复位).积分器的初始条件和滤波器的初始条件决定了滤波器的初始输出PID控制器块。
过滤器的初始条件不能为南
或正
.
依赖关系
要使用此参数,请在初始化选项卡,设置源来内部
,并使用具有导数过滤器的控制器。
编程使用
块参数:InitialConditionForFilter |
类型:标量、矢量 |
默认值:0 |
微分电路
-无过滤导数的初始条件
0(默认)|标量|向量
当您使用未过滤的导数时,Simulink使用此参数在模拟开始时或在指定的触发事金宝app件时初始化微分器(参见外部复位).积分器初始条件和导数初始条件决定了函数的初始输出PID控制器块。
导数的初始条件不能南
或正
.
依赖关系
要使用该参数,请设置时间域来离散时间
、清晰的使用过滤导数复选框,并在初始化选项卡,设置源来内部
.
编程使用
块参数:DifferentiatorICPrevScaledInput |
类型:标量、矢量 |
默认值:0 |
初始条件设置
-初始条件应用的位置
状态(最有效)
(默认)|输出
使用此参数指定是否应用积分器初始条件而且过滤器初始条件参数对应的块状态或输出。您只能在命令行中使用set_param
设置InitialConditionSetting
块的参数。
-
状态(最有效)
-
在所有情况下使用此选项,除非块位于触发子系统或函数调用子系统中并且启用了简化初始化模式。
-
输出
-
当块位于触发子系统或函数调用子系统中并且启用了简化初始化模式时,使用此选项。
有关的更多信息初始条件设置参数,请参阅离散时间积分器块。
此参数只能通过编程使用访问。
编程使用
块参数:InitialConditionSetting |
类型:字符串,特征向量 |
价值观:“状态” ,“输出” |
默认值:“状态” |
外部复位
-重置积分器和过滤器值的触发器
没有一个
(默认)|不断上升的
|下降
|要么
|水平
指定触发条件,使块将积分器和过滤器重置为初始条件。(如果使用过滤导数时,触发器将把积分器和微分器重置为初始条件。)选择任何选项没有一个
使重置块上用于外部复位信号的端口。
-
没有一个
-
积分器和滤波器(或微分器)输出在模拟开始时设置为初始条件,在模拟过程中不重置。
-
不断上升的
-
当复位信号有上升边缘时,复位输出。
-
下降
-
当复位信号有下降边缘时,复位输出。
-
要么
-
当复位信号上升或下降时,复位输出。
-
水平
-
当复位信号为:
在当前时间步上是非零的吗
从上一个时间步的非零变为当前时间步的零
当复位信号为非零时,该选项将输出保持在初始条件下。
依赖关系
若要启用此参数,请设置控制器一种具有导数或积分作用的类型。
编程使用
块参数:ExternalReset |
类型:字符串,特征向量 |
价值观:“没有” ,“上升” ,“下降” ,“不是” ,“水平” |
默认值:“没有” |
线性化时忽略重置
-强制线性化忽略重置
从
(默认)|在
选择强制Simulink和金宝app金宝app仿真软件控制设计方法中指定的任何重置机制外部复位参数。忽略重置状态允许您围绕一个操作点线性化模型,即使该操作点导致块重置。
编程使用
块参数:IgnoreLimit |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
启用跟踪模式
-激活信号跟踪
从
(默认)|在
信号跟踪让块输出跟随您在TR端口。当信号跟踪是活跃的,跟踪信号和块输出之间的差反馈到积分器输入增益Kt
,由跟踪获得(Kt)参数。信号跟踪在多回路控制结构中有多种应用,包括无颠簸控制传输和避免上绕组。
无扰控制转移
在两个控制器之间切换的系统中,使用信号跟踪实现无颠簸控制传输。假设你想要在一个PID控制器和另一个控制器之间传递控制权。为此,将控制器输出连接到TR输入如下图所示。
有关更多信息,请参见二自由度PID控制器的无颠簸控制传递.
多回路的控制
在多回路控制方法中使用信号跟踪来防止阻塞阻塞。有关用1DOF PID控制器说明这种方法的示例,请参见防止多回路控制中的块上发条.
依赖关系
若要启用此参数,请设置控制器一种具有整体作用的类型。
编程使用
块参数:TrackingMode |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
跟踪系数(Kt)
-信号跟踪反馈回路增益
1(默认)|标量
当您选择启用跟踪模式,信号之间的差TR块输出反馈到积分器输入带有增益Kt
.使用此参数指定反馈循环中的增益。
依赖关系
若要启用此参数,请选择启用跟踪模式.
编程使用
块参数:Kt |
类型:标量 |
默认值:1 |
输出饱和
限制输出
-限制块输出到指定的饱和值
从
(默认)|在
激活此选项将块输出限制在块内部,因此不需要单独的饱和控制器后块。它还允许您激活内置在块中的反上发条机制(参见Anti-windup方法参数)。方法指定饱和限制低饱和限制而且饱和上限参数。
编程使用
块参数:LimitOutput |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
上限
-块输出的饱和上限
正
(默认)|标量
指定块输出的上限。块输出保存在饱和上限每当比例、积分和导数动作的加权和超过该值时。
依赖关系
若要启用此参数,请选择限制输出.
编程使用
块参数:UpperSaturationLimit |
类型:标量 |
默认值:正 |
下限
-块输出的饱和下限
负
(默认)|标量
指定块输出的下限。块输出保存在低饱和限制每当比例、积分和导数动作的加权和低于该值时。
依赖关系
若要启用此参数,请选择限制输出.
编程使用
块参数:LowerSaturationLimit |
类型:标量 |
默认值:负 |
线性化时忽略饱和度
-强制线性化忽略输出限制
从
(默认)|在
力模型和金宝app金宝app仿真软件控制设计中指定的块输出限制的线性化命令上限而且下限参数。忽略输出限制允许您围绕一个操作点线性化模型,即使该操作点导致块超过输出限制。
依赖关系
若要启用此参数,请选择限制输出参数。
编程使用
块参数:LinearizeAsGain |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
Anti-windup方法
-积分器反清盘方法
没有一个
(默认)|反演计算
|夹紧
当您选择限制输出当控制器组件的加权和超过指定的输出限制时,块输出保持在指定的限制。然而,积分器输出可以继续增长(积分器清盘),增加块输出和块组件之和之间的差值。换句话说,即使输出受到饱和限制,块中的内部信号也可以是无界的。如果没有防止积分器清盘的机制,可能会出现两种结果:
如果进入积分器的信号符号不变,积分器继续积分,直到溢出。溢出值是积分器输出数据类型的最大值或最小值。
如果一旦加权和增长超过输出限制,进入积分器的信号的符号发生变化,则需要很长时间才能展开积分器并返回块饱和限制内的加权和。
在任何一种情况下,控制器的性能都会受到影响。为了对抗没有反上发条机制的上发条的影响,可能需要失谐控制器(例如,通过减少控制器增益),导致控制器迟钝。为避免此问题,可以使用此参数激活反清盘机制。
-
没有一个
-
不要使用防上发条机制。
-
反演计算
-
当块输出饱和时,通过将饱和和不饱和控制信号之间的差反馈给积分器来Unwind积分器。下图为连续时间控制器的反向计算反馈电路。要查看控制器配置的实际反馈电路,右键单击块并选择面具>看下面具.
使用反演计算系数(Kb)参数指定防上绕组反馈电路的增益。它通常是令人满意的定型
Kb =我
,或对于具有微分动作的控制器,我* D Kb =√)
.逆向计算对于死区时间相对较大的植物是有效的[1]. -
夹紧
-
当块分量之和超过输出极限且积分器输出和块输入具有相同符号时,积分停止。当块组件的总和超过输出限制且积分器输出和块输入有相反的符号时,积分恢复。夹紧有时被称为条件积分。
箝位对于死时间相对较短的植物是有用的,但是对于死时间较大的植物会产生较差的瞬态响应[1].
依赖关系
若要启用此参数,请选择限制输出参数。
编程使用
块参数:AntiWindupMode |
类型:字符串,特征向量 |
价值观:“没有” ,“回算” ,“夹紧” |
默认值:“没有” |
反演计算系数(Kb)
-抗上卷反馈回路增益系数
1(默认)|标量
的反演计算
当块输出饱和时,反上卷方法解除积分器。它通过将饱和和不饱和控制信号之间的差异反馈给积分器来做到这一点。使用反演计算系数(Kb)参数指定防上绕组反馈电路的增益。有关更多信息,请参见Anti-windup方法参数。
依赖关系
若要启用此参数,请选择限制输出参数,并设置Anti-windup方法参数反演计算
.
编程使用
块参数:Kb |
类型:标量 |
默认值:1 |
数据类型
此选项卡中的参数主要用于使用定点设计器™生成定点代码。它们定义了在生成代码时如何存储和处理与块相关的数量。
如果需要配置定点代码生成的数据类型,请单击开放定点工具并使用该工具配置选项卡中的其余参数。有关使用定点工具的信息,请参见使用定点工具自动缩放数据对象(定点设计师)。
使用定点工具后,如有必要,可以使用此选项卡中的参数对定点数据类型设置进行调整。对于与块关联的每个数量,您可以指定:
浮点或定点数据类型,包括数据类型是否继承自块中的上游值。
数量的最小值和最大值,它们决定如何缩放数量以实现定点表示。
如需帮助选择适当的值,请单击打开相应数量的数据类型助手。有关更多信息,请参见使用数据类型助手指定数据类型.
在数据类型选项卡中列出的具体数量取决于您如何配置PID控制器块。通常,您可以为以下类型的数量配置数据类型:
产品输出——存储在块掩码下进行的乘法的结果。例如,P产品输出存储增益块的输出,该增益块的输入与比例增益相乘P.
参数—存储数值块参数的值,例如P,我,或D.
块输出—存储驻留在PID控制器块掩码下的块的输出。例如,使用积分器的输出指定名为Integrator的块的输出的数据类型。该块位于Integrator子系统的掩码之下,并计算控制器动作的积分器项。
累加器——存储与求和块相关的值。例如,SumI2蓄电池设置与求和块SumI2相关的累加器的数据类型。该块驻留在Anti-Windup子系统的Back Calculation子系统的掩码之下。
通常,您可以通过查看PID控制器块掩码并检查其子系统来找到与任何列出的参数相关联的块。您还可以使用Model Explorer在掩码下搜索列出的参数名称,例如SumI2
.(见使用模型资源管理器搜索和编辑)。
匹配输入和内部数据类型
默认情况下,块中的所有数据类型都设置为继承:通过内部规则继承
.通过这个设置,Simulink选择数据金宝app类型来平衡数值精度、性能和生成的代码大小,同时考虑嵌入式目标硬件的属性。
在某些情况下,块内的数据类型之间可能发生不兼容。例如,在连续时间中,掩码下的Integrator块只能接受类型为的信号双
.如果块输入信号是不能转换为的类型双
,如uint16
,类型继承的内部规则在生成代码时生成错误。
为了避免此类错误,可以使用数据类型设置强制进行数据类型转换。例如,您可以显式地设置P产品输出,我的产品输出,D产品输出来双
,确保到达连续时间积分器的信号是类型的双
.
通常,不建议在连续时间内为代码生成应用程序使用块。但是,如果显式地将某些值设置为与块内下游信号约束不兼容的数据类型,则可能在离散时间中发生类似的数据类型错误。在这种情况下,使用数据类型设置来确保所有数据类型都是内部兼容的。
定点操作参数
整数舍入模式
-定点运算的舍入模式
地板上
(默认)|天花板
|收敛
|最近的
|轮
|简单的
|零
指定定点操作的舍入模式。有关更多信息,请参见舍入(定点设计师)。
块参数总是四舍五入到最接近的可表示值。要控制块参数的舍入,请使用MATLAB输入表达式®将函数舍入到掩码字段。
编程使用
块参数:RndMeth |
类型:特征向量 |
价值观:'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | '最简单' | 'Zero' |
默认值:“地板” |
整数溢出时饱和
-溢流处理方法
从
(默认)|在
指定溢出是饱和还是换行。
从
-溢出换行为数据类型可以表示的适当值。例如,数字130不适合有符号的8位整数,它被包装为-126。
在
—溢出饱和到数据类型所能表示的最小值或最大值。例如,与有符号8位整数关联的溢出可以饱和到-128或127。
提示
当您的模型有可能溢出,并且您想要在生成的代码中显式地进行饱和保护时,请考虑选择此复选框。
当您想优化生成代码的效率时,请考虑清除此复选框。
清除此复选框还有助于避免过度指定块如何处理超出范围的信号。有关更多信息,请参见检查信号范围错误.
当您选中此复选框时,饱和将应用于块上的每个内部操作,而不仅仅是输出或结果。
通常,代码生成过程可以检测何时溢出是不可能的。在这种情况下,代码生成器不会产生饱和代码。
编程使用
块参数:SaturateOnIntegerOverflow |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“关闭” |
锁定数据类型设置,防止定点工具更改
—防止定点工具覆盖数据类型
从
(默认)|在
选择此参数可防止定点工具覆盖此块上指定的数据类型。有关更多信息,请参见锁定输出数据类型设置(定点设计师)。
编程使用
块参数:LockScale |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“关闭” |
状态属性
此选项卡中的参数主要用于代码生成。
州名(例如,'position')
-连续时间滤波器和积分器状态的名称
”
(默认)|字符向量
为与积分器或滤波器相关联的状态指定一个唯一的名称,用于连续时间PID控制器。(有关离散时间PID控制器的状态名称的信息,请参见国家的名字参数)。使用了州名,例如:
为生成代码中相应的变量
作为模拟期间记录状态时存储名称的一部分
对块进行线性化得到线性模型中相应的状态
有效的州名以字母或下划线字符开头,后跟字母数字或下划线字符。
依赖关系
若要启用此参数,请设置时间域来连续时间
.
编程使用
参数:IntegratorContinuousStateAttributes ,FilterContinuousStateAttributes |
类型:特征向量 |
默认值:” |
国家的名字
离散时间滤波器和积分器状态的名称
空字符串(默认)| string |字符向量
为与积分器或滤波器相关联的状态指定一个唯一的名称,用于离散时间PID控制器。(有关连续时间PID控制器的状态名称的信息,请参见州名(例如,'position')参数)。
有效的州名以字母或下划线字符开头,后跟字母数字或下划线字符。使用了州名,例如:
为生成代码中相应的变量
作为模拟期间记录状态时存储名称的一部分
对块进行线性化得到线性模型中相应的状态
有关在代码生成中使用状态名的详细信息,请参见对单个信号、状态和参数数据元素应用存储类(金宝app仿真软件编码器)。
依赖关系
若要启用此参数,请设置时间域来离散时间
.
编程使用
参数:IntegratorStateIdentifier ,FilterStateIdentifier |
类型:字符串,特征向量 |
默认值:"" |
状态名必须解析为Simulink信号对象金宝app
-要求状态名解析为一个信号对象
从
(默认)|在
选择此参数要求离散时间积分器或过滤器状态名解析为Simulink信号对象。金宝app
依赖关系
为离散时间积分器或滤波器状态启用此参数:
集时间域来
离散时间
.为积分器或过滤器指定一个值国家的名字.
设置模型配置参数信号的分辨率的值
没有一个
.
选中此复选框将禁用代码生成存储类对应的积分器或滤波器状态。
编程使用
块参数:IntegratorStateMustResolveToSignalObject ,FilterStateMustResolveToSignalObject |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
代码生成存储类
-用于代码生成的存储类
汽车
(默认)|ExportedGlobal
|ImportedExtern
|ImportedExternPointer
为代码生成选择状态存储类。如果不需要接口到外部代码,请选择汽车
.
有关更多信息,请参见对单个信号、状态和参数数据元素应用存储类(金宝app仿真软件编码器)和向数据元素应用内置和自定义存储类(嵌入式编码)。
依赖关系
为离散时间积分器或滤波器状态启用此参数:
集时间域来
离散时间
.为积分器或过滤器指定一个值国家的名字.
设置模型配置参数信号的分辨率的值
没有一个
.
编程使用
块参数:IntegratorRTWStateStorageClass ,FilterRTWStateStorageClass |
类型:字符串,特征向量 |
价值观:“汽车” ,“ExportedGlobal” ,“ImportedExtern” |“ImportedExternPointer” |
默认值:“汽车” |
代码生成存储类型限定符
—存储类型限定符
空字符串(默认)|字符向量|“常量”
|“不稳定”
|……
指定存储类型限定符,例如常量
或挥发性
.
请注意
该参数将在未来的版本中删除。若要对数据应用存储类型限定符,请使用自定义存储类和内存部分。除非您在嵌入式编码器中使用基于ert的代码生成目标®,自定义存储类和内存段不影响生成的代码。
依赖关系
若要启用此参数,请设置代码生成存储类除了汽车
.
编程使用
块参数:IntegratorRTWStateStorageTypeQualifier ,FilterRTWStateStorageTypeQualifier |
类型:字符串,特征向量 |
价值观:"" ,“常量” ,“不稳定” |
默认值:"" |
块特征
数据类型 |
|
直接引线 |
|
多维信号 |
|
适应信号 |
|
讨论二阶导数过零检测 |
|
更多关于
二自由度PID控制器的分解
2自由度PID控制器可以被解释为一个带有预滤波器的PID控制器,或者一个带有前馈元件的PID控制器。
预滤器分解
以并行形式,一个二自由度PID控制器可以等价地用下图建模,其中C为单自由度PID控制器和F是参考信号上的预滤波器。
裁判是参考信号,y来自被测系统的反馈输出,和u控制器输出。对于并行形式的连续时间2自由度PID控制器,传递函数F而且C是
在哪里b而且c是设定点权重。
对于理想状态下的二自由度PID控制器,传递函数为
类似的分解适用于离散时间2自由度控制器。
前馈分解
或者,并联二自由度PID控制器也可以用下面的框图建模。
在这个实现,问作为参考信号的前馈调节。对于并行形式的连续时间2自由度PID控制器,其传递函数问是
对于理想状态下的二自由度PID控制器,传递函数为
的传递函数C与过滤器分解中相同。
类似的分解适用于离散时间2自由度控制器。
参考文献
[1] Visioli, A.,“改进的PID控制器的反清盘方案,”控制理论与应用2003年1月,第150卷第1期
扩展功能
C / c++代码生成
使用Simulink®Coder™生成C和c++代码。金宝app
对于连续时间PID控制器(时间域设置为连续时间
):
考虑使用模型离散化将连续时间块映射到支持代码生成的离散等价块。金宝app要访问模型离散器,请在应用程序选项卡,在控制系统,点击模型离散化.
不建议用于生产代码。
对于离散时间PID控制器(时间域设置为离散时间
):
当置于触发子系统层次结构中时,取决于绝对时间。
生成的代码依赖于
memcpy
或memset
函数(string.h
)在某些条件下。
PLC的代码生成
使用Simulink®PLC Coder™生成结构化文本代码。金宝app
定点转换
使用定点设计器设计和模拟定点系统。
定点代码生成仅支持离散时间PID控制器(金宝app时间域设置为离散时间
).
另请参阅
介绍了R2009b
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。