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