主要内容

PID控制器(2自由度)

连续时间或离散时间二自由度PID控制器

  • 库:
  • 模型/连续

  • PID控制器(2DOF)块

描述

PID控制器(2自由度)块实现了一个二自由度PID控制器(PID, PI或PD)。块是相同的离散PID控制器(2自由度)块的时间域参数设置为连续时间

该模块根据参考信号和被测系统输出之间的差异生成输出信号。该块根据设定值权重(b而且c)。块输出是各自差分信号上的比例、积分和导数动作的总和,其中每个动作根据增益参数进行加权P,D.一阶极点对导数作用进行滤波。

该块支持多种控制器类型和结构。块中的可配置选项包括:

  • 控制器类型(PID、PI、PD)—参见控制器参数。

  • 控制器形式(平行或理想)-参见形式参数。

  • 时域(连续或离散)-参见时间域参数。

  • 初始条件和重置触发器-参见而且外部复位参数。

  • 输出饱和限制和内置的防上发条机制-见限制输出参数。

  • 无颠簸控制传输和多回路控制的信号跟踪-参见启用跟踪模式参数。

当您更改这些选项时,通过激活不同的变体子系统,块的内部结构将发生变化。(见使用不同的子系统在独立的层次结构中实现变化)。要检查块及其不同子系统的内部结构,右键单击块并选择面具>看下面具

控制配置

的通用实现中PID控制器块在反馈回路的前馈路径上工作。

有关接受错误信号(设定值和系统输出之间的差异)的单输入块,请参见PID控制器

PID增益调优

PID控制器系数和设定值权重可手动或自动调节。自动调谐需要动态仿真模块®控制设计™软件有关自动调优的更多信息,请参见选择优化方法参数。

港口

输入

全部展开

参考信号为植物跟随,如图所示。

当参考信号是矢量时,块分别作用于每个信号,向量化PID系数,产生相同维数的矢量输出信号。你可以将PID系数和其他一些参数指定为与输入信号相同维度的向量。这样做相当于为输入信号中的每个条目指定一个单独的PID控制器。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

反馈信号为控制器,由工厂输出。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

比例增益,由块的外部源提供。外部增益输入是有用的,例如,当你想映射一个不同的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|不动点

衍生增益,由块的外部源提供。外部增益输入是有用的,例如,当你想映射一个不同的PID参数化到块的PID增益。你也可以使用外部增益输入来实现增益定时PID控制。在增益计划控制中,您通过逻辑或模型中的其他计算确定PID系数,并将它们提供给块。

当你在外部提供增益时,导数增益的时间变化也被微分。出现这种结果是因为PID增益在块内实现的方式。详细信息请参见控制器参数的来源参数。

依赖关系

若要启用此端口,请设置控制器参数的来源外部,并设置控制器到具有派生动作的控制器类型。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

由块外部源提供的导数滤波系数。外部系数输入是有用的,例如,当你想映射一个不同的PID参数化到块的PID增益。也可以使用外部输入实现增益定时PID控制。在增益计划控制中,您通过逻辑或模型中的其他计算确定PID系数,并将它们提供给块。

依赖关系

若要启用此端口,请设置控制器参数的来源外部,并设置控制器到具有过滤派生的控制器类型。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

比例设定值重量,由块的外部源提供。外部输入是有用的,例如,当你想映射一个不同的PID参数化到块的PID增益。也可以使用外部输入实现增益定时PID控制。在增益计划控制中,您通过逻辑或模型中的其他计算确定PID系数,并将它们提供给块。

依赖关系

若要启用此端口,请设置控制器参数的来源外部

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

衍生设定值权重,由块外部的源提供。外部输入是有用的,例如,当你想映射一个不同的PID参数化到块的PID增益。也可以使用外部输入实现增益定时PID控制。在增益计划控制中,您通过逻辑或模型中的其他计算确定PID系数,并将它们提供给块。

依赖关系

若要启用此端口,请设置控制器参数的来源外部,并设置控制器到具有派生动作的控制器类型。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

触发器将积分器和滤波器重置到初始状态。使用外部复位参数指定触发重置的信号类型。端口图标指示在该参数中指定的触发器类型。例如,下图显示了一个连续时间PID控制器(2DOF)块外部复位设置为不断上升的

触发器发生时,该块将积分器和过滤器重置为控件指定的初始条件积分器初始条件而且过滤器初始条件参数或0而且D0港口。

请注意

符合汽车工业软件可靠性协会(MISRA)的要求®)软件标准,您的模型必须使用布尔信号驱动外部复位端口PID控制器块。

依赖关系

若要启用此端口,请设置外部复位除了没有一个

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点|布尔

积分器初始条件,由块外部的源提供。

依赖关系

若要启用此端口,请设置初始条件的来源外部,并设置控制器到具有积分动作的控制器类型。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

导数滤波器的初始条件,由块外部的源提供。

依赖关系

若要启用此端口,请设置初始条件的来源外部,并设置控制器到具有派生动作的控制器类型。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

块输出的上限,由块外部的源提供。如果比例、积分和导数动作的加权和超过该端口提供的值,则块输出保持在该值。

依赖关系

若要启用此端口,请选择限制输出并设置输出饱和度外部

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

块输出的下限,由块外部的源提供。如果比例、积分和导数动作的加权和低于该端口提供的值,则块输出保持在该值。

依赖关系

若要启用此端口,请选择限制输出并设置输出饱和度外部

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

控制器输出的跟踪信号。当信号跟踪被激活时,跟踪信号和块输出之间的差被反馈到积分器输入。在两个控制器之间切换的系统中,信号跟踪对于实现无颠簸控制传输是很有用的。在多回路控制系统中,它还可以用于防止阻塞上发条。有关更多信息,请参见启用跟踪模式参数。

依赖关系

要启用此端口,请选择启用跟踪模式参数。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

离散积分器时间,作为块的标量提供。您可以使用您自己的离散时间积分器采样时间值,它定义块将在Simulink中或在外部硬件上运行的速率。当块在一个条件执行的子系统中使用时,离散时间积分器时间的值应该匹配外部中断的平均采样率。

换句话说,您可以指定Ts对于下面的任何积分器方法,使其值与外部中断的平均采样率相匹配。在离散时间下,控制器传递函数的导数项为:

D N 1 + N α z

在哪里αz)取决于你用这个参数指定的积分器方法。

向前欧拉

α z T 年代 z 1

向后欧拉

α z T 年代 z z 1

梯形

α z T 年代 2 z + 1 z 1

有关离散时间积分的更多信息,请参见离散时间积分器块引用页面。有关有条件执行子系统的更多信息,请参见有条件执行子系统概述

依赖关系

若要启用此端口,请设置时间域离散时间并选择PID控制器在一个有条件执行的子系统中选择。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输出

全部展开

控制器输出,通常基于输入信号、输入信号的积分和输入信号的导数的和,由设定值权重和比例增益参数、积分增益参数和导数增益参数加权。一阶极点对导数作用进行滤波。控制器信号中有哪些项取决于您为控制器参数。控件中显示当前设置的基本控制器传递函数补偿器的公式分段的块参数和掩码。控件指定的饱和限制等其他参数将修改块输出上限而且下限饱和参数。

当任意输入为矢量信号时,控制器输出为矢量信号。在这种情况下,块充当N独立PID控制器,其中N是输入向量中信号的个数。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

参数

全部展开

指定哪个比例项、积分项和导数项在控制器中。

PID

比例,积分和导数作用。

π

只有比例和积分作用。

PD

只有比例和导数动作。

提示

控件中显示当前设置的控制器输出补偿器的公式分段的块参数和掩码。

编程使用

块参数:控制器
类型:字符串,特征向量
价值观:“PID”“π”“PD”
默认值:“PID”

指定控制器结构是平行的还是理想的。

平行

比例增益,积分增益和导数增益P,D,是独立应用的。例如,对于并行形式的连续时间2自由度PID控制器,控制器输出u是:

u P b r y + 1 年代 r y + D N 1 + N 1 年代 c r y

在哪里r是参考信号,y被测设备输出信号,和b而且c是设定点权重。

对于并行形式的离散时间2自由度控制器,控制器输出为:

u P b r y + α z r y + D N 1 + N β z c r y

在哪里积分器的方法而且过滤方法参数确定αz),βz),分别。

理想的

比例增益P行动是所有行动的总和。例如,对于理想形式的连续时间2自由度PID控制器,控制器输出为:

u P b r y + 1 年代 r y + D N 1 + N 1 年代 c r y

对于理想形式的离散时间2自由度PID控制器,传递函数为:

u P b r y + α z r y + D N 1 + N β z c r y

在哪里积分器的方法而且过滤方法参数确定αz),βz),分别。

提示

控制器当前设置的输出显示在补偿器的公式分段的块参数和掩码。

编程使用

块参数:控制器
类型:字符串,特征向量
价值观:“平行”“理想”
默认值:“平行”

当您选择离散时间,建议您为该块指定显式采样时间。看到采样时间(继承的为-1)参数。选择离散时间也使积分器的方法,过滤方法参数。

PID控制器块位于具有同步状态控制的模型中(请参阅国家控制(高密度脂蛋白编码器)块),则无法选择连续时间

请注意

PID控制器(2自由度)而且离散PID控制器(2自由度)块是相同的,除了该参数的默认值。

编程使用

块参数:TimeDomain
类型:字符串,特征向量
价值观:“连续时间”“离散”
默认值:“连续时间”

对于离散时间PID控制器,允许离散时间积分器端口使用您自己的离散时间积分器采样时间值。要确保适当的集成,请使用T贸易工业部端口提供一个标量值Δt,以进行精确的离散时间积分。

依赖关系

若要启用此参数,请设置时间域离散时间

编程使用

块参数:UseExternalTs
类型:字符串,特征向量
价值观:“上”“关闭”
默认值:“关闭”

通过输入一个正标量值指定采样时间,例如0.1。默认的离散采样时间为-1意味着该块从上游块继承其采样时间。但是,建议显式地设置控制器采样时间,特别是在希望上游块的采样时间发生变化的情况下。控制器系数P、I、D和N的影响取决于采样时间。因此,对于一组给定的系数值,改变采样时间就会改变控制器的性能。

看到指定样品时间为更多的信息。

要实现连续时间控制器,请设置时间域连续时间

提示

如果您想运行带有外部指定或可变采样时间的块,请将该参数设置为-1,并将块放入触发子系统.然后,在所需的采样时间触发子系统。

依赖关系

若要启用此参数,请设置时间域离散时间

编程使用

块参数:SampleTime
类型:标量
价值观:-1、积极的标量
默认值:-1

在离散时间下,控制器传递函数的积分项为Iaz),一个z)取决于你用这个参数指定的积分器方法。

向前欧拉

正矩形(左)近似,

α z T 年代 z 1

这种方法是最好的小采样时间,其中奈奎斯特极限是大的相比于控制器的带宽。对于较大的采样时间,使用向前欧拉方法可能导致不稳定,即使离散一个在连续时间内稳定的系统。

向后欧拉

后向矩形(右)近似,

α z T 年代 z z 1

的一个优势向后欧拉该方法对一个稳定连续时间系统进行离散化,总能得到一个稳定的离散时间结果。

梯形

双线性近似,

α z T 年代 2 z + 1 z 1

的一个优势梯形该方法对一个稳定连续时间系统进行离散化,总能得到一个稳定的离散时间结果。在所有可用的集成方法中梯形该方法得到离散系统的频域特性与相应连续时间系统的频域特性最接近的匹配。

提示

当前设置的控制器公式显示在补偿器的公式分段的块参数和掩码。

有关离散时间积分的更多信息,请参见离散时间积分器块引用页面。

依赖关系

若要启用此参数,请设置时间域离散时间并设置控制器到具有积分动作的控制器类型。

编程使用

块参数:IntegratorMethod
类型:字符串,特征向量
价值观:“向前欧拉”“向后欧拉”“梯形”
默认值:“向前欧拉”

在离散时间下,控制器传递函数的导数项为:

D N 1 + N α z

在哪里αz)取决于你用这个参数指定的筛选方法。

向前欧拉

正矩形(左)近似,

α z T 年代 z 1

这种方法是最好的小采样时间,其中奈奎斯特极限是大的相比于控制器的带宽。对于较大的采样时间,使用向前欧拉方法可能导致不稳定,即使离散一个在连续时间内稳定的系统。

向后欧拉

后向矩形(右)近似,

α z T 年代 z z 1

的一个优势向后欧拉该方法对一个稳定连续时间系统进行离散化,总能得到一个稳定的离散时间结果。

梯形

双线性近似,

α z T 年代 2 z + 1 z 1

的一个优势梯形该方法对一个稳定连续时间系统进行离散化,总能得到一个稳定的离散时间结果。在所有可用的集成方法中梯形该方法得到离散系统的频域特性与相应连续时间系统的频域特性最接近的匹配。

提示

当前设置的控制器公式显示在补偿器的公式分段的块参数和掩码。

有关离散时间积分的更多信息,请参见离散时间积分器块引用页面。

依赖关系

若要启用此参数,请设置时间域离散时间并使使用过滤导数

编程使用

块参数:FilterMethod
类型:字符串,特征向量
价值观:“向前欧拉”“向后欧拉”“梯形”
默认值:“向前欧拉”

主要

内部

使用块参数指定控制器增益、滤波系数和设定点权重PDNb,c分别。

外部

使用块输入在外部指定PID增益、滤波系数和设定点权重。对于当前控制器类型所需的每个参数,块上会出现一个额外的输入端口。

为参数启用外部输入允许您在块外部计算它们的值,并将它们作为信号输入提供给块。

外部输入是有用的,例如,当你想映射一个不同的PID参数化到块的PID增益。你也可以使用外部增益输入来实现增益定时PID控制。在增益计划控制中,您通过逻辑或模型中的其他计算确定PID增益,并将它们提供给块。

当你在外部提供增益时,积分和导数增益值的时间变化分别被积分和微分。导数设定点权值c也是有区别的。出现这个结果是因为在连续时间和离散时间中,增益在积分或微分之前应用于信号。例如,对于有外部输入的连续时间PID控制器,积分器项实现如下图所示。

在块内,输入信号u乘以外部提供的积分器增益,之前,集成。这个实现的收益率:

u r y d t

因此,积分器增益包含在积分中。类似地,在块的导数项中,在微分之前乘以导数增益,这就产生了导数增益D导数设定点权值c是有区别的。

编程使用

块参数:ControllerParametersSource
类型:字符串,特征向量
价值观:“内部”“外部”
默认值:“内部”

为比例增益指定一个有限的、真实的增益值。当控制器形式是:

  • 平行-比例作用独立于积分和导数作用。例如,对于并行形式的连续时间2自由度PID控制器,控制器输出u是:

    u P b r y + 1 年代 r y + D N 1 + N 1 年代 c r y

    在哪里r是参考信号,y被测设备输出信号,和b而且c是设定点权重。

    对于并行形式的离散时间2自由度控制器,控制器输出为:

    u P b r y + α z r y + D N 1 + N β z c r y

    在哪里积分器的方法而且过滤方法参数确定αz),βz),分别。

  • 理想的-比例增益乘以积分和导数项。例如,对于理想形式的连续时间2自由度PID控制器,控制器输出为:

    u P b r y + 1 年代 r y + D N 1 + N 1 年代 c r y

    对于理想形式的离散时间2自由度PID控制器,传递函数为:

    u P b r y + α z r y + D N 1 + N β z c r y

    在哪里积分器的方法而且过滤方法参数确定αz),βz),分别。

可调:是的

依赖关系

若要启用此参数,请设置Controller参数内部

编程使用

块参数:P
类型:标量、矢量
默认值:1

为积分增益指定一个有限的真实增益值。

可调:是的

依赖关系

若要启用此参数,请在主要页签,设置控制器参数内部,并设置控制器一种具有整体作用的类型。

编程使用

块参数:
类型:标量、矢量
默认值:1

为导数增益指定一个有限的、真实的增益值。

可调:是的

依赖关系

若要启用此参数,请在主要页签,设置控制器参数内部,并设置控制器PIDPD

编程使用

块参数:D
类型:标量、矢量
默认值:0

仅对于离散时间PID控制器,清除此选项以用未滤波的离散时间微分器替换滤波导数。当你这样做时,控制器输出的导数项变成:

D z 1 z T 年代 c r y

对于连续时间PID控制器,导数项总是经过过滤的。

依赖关系

若要启用此参数,请设置时间域离散时间,并设置控制器到一个有导数项的类型。

编程使用

块参数:UseFilter
类型:字符串,特征向量
价值观:“上”“关闭”
默认值:“上”

为滤波器系数指定一个有限的、真实的增益值。滤波系数决定了滤波器在块的导数作用中的极点位置。滤极的位置取决于时间域参数。

  • 时间域连续时间,极点位置为s = n

  • 时间域离散时间,极点的位置取决于过滤方法参数。

    过滤方法 滤极位置
    向前欧拉 z p o l e 1 N T 年代
    向后欧拉 z p o l e 1 1 + N T 年代
    梯形 z p o l e 1 N T 年代 / 2 1 + N T 年代 / 2

该块不支持N =正(理想的未经过滤的导数)。当时间域离散时间,您可以清除使用过滤导数删除导数过滤器。

可调:是的

依赖关系

若要启用此参数,请在主要页签,设置控制器参数内部并设置控制器PIDPD

编程使用

块参数:N
类型:标量、矢量
默认值:One hundred.

在控制器的比例项上设置权重。2自由度控制器输出的比例项为Pbr- - - - - -y),r是参考信号和y是被测量的植物产量。设置b为0消除了对参考信号的比例作用,这可以减少系统响应对设定值中的阶跃变化的超调。改变的相对值b而且c改变干扰抑制和设定点跟踪之间的平衡。

可调:是的

依赖关系

若要启用此参数,请在主要页签,设置控制器参数内部

编程使用

块参数:b
类型:标量、矢量
默认值:1

设置控制器导数项上的权值。二自由度控制器的导数项作用于cr- - - - - -y,在那里r是参考信号和y是被测量的植物产量。因此,设置c为0消除了对参考信号的导数作用,这可以减少对设定点阶跃变化的瞬态响应。设置c为0可以得到一个既能有效抑制扰动又能平滑跟踪设定点的控制器,而不会有过多的瞬态响应。改变的相对值b而且c改变干扰抑制和设定点跟踪之间的平衡。

可调:是的

依赖关系

若要启用此参数,请在主要页签,设置控制器参数内部并设置控制器一种有衍生作用的类型。

编程使用

块参数:c
类型:标量、矢量
默认值:1

如果你有仿真软件控制设计软件,你可以自动调优PID系数时,他们是内部的块。通过此参数选择调优工具,单击调优

基于传递函数(PID调谐器App)

使用PID调谐器,它允许您在检查相关系统响应以验证性能的同时交互式地调整PID系数。PID调谐器能调整所有的系数吗PD,N和设定点系数b而且c.默认情况下,PID调谐器与你的植物模型的线性化工作。对于无法线性化的模型,您可以根据模拟或测量响应数据估计的工厂模型调整PID系数。有关更多信息,请参见二自由度PID控制器设计(仿真软件控制设计)

基于频率响应

使用基于频率响应的PID调谐器,根据仿真得到的频率响应估计数据对PID控制器系数进行整定。这种调优方法对于不可线性化或线性化为零的植物特别有用。基于频率响应的PID调谐器曲调系数PD,N,但不调优设定值系数b而且c.有关更多信息,请参见利用工厂频率响应数据设计PID控制器(仿真软件控制设计)

这两种调优方法都假定单回路控制配置。仿真软件控制设计软件包括适合更复杂配置的其他调优方法。有关调优a的其他方法的信息PID控制器块,看选择控制设计方法(仿真软件控制设计)

依赖关系

若要启用此参数,请在主要页签,设置控制器参数内部

过零检测可以准确地定位信号不连续,而无需诉诸过小的时间步长,这会导致冗长的模拟时间。如果您选择限制输出或激活外部复位在你的PID控制器块,激活过零检测可以减少你的仿真计算时间。选择此参数激活过零检测:

  • 在初始状态重置

  • 当进入上或下饱和状态时

  • 当离开高或低饱和状态

有关过零检测的更多信息,请参见讨论二阶导数过零检测

编程使用

块参数:ZeroCross
类型:字符串,特征向量
价值观:“上”“关闭”
默认值:“上”

初始化

Simulink使用初始条件在模拟开始时或在指定的触发事件时初始化积分器和导数-滤波器(或未过滤的导数)输出。(见外部复位参数)。这些初始条件决定了初始块输出。使用此参数选择如何向块提供初始条件值。

内部

方法指定初始条件积分器初始条件而且过滤器初始条件参数。如果使用过滤导数,请使用微分电路参数指定未滤波微分器的初始条件,而不是滤波器初始条件。

外部

使用块输入在外部指定初始条件。额外的输入端口o而且Do出现在方块上。如果使用过滤导数时,为未滤波微分器提供初始条件Do而不是过滤器的初始条件。

编程使用

块参数:InitialConditionSource
类型:字符串,特征向量
价值观:“内部”“外部”
默认值:“内部”

Simulink使用积分器初始条件在模拟开始时或在指定的触发事件时初始化积分器外部复位).积分器的初始条件和滤波器的初始条件决定了滤波器的初始输出PID控制器块。

积分器的初始条件不能

依赖关系

要使用此参数,请在初始化选项卡,设置内部,并设置控制器一种具有整体作用的类型。

编程使用

块参数:InitialConditionForIntegrator
类型:标量、矢量
默认值:0

Simulink使用筛选器初始条件在模拟开始时或在指定的触发事件时初始化导数筛选器外部复位).积分器的初始条件和滤波器的初始条件决定了滤波器的初始输出PID控制器块。

过滤器的初始条件不能为

依赖关系

要使用此参数,请在初始化选项卡,设置内部,并使用具有导数过滤器的控制器。

编程使用

块参数:InitialConditionForFilter
类型:标量、矢量
默认值:0

当您使用未过滤的导数时,Simulink使用此参数在模拟开始时或在指定的触发事件时初始化微分器(参见外部复位).积分器初始条件和导数初始条件决定了函数的初始输出PID控制器块。

导数的初始条件不能

依赖关系

要使用该参数,请设置时间域离散时间、清晰的使用过滤导数复选框,并在初始化选项卡,设置内部

编程使用

块参数:DifferentiatorICPrevScaledInput
类型:标量、矢量
默认值:0

使用此参数指定是否应用积分器初始条件而且过滤器初始条件参数对应的块状态或输出。您只能在命令行中使用set_param设置InitialConditionSetting块的参数。

汽车

在所有情况下使用此选项,除非块位于触发子系统或函数调用子系统中并且启用了简化初始化模式。

输出

当块位于触发子系统或函数调用子系统中并且启用了简化初始化模式时,使用此选项。

有关的更多信息初始条件设置参数,请参阅离散时间积分器块。

此参数只能通过编程使用访问。

编程使用

块参数:InitialConditionSetting
类型:字符串,特征向量
价值观:“汽车”“输出”
默认值:“汽车”

指定触发条件,使块将积分器和过滤器重置为初始条件。(如果使用过滤导数时,触发器将把积分器和微分器重置为初始条件。)选择任何选项没有一个使重置块上用于外部复位信号的端口。

没有一个

积分器和滤波器(或微分器)输出在模拟开始时设置为初始条件,在模拟过程中不重置。

不断上升的

当复位信号有上升边缘时,复位输出。

下降

当复位信号有下降边缘时,复位输出。

要么

当复位信号上升或下降时,复位输出。

水平

当复位信号为:

  • 在当前时间步上是非零的吗

  • 从上一个时间步的非零变为当前时间步的零

当复位信号为非零时,该选项将输出保持在初始条件下。

依赖关系

若要启用此参数,请设置控制器一种具有导数或积分作用的类型。

编程使用

块参数:ExternalReset
类型:字符串,特征向量
价值观:“没有”“上升”“下降”“不是”“水平”
默认值:“没有”

选择强制Simulink和仿真软件控制设计方法中指定的任何重置机制外部复位参数。忽略重置状态允许您围绕一个操作点线性化模型,即使该操作点导致块重置。

编程使用

块参数:IgnoreLimit
类型:字符串,特征向量
价值观:“关闭”“上”
默认值:“关闭”

信号跟踪让块输出跟随您在TR端口。当信号跟踪是活跃的,跟踪信号和块输出之间的差反馈到积分器输入增益Kt,由跟踪获得(Kt)参数。信号跟踪在多回路控制结构中有多种应用,包括无颠簸控制传输和避免上绕组。

无扰控制转移

在两个控制器之间切换的系统中,使用信号跟踪实现无颠簸控制传输。假设你想要在一个PID控制器和另一个控制器之间传递控制权。为此,将控制器输出连接到TR输入如下图所示。

有关更多信息,请参见二自由度PID控制器的无颠簸控制传递

多回路的控制

在多回路控制方法中使用信号跟踪来防止阻塞阻塞。有关用1DOF PID控制器说明这种方法的示例,请参见防止多回路控制中的块上发条

依赖关系

若要启用此参数,请设置控制器一种具有整体作用的类型。

编程使用

块参数:TrackingMode
类型:字符串,特征向量
价值观:“关闭”“上”
默认值:“关闭”

当您选择启用跟踪模式,信号之间的差TR块输出反馈到积分器输入带有增益Kt.使用此参数指定反馈循环中的增益。

依赖关系

若要启用此参数,请选择启用跟踪模式

编程使用

块参数:Kt
类型:标量
默认值:1

饱和

输出饱和

激活此选项将限制块输出,因此不需要单独的饱和控制器后块。它还允许您激活内置在块中的反上发条机制(参见Anti-windup方法参数)。方法指定输出饱和限制下限而且上限参数。您还可以在外部指定作为块输入端口的饱和限制。

编程使用

块参数:LimitOutput
类型:字符串,特征向量
价值观:“关闭”“上”
默认值:“关闭”

使用此参数指定如何提供块输出的上下限饱和限制。

内部

方法指定输出饱和限制上限而且下限参数。

外部

使用块输入端口在外部指定输出饱和限制。额外的输入端口向上而且出现在方块上。您可以使用输入端口来实现由Simulink模型中的逻辑或其他计算确定的输出饱和上限和下限,并将其传递给块。

编程使用

块参数:SatLimitsSource
类型:字符串,特征向量
价值观:“内部”“外部”
默认值:“内部”

指定块输出的上限。块输出保存在饱和上限每当比例、积分和导数动作的加权和超过该值时。

依赖关系

若要启用此参数,请选择限制输出

编程使用

块参数:UpperSaturationLimit
类型:标量
默认值:

指定块输出的下限。块输出保存在低饱和限制每当比例、积分和导数动作的加权和低于该值时。

依赖关系

若要启用此参数,请选择限制输出

编程使用

块参数:LowerSaturationLimit
类型:标量
默认值:

力模型和仿真软件控制设计中指定的块输出限制的线性化命令上限而且下限参数。忽略输出限制允许您围绕一个操作点线性化模型,即使该操作点导致块超过输出限制。

依赖关系

若要启用此参数,请选择限制输出参数。

编程使用

块参数:LinearizeAsGain
类型:字符串,特征向量
价值观:“关闭”“上”
默认值:“关闭”

当您选择限制输出当控制器组件的加权和超过指定的输出限制时,块输出保持在指定的限制。然而,积分器输出可以继续增长(积分器清盘),增加块输出和块组件之和之间的差值。换句话说,即使输出受到饱和限制,块中的内部信号也可以是无界的。如果没有防止积分器清盘的机制,可能会出现两种结果:

  • 如果进入积分器的信号符号不变,积分器继续积分,直到溢出。溢出值是积分器输出数据类型的最大值或最小值。

  • 如果一旦加权和增长超过输出限制,进入积分器的信号的符号发生变化,则需要很长时间才能展开积分器并返回块饱和限制内的加权和。

在任何一种情况下,控制器的性能都会受到影响。为了对抗没有反上发条机制的上发条的影响,可能需要失谐控制器(例如,通过减少控制器增益),导致控制器迟钝。为避免此问题,可以使用此参数激活反清盘机制。

没有一个

不要使用防上发条机制。

反演计算

当块输出饱和时,通过将饱和和不饱和控制信号之间的差反馈给积分器来Unwind积分器。下图为连续时间控制器的反向计算反馈电路。要查看控制器配置的实际反馈电路,右键单击块并选择面具>看下面具

使用反演计算系数(Kb)参数指定防上绕组反馈电路的增益。它通常是令人满意的定型Kb =我,或对于具有微分动作的控制器,我* D Kb =√).逆向计算对于死区时间相对较大的植物是有效的[1]

夹紧

当块分量之和超过输出极限且积分器输出和块输入具有相同符号时,积分停止。当块组件的总和超过输出限制且积分器输出和块输入有相反的符号时,积分恢复。夹紧有时被称为条件积分。

箝位对于死时间相对较短的植物是有用的,但是对于死时间较大的植物会产生较差的瞬态响应[1]

依赖关系

若要启用此参数,请选择限制输出参数。

编程使用

块参数:AntiWindupMode
类型:字符串,特征向量
价值观:“没有”“回算”“夹紧”
默认值:“没有”

反演计算当块输出饱和时,反上卷方法解除积分器。它通过将饱和和不饱和控制信号之间的差异反馈给积分器来做到这一点。使用反演计算系数(Kb)参数指定防上绕组反馈电路的增益。有关更多信息,请参见Anti-windup方法参数。

依赖关系

若要启用此参数,请选择限制输出参数,并设置Anti-windup方法参数反演计算

编程使用

块参数:Kb
类型:标量
默认值:1
积分器饱和

启用此参数可将积分器输出限制在指定范围内。当积分器输出达到极限时,积分作用关闭,以防止积分上卷。方法指定饱和限制下限而且上限参数。

依赖关系

若要启用此参数,请设置控制器到具有积分动作的控制器类型。

编程使用

块参数:LimitIntegratorOutput
类型:字符串,特征向量
价值观:“关闭”“上”
默认值:“关闭”

指定积分器输出的上限。当积分器输出超过这个值时,它就保持在这个值。

依赖关系

要启用此参数,请单击积分器饱和中,选择限制输出

编程使用

块参数:UpperIntegratorSaturationLimit
类型:标量
默认值:

指定积分器输出的下限。当积分器输出低于这个值时,它就保持在这个值。

依赖关系

要启用此参数,请单击积分器饱和中,选择限制输出

编程使用

块参数:LowerIntegratorSaturationLimit
类型:标量
默认值:

数据类型

此选项卡中的参数主要用于使用定点设计器™生成定点代码。它们定义了在生成代码时如何存储和处理与块相关的数量。

如果需要配置定点代码生成的数据类型,请单击开放定点工具并使用该工具配置选项卡中的其余参数。有关使用定点工具的信息,请参见使用定点工具自动缩放数据对象(定点设计师)

使用定点工具后,如有必要,可以使用此选项卡中的参数对定点数据类型设置进行调整。对于与块关联的每个数量,您可以指定:

  • 浮点或定点数据类型,包括数据类型是否继承自块中的上游值。

  • 数量的最小值和最大值,它们决定如何缩放数量以实现定点表示。

如需帮助选择适当的值,请单击打开相应数量的数据类型助手。有关更多信息,请参见使用数据类型助手指定数据类型

在数据类型选项卡中列出的具体数量取决于您如何配置PID控制器块。通常,您可以为以下类型的数量配置数据类型:

  • 产品输出——存储在块掩码下进行的乘法的结果。例如,P产品输出存储增益块的输出,该增益块的输入与比例增益相乘P

  • 参数—存储数值块参数的值,例如P,或D

  • 块输出—存储驻留在PID控制器块掩码下的块的输出。例如,使用积分器的输出指定名为Integrator的块的输出的数据类型。该块位于Integrator子系统的掩码之下,并计算控制器动作的积分器项。

  • 累加器——存储与求和块相关的值。例如,SumI2蓄电池设置与求和块SumI2相关的累加器的数据类型。该块驻留在Anti-Windup子系统的Back Calculation子系统的掩码之下。

通常,您可以通过查看PID控制器块掩码并检查其子系统来找到与任何列出的参数相关联的块。您还可以使用Model Explorer在掩码下搜索列出的参数名称,例如SumI2.(见模型浏览器)。

匹配输入和内部数据类型

默认情况下,块中的所有数据类型都设置为继承:通过内部规则继承.通过这个设置,Simulink选择数据类型来平衡数值精度、性能和生成的代码大小,同时考虑嵌入式目标硬件的属性。

在某些情况下,块内的数据类型之间可能发生不兼容。例如,在连续时间中,掩码下的Integrator块只能接受类型为的信号.如果块输入信号是不能转换为的类型,如uint16,类型继承的内部规则在生成代码时生成错误。

为了避免此类错误,可以使用数据类型设置强制进行数据类型转换。例如,您可以显式地设置P产品输出我的产品输出,D产品输出,确保到达连续时间积分器的信号是类型的

通常,不建议在连续时间内为代码生成应用程序使用块。但是,如果显式地将某些值设置为与块内下游信号约束不兼容的数据类型,则可能在离散时间中发生类似的数据类型错误。在这种情况下,使用数据类型设置来确保所有数据类型都是内部兼容的。

定点操作参数

指定定点操作的舍入模式。有关更多信息,请参见舍入(定点设计师)

块参数总是四舍五入到最接近的可表示值。要控制块参数的舍入,请使用MATLAB输入表达式®将函数舍入到掩码字段。

编程使用

块参数:RndMeth
类型:特征向量
价值观:'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | '最简单' | 'Zero'
默认值:“地板”

指定溢出是饱和还是换行。

  • -溢出换行为数据类型可以表示的适当值。

    例如,数字130不适合有符号的8位整数,它被包装为-126。

  • —溢出饱和到数据类型所能表示的最小值或最大值。

    例如,与有符号8位整数关联的溢出可以饱和到-128或127。

提示

  • 当您的模型有可能溢出,并且您想要在生成的代码中显式地进行饱和保护时,请考虑选择此复选框。

  • 当您想优化生成代码的效率时,请考虑清除此复选框。

    清除此复选框还有助于避免过度指定块如何处理超出范围的信号。有关更多信息,请参见排除信号范围错误

  • 当您选中此复选框时,饱和将应用于块上的每个内部操作,而不仅仅是输出或结果。

  • 通常,代码生成过程可以检测何时溢出是不可能的。在这种情况下,代码生成器不会产生饱和代码。

编程使用

块参数:SaturateOnIntegerOverflow
类型:特征向量
价值观:”从“|”“
默认值:“关闭”

选择此参数可防止定点工具覆盖此块上指定的数据类型。有关更多信息,请参见锁定输出数据类型设置(定点设计师)

编程使用

块参数:LockScale
类型:特征向量
价值观:”从“|”“
默认值:“关闭”

状态属性

此选项卡中的参数主要用于代码生成。

为与积分器或滤波器相关联的状态指定一个唯一的名称,用于连续时间PID控制器。(有关离散时间PID控制器的状态名称的信息,请参见国家的名字参数)。使用了州名,例如:

  • 为生成代码中相应的变量

  • 作为模拟期间记录状态时存储名称的一部分

  • 对块进行线性化得到线性模型中相应的状态

有效的州名以字母或下划线字符开头,后跟字母数字或下划线字符。

依赖关系

若要启用此参数,请设置时间域连续时间

编程使用

参数:IntegratorContinuousStateAttributesFilterContinuousStateAttributes
类型:特征向量
默认值:

为与积分器或滤波器相关联的状态指定一个唯一的名称,用于离散时间PID控制器。(有关连续时间PID控制器的状态名称的信息,请参见州名(例如,'position')参数)。

有效的州名以字母或下划线字符开头,后跟字母数字或下划线字符。使用了州名,例如:

  • 为生成代码中相应的变量

  • 作为模拟期间记录状态时存储名称的一部分

  • 对块进行线性化得到线性模型中相应的状态

有关在代码生成中使用状态名的详细信息,请参见模型接口元素的C代码生成配置(仿真软件编码器)

依赖关系

若要启用此参数,请设置时间域离散时间

编程使用

参数:IntegratorStateIdentifierFilterStateIdentifier
类型:字符串,特征向量
默认值:""

选择此参数要求离散时间积分器或过滤器状态名解析为Simulink信号对象。

依赖关系

为离散时间积分器或滤波器状态启用此参数:

  1. 时间域离散时间

  2. 为积分器或过滤器指定一个值国家的名字

  3. 设置模型配置参数信号的分辨率的值没有一个

编程使用

块参数:IntegratorStateMustResolveToSignalObjectFilterStateMustResolveToSignalObject
类型:字符串,特征向量
价值观:“关闭”“上”
默认值:“关闭”

块特征

数据类型

|不动点|整数|

直接引线

没有

多维信号

没有

适应信号

没有

讨论二阶导数过零检测

没有

更多关于

全部展开

参考文献

[1] Visioli, A.,“改进的PID控制器的反清盘方案,”控制理论与应用2003年1月,第150卷第1期

扩展功能

PLC的代码生成
使用Simulink®PLC Coder™生成结构化文本代码。

版本历史

介绍了R2009b

全部展开

Baidu
map