文档

积分器

  • 库:
  • 万博1manbetxSimulink/常用块

    万博1manbetx模型/连续

描述

积分器块输出其输入信号相对于时间的积分值。

万博1manbetx®积分器块作为具有一种状态的动态系统。块动态是由:

x ˙ t u t y t x t x t 0 x 0

地点:

  • u为块输入。

  • y是块输出。

  • x是块状态。

  • x0的初始条件是x

虽然这些方程定义了连续时间内的精确关系,但Simulink使用数值近似方法以有限精度对其进行评估。Simulink可以使用几种不同的数值积分方万博1manbetx法来计算块的输出,每种方法在特定应用中都具有优势。使用解算器“配置参数”对话框的窗格(请参见解算器窗格中)选择最适合您的应用程序的技术。

选定的解算器计算对象的输出积分器阻塞当前时间步长,使用当前输入值和上一个时间步长状态值。为了支万博1manbetx持这个计算模型,积分器块在当前时间步保存其输出,供解算器在下一时间步计算其输出。块还为解算器提供初始条件,用于在模拟开始时计算块的初始状态。初始条件的默认值为0。使用“块参数”对话框指定fy初始条件的另一个值或在块上创建初始值输入端口。

使用“参数”对话框可以:

  • 定义积分的上下限

  • 创建一个输入,根据输入的变化,将块的输出(状态)重置为初始值

  • 创建可选状态输出,以便块的输出值可以触发块重置

使用离散时间积分器块来创建一个纯粹的离散系统。

定义初始条件

你可以将初始条件定义为块对话框中的参数,或者从外部信号输入:

  • 要将初始条件定义为块参数,请指定初始条件源参数,内部的并在初始条件领域

  • 要从外部源提供初始条件,请指定初始条件源参数,外部. 块输入下会显示一个额外的输入端口。

    请注意

    如果积分器限制其输出(参见限制积分),初始条件必须在积分器的饱和极限内。如果初始条件超出了块饱和限制,则块将显示错误消息。

限制积分

要防止输出超过可指定的级别,请选择极限输出复选框并在相应的参数字段中输入限制。此操作将使块作为限制积分器工作。当输出达到限制时,将关闭积分操作以防止积分结束。在模拟过程中,您可以更改限制,但不能更改输出是否限制。该块决定ines输出如下:

  • 当积分小于或等于饱和下限,输出保存在饱和下限

  • 当积分在饱和下限饱和上限,输出是积分。

  • 当积分大于等于饱和上限,输出保存在饱和上限

要生成一个信号来指示何时状态被限制,请选择显示饱和港口复选框。块输出端口下方会显示一个饱和端口。

信号有三个值之一:

  • 1表示正在应用上限。

  • 0表示积分不受限。

  • –1表示正在应用下限。

选中此复选框时,块有三个过零:一个用于检测何时进入饱和上限,一个用于检测何时进入饱和下限,另一个用于检测何时离开饱和。

请注意

对于集成商有限公司块,默认情况下,极限输出被选中时,饱和上限被设置为1饱和下限被设置为0

包装循环状态

一些物理现象在本质上是循环的、周期性的或旋转的。表现出旋转运动的物体或机械和振荡器就是这种现象的例子。

在Simulink中对这些现象进行建模涉及对周期或循环信万博1manbetx号的变化率进行积分,以获得运动状态。

然而,这种方法的缺点是,在较长的模拟时间跨度内,代表周期性或周期性信号的状态积分为较大的值。此外,由于角度减小,计算这些信号的正弦或余弦需要越来越多的时间。较大的信号值也会对解算器性能产生负面影响精确性和准确性。

克服此缺点的一种方法是将角度状态重置为0当它达到2π时(或者当它达到π时变为-π,对于数值对称性)。这种方法提高了正弦和余弦计算的精度,并减少了角度缩减时间。但它也需要过零检测并引入解算器重置,这会减慢可变步长解算器的模拟速度,尤其是在大型模型中。

为了消除换行点的求解器重置,Integrator块支持可以通过检查启用的换行状态万博1manbetx包装状态在“块参数”对话框中。当您启用包装状态,块图标将更改,以指示块具有环绕状态。

万博1manbetxSimulink允许由包裹状态的上限和下限值参数限定的包裹状态。确定包裹状态的算法如下所示:

y x x x l x u x x u x l x x l x u x l 否则

地点:

  • xl是包裹状态的较低值。

  • xu是包装状态的上限值。

  • y是输出。

对包装状万博1manbetx态的支持提供了这些优势。

  • 当模型接近大角度和大状态值时,它消除了模拟的不稳定性。

  • 它减少了模拟过程中解算器重置的次数,并消除了过零检测的需要,提高了模拟时间。

  • 它消除了大角度值,加快了角状态下三角函数的计算。

  • 它提高了求解器的精度和性能,并允许无限的模拟时间。

重置状态

块可以根据外部信号将其状态重置为指定的初始条件。要使块重置其状态,请选择以下选项之一:外部复位选项。一个触发器端口出现在块的输入端口下方,指示触发器类型。

  • 选择上升当复位信号从负值或零值上升到正值时,复位状态。

  • 选择坠落当重置信号从正值降至零值或负值时,重置状态。

  • 选择任何一个当重置信号从零变为非零值、从非零值变为零或更改符号时,重置状态。

  • 选择数量当重置信号在当前时间步为非零或从上一时间步的非零变为当前时间步的零时,重置状态。

  • 选择平舱当重置信号在当前时间步为非零时,重置状态。

复位端口具有直接馈通。如果块输出直接或通过一系列具有直接馈通的块反馈到此端口,则会产生代数循环(参见代数循环)。使用积分器块的状态端口反馈块的输出,而不创建代数循环。

请注意

符合电机行业软件可靠性协会(MISRA)的要求®)根据软件标准,您的模型必须使用布尔信号来驱动积分器块的外部重置端口。

关于国家港口

选择显示国家港口积分器块的“参数”对话框上的复选框会导致在积分器块的顶部显示另一个输出端口,即状态端口。

状态端口的输出与块的标准输出端口的输出相同,除了以下情况。如果块在当前时间步长中被重置,则状态端口的输出是如果块没有被重置,则在块的标准输出中出现的值。在时间步长中,状态端口的输出比Integrator块的输出端口的输出出现得更早。使用状态端口来避免在这些建模场景中创建代数循环:

  • 自复位积分器(参见创建自复位积分器

  • 将状态从一个启用的子系统转移到另一个启用的子系统(请参阅在启用的子系统之间切换状态

    请注意

    当更新模型时,Simulink检查状态端口是否万博1manbetx适用于这两个场景之一。如果不是,则会出现错误消息。另外,您也不能在加速器模式下执行的引用模型中记录此端口的输出。如果端口启用了日志记录,那么在执行引用模型时,Simulink会生成一个万博1manbetx“信号未找到”的警告。

创建自复位积分器

积分器块的状态端口帮助您在创建基于其输出值重置自身的积分器时避免代数循环。例如,考虑下面的模型。

该模型试图通过将积分器的输出(从1中减去)反馈回积分器的复位端口来创建自复位积分器。但是,该模型创建了一个代数循环。为了计算积分器块的输出,Simulink软件需要知道积分器块复位信号的值,反之亦然。由于这两个值相互依赖,Simulink软件无法确定这两个值。因此,如果尝试模拟或更新此模型,将显示一条错误消息。万博1manbetx

以下模型使用积分器的状态端口来避免代数循环。

在此版本中,复位信号的值取决于状态端口的值。状态端口的值在当前时间步长中比积分器块的输出端口的值更早可用。因此,Simulink可以在计算块的输出之前确定块是否需要重置,从而避免代数循环。万博1manbetx

在启用的子系统之间切换状态

当在两个启用的子系统之间传递状态时,状态端口帮助您避免代数循环。例如,考虑以下模型。

启用的子系统A和B包含以下模块:

子系统A 子系统B

在这个模型中,一个恒定的输入信号驱动两个能够集成该信号的子系统。脉冲发生器产生一个使能信号,使执行在两个子系统之间交替进行。每个子系统的使能端口被设置为重置,这导致子系统在它变为活动时重置它的积分器。复位积分器会导致积分器读取其初始条件端口的值。每个子系统中积分器的初始条件端口连接到另一个子系统中积分器的输出端口。

当两个子系统交替执行时,此连接旨在实现输入信号的连续集成。但是,该连接会创建一个代数循环。要计算A的输出,Simulink需要知道B的输出,反之亦然。由于输出相互依赖,Simulink无法计算输出值。因此,如果尝试模拟或更新此模型,将显示一条错误消息。万博1manbetx

以下版本同一模型使用积分器状态端口,以避免在传递状态时产生代数循环。

启用的子系统A和B包含以下模块:

子系统A 子系统B

在该模型中,A中积分器的初始条件取决于B中积分器的状态端口的值,反之亦然。在仿真时间步长中,状态端口的值比积分器输出端口的值更新得更早。因此,Simulink万博1manbetx可以在不知道另一个积分器最终输出值的情况下计算其中一个积分器的初始条件。有关使用状态端口在有条件执行的子系统之间传递状态的另一个示例,请参阅SLU离合器模型

指定块输出的绝对公差

默认情况下,Simul万博1manbetxink软件使用“配置参数”对话框中指定的绝对公差值(请参见变步长解算器的误差容限)来计算积分器块的输出。如果该值不能提供足够的错误控制,请在绝对公差“积分器块”对话框的字段。指定的值用于计算所有块输出。

选择所有选项

当您选择所有选项时,块图标看起来像这样。

港口

积分器块接受并输出类型为的信号双重的在其数据端口上。外部复位端口接受类型为的信号双重的布尔值

输入

全部展开

需要集成的信号。

数据类型:双重的

根据外部信号将状态重置为指定的初始条件。请参阅重置状态

依赖关系

要启用此端口,请启用外部复位参数

数据类型:布尔值

从外部信号设置块状态的初始条件。

依赖关系

要启用此端口,请设置初始条件参数到外部

数据类型:双重的

输出

全部展开

输出集成状态。

数据类型:双重的

指示状态何时被限制。信号的值为1当积分被指定的限制时饱和上限.当信号受到饱和下限,信号值为-1. 当积分在饱和极限之间时,信号值为0.看到限制积分

数据类型:双重的

输出块的状态。看到关于国家港口

依赖关系

启用该端口显示国家港口参数

数据类型:双重的

参数

全部展开

指定用于外部复位信号的触发器类型。

  • 选择上升当复位信号从负值或零值上升到正值时,复位状态。

  • 选择坠落当重置信号从正值降至零值或负值时,重置状态。

  • 选择任何一个当重置信号从零变为非零值、从非零值变为零或更改符号时,重置状态。

  • 选择数量当重置信号在当前时间步为非零或从上一时间步的非零变为当前时间步的零时,重置状态。

  • 选择平舱当重置信号在当前时间步为非零时,重置状态。

编程使用

块参数:外部重置
类型:特征向量
价值观:“没有”|“上升”|“下降”|“要么”|“水平”|“持有水平”
默认值:“没有”

选择初始条件的来源:

  • 内部的-从中获取状态的初始条件初始条件块参数。

  • 外部-通过从外部块获取状态的初始条件集成电路输入端口。

依赖关系

选择内部的使初始条件参数

选择外部禁用初始条件参数,并启用集成电路输入端口。

编程使用

块参数:初始条件源
类型:特征向量
价值观:“内部”|“外部”
默认值:“内部”

设置文件的初始状态积分器块。

提示

万博1manbetxSimulink软件不允许更改此块的初始条件

依赖关系

设置初始条件源内部的启用此参数。

设置初始条件源外部禁用这个参数。

编程使用

块参数:初始条件
类型:标量还是向量
默认值:' 0 '

将块的输出限制为介于饱和下限饱和上限参数。

  • 选中此复选框将块输出限制为介于饱和下限饱和上限参数。

  • 清除此复选框不会限制块输出值。

依赖关系

选择此参数启用饱和下限饱和上限参数。

编程使用

块参数:LimitOutput
类型:特征向量
价值观:“关”|“上”
默认值:“关”

指定积分的上限为标量、向量或矩阵。属性之间的值必须指定最小输出最大输出参数值。

依赖关系

要启用该参数,请选择极限输出复选框。

编程使用

块参数:饱和上限
类型:特征向量
价值观:标量向量矩阵
默认值:“inf”

将整数的下限指定为标量、向量或矩阵。必须在最小输出最大输出参数值。

依赖关系

要启用该参数,请选择极限输出复选框。

编程使用

块参数:LowerSaturationLimit
类型:特征向量
价值观:标量向量矩阵
默认值:“-inf”

控件之间启用状态包装包装状态上限包装状态下限值参数。启用包裹状态消除了过零检测的需要,减少了解算器重置,提高了解算器性能和精度,并在建模旋转和循环状态轨迹时增加了模拟时间跨度。

如果您指定包装状态上限作为包装状态下限值作为,则不会发生包裹。

依赖关系

选择此参数将启用包装状态上限包装状态下限值参数。

编程使用

块参数:包装状态
类型:特征向量
价值观:“关”|“上”
默认值:“关”

块输出的上限。

依赖关系

选择包装状态启用此参数。

编程使用

块参数:WrappedStateUpperValue
类型:标量还是向量
价值观:“2*pi”
默认值:“π”

块输出的下限。

依赖关系

选择包装状态启用此参数。

编程使用

块参数:WrappedStateValue
类型:标量还是向量
价值观:' 0 '
默认值:“-π”

选中此复选框可将饱和输出端口添加到块中。清除此复选框时,块没有饱和输出端口。

依赖关系

选择此参数可启用饱和输出端口。

编程使用

块参数:显示饱和端口
类型:特征向量
价值观:“关”|“上”
默认值:“关”

选中此复选框可将状态输出端口添加到块。清除此复选框时,块没有状态输出端口。

依赖关系

选择此参数将启用状态输出端口。

编程使用

块参数:ShowStatePort
类型:特征向量
价值观:“关”|“上”
默认值:“关”
  • 如果你进去汽车或-1,则Simulin万博1manbetxk使用配置参数对话框中的绝对公差值(参见解算器窗格中)来计算块状态。

  • 如果输入实标量,则该值将覆盖“配置参数”对话框中计算所有块状态的绝对公差。

  • 如果输入实向量,则该向量的尺寸必须与块中连续状态的尺寸匹配。这些值覆盖“配置参数”对话框中的绝对公差。

编程使用

块参数:绝对容忍
类型:字符向量、标量或向量
价值观:“汽车”|'-1'|任何正的实标量或向量
默认值:“汽车”

使Simul万博1manbetxink线性化命令将此块视为不可重置的,并且对其输出没有限制,而不管块的复位和输出限制选项的设置。

提示

使用此复选框可围绕导致积分器复位或饱和的工作点对模型进行线性化。

编程使用

块参数:忽视限度
类型:特征向量
价值观:“关”|“上”
默认值:“关”

选择启用过零检测。有关更多信息,请参见讨论二阶导数过零检测

编程使用

块参数零交叉
类型:字符向量
“关”|“上”
违约“上”
  • 要为单个状态指定名称,请在引号之间输入名称,例如,“速度”

  • 要将名称分配给多个州,请输入用大括号括起来的逗号分隔的列表,例如:{'a','b','c'}.每个名称必须唯一。

  • 州名只应用于选定的块。

  • 州的数量必须在州名称的数量中平均分配。

  • 可以指定比状态更少的名称,但不能指定比状态更多的名称。

    例如,您可以在具有四个状态的系统中指定两个名称。第一个名称适用于前两个状态,第二个名称适用于后两个状态。

  • 在MATLAB中使用变量指定状态名称的步骤®工作区,输入不带引号的变量。变量可以是字符向量、单元格数组或结构。

编程使用

块参数:ContinuousStateAttributes
类型:特征向量
价值观:' '|用户定义
默认值:' '

块特征

数据类型

双重的

多维信号

可变大小信号

扩展能力

在R2006a之前引入

这个话题有用吗?