主要内容

积分商

集成信号

  • 库:
  • 金宝appSimulink /常用模块

    金宝app模型/连续

  • 集成块

描述

积分商块输出其输入信号对时间的积分值。

金宝app®积分商块作为具有一个状态的动态系统。块动态由:

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

地点:

  • u是块输入。

  • y是块输出。

  • x是块状态。

  • x0的初始条件是x

虽然这些方程定义了连续时间中的精确关系,但Simulink使用数值逼近方法以有限的精度来评估它们。金宝app金宝appSimulink可以使用几种不同的数值积分方法来计算块的输出,每种方法在特定的应用中都具有优势。使用求解器配置参数对话框的窗格(参见解算器窗格中)以选择最适合您的应用程序的技术。

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

使用参数对话框:

  • 定义积分的上下限

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

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

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

定义初始条件

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

  • 要将初始条件定义为块参数,请指定初始条件的来源参数,内部并将值输入初始条件字段。

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

    请注意

    如果积分器限制了它的输出(参见限制积分),初始条件必须落入积分器的饱和范围内。如果初始条件超出块饱和度限制,则块显示错误消息。

限制积分

要防止输出超过指定的级别,请选择限制输出复选框,并在适当的参数字段中输入限制。这个动作导致块作为一个有限的积分器。当输出达到极限时,积分动作关闭,以防止积分上翘。在模拟过程中,您可以更改限制,但不能更改输出是否受到限制。块决定输出如下:

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

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

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

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

该信号有以下三个值之一:

  • 1表示正在应用上限。

  • 0表示积分不受限制。

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

当您选择此复选框时,该块有三个零交叉:一个检测何时进入饱和上限,一个检测何时进入饱和下限,一个检测何时离开饱和。

请注意

积分器有限块,默认情况下,限制输出被选中时,饱和上限被设定为1,低饱和限制被设定为0

包装循环状态

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

在Simulink中对这些现象建模涉及到对周期性或周期性金宝app信号的变化率进行积分,以获得运动状态。

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

克服这个缺点的一种方法是将角状态重置为0当它达到2π时(或者当它达到π时为-π,为了数字对称)。该方法提高了正弦波和余弦波的计算精度,减少了减角时间。但它也需要零穿越检测,并引入求解器重置,这减慢了变量步长求解器的仿真,特别是在大型模型中。

为了消除换行点的求解器重置,Integrator块支持可以通过检查启用的换行状态金宝app包装状态在块参数对话框中。当你使包装状态,则块图标更改以指示块具有包装状态。

金宝appSimulink允许包装状态由包装状态的上值和下值参数限制。确定包装状态的算法如下:

y x x x l x u x x u x l x x l x u x l 除此以外

地点:

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

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

  • y是输出。

对包装状金宝app态的支持提供了这些优势。

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

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

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

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

重置状态

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

  • 选择不断上升的重置复位信号从负或零值升高到正值时的状态。

  • 选择下降当复位信号从一个正数降到零或负数时,复位状态。

  • 选择要么当复位信号从零变为非零值、从非零值变为零或改变符号时,复位状态。

  • 选择水平当复位信号在当前时间步骤中重置复位信号时重置状态,或者在前一个时间在当前时间步骤中从上一个时间的非零变为零。

  • 选择保持水平当复位信号在当前时间步长非零时复位状态。

复位端口有直接馈通。如果块输出反馈到这个端口,直接或通过一系列块直接馈通,一个代数循环结果(见代数循环概念).使用Integrator块的状态端口来反馈块的输出,而不创建代数循环。

请注意

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

关于州港

选择显示国家港口复选框将导致一个附加的输出端口,即状态端口出现在Integrator块的顶部。

状态端口的输出与块的标准输出端口的输出相同,除了以下情况。如果在当前时间步骤中重置块,则状态端口的输出是如果块尚未重置,则状态端口的输出是在块的标准输出中出现的值。状态端口的输出在时间步骤中出现而不是Integrator块的输出端口的输出。使用状态端口避免在这些建模方案中创建代数循环:

  • 自复位集成商(见创建自动复位集成商

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

    请注意

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

创建自动复位集成商

在创建一个积分器时,积分器块的状态端口可以帮助您避免一个代数循环,该积分器根据其输出的值来重置自身。例如,考虑以下模型。

该模型试图通过将积分器的输出(减去1)输入到积分器的复位端口来创建一个自复位积分器。然而,该模型创建了一个代数循环。为了计算积分器块的输出,Simulink软件需要知道块的复位信号的值,反之亦然。金宝app因为这两个值是相互依赖的,所以Simulink软件不能确定。金宝app因此,当您尝试模拟或更新此模型时,将出现一条错误消息。

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

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

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

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

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

子系统的一个 子系统B

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

这种连接的目的是在两个子系统之间交替执行时,实现输入信号的持续集成。然而,这种连接创建了一个代数循环。为了计算A的输出,Simulink需要知道B的输出,反之金宝app亦然。因为输出是相互依赖的,所以Simulink无法计算输出值。金宝app因此,当您尝试模拟或更新此模型时,将出现一条错误消息。

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

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

子系统的一个 子系统B

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

指定块输出的绝对公差

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

选择所有选项

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

港口

Integrator块接受并输出类型为的信号在其数据端口上。外部复位端口接受各种类型的信号布尔

输入

全部展开

需要整合的信号。

数据类型:

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

依赖关系

要启用该端口,请启用外部重置参数。

数据类型:布尔

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

依赖关系

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

数据类型:

输出

全部展开

输出集成状态。

数据类型:

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

数据类型:

输出块的状态。看到关于州港

依赖关系

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

数据类型:

参数

全部展开

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

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

  • 选择下降当复位信号从一个正值降到零或负数,或从零值降到负数时,复位状态。

  • 选择要么当复位信号从零变为非零值、从非零值变为零或改变符号时,复位状态。

  • 选择水平当复位信号在当前时间步骤中重置复位信号时重置状态,或者在前一个时间在当前时间步骤中从上一个时间的非零变为零。

  • 选择保持水平当复位信号在当前时间步长非零时复位状态。

编程使用

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

初始条件的选择来源:

  • 内部-得到状态的初始条件初始条件块参数。

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

依赖关系

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

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

编程使用

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

的初始状态积分商块。

提示

金宝appSimulink软件不允许此块的初始条件为inf

依赖关系

环境初始条件的来源内部支持这个参数。

环境初始条件的来源外部禁用这个参数。

编程使用

块参数:InitialCondition
类型:标量或矢量
默认值:' 0 '

将块的输出限制为低饱和限制饱和上限参数。

  • 选择此复选框将块输出限制为低饱和限制饱和上限参数。

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

依赖关系

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

编程使用

块参数:LimitOutput
类型:字符向量,字符串
价值观:'离开'|“上”
默认值:'离开'

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

依赖关系

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

编程使用

块参数:UpperSaturationLimit
类型:特征向量,字符串
价值观:标量|向量|矩阵
默认值:“正”

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

依赖关系

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

编程使用

块参数:LowerSaturationLimit
类型:字符向量,字符串
价值观:标量|向量|矩阵
默认值:'-inf'

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

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

依赖关系

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

编程使用

块参数:WrapState
类型:特征向量,字符串
价值观:'离开'|“上”
默认值:'离开'

块输出的上限。

依赖关系

选择包装状态支持这个参数。

编程使用

块参数:WrappedStateUpperValue
类型:标量或矢量
价值观:“2 *π”
默认值:'pi'

块输出的下限。

依赖关系

选择包装状态支持这个参数。

编程使用

块参数:WrappedStateLowerValue
类型:标量或矢量
价值观:' 0 '
默认值:“-π”

选择此复选框将饱和度输出端口添加到块。当您清除此复选框时,块没有饱和输出端口。

依赖关系

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

编程使用

块参数:ShowSaturationPort
类型:字符向量,字符串
价值观:'离开'|“上”
默认值:'离开'

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

依赖关系

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

编程使用

块参数:ShowStatePort
类型:字符向量,字符串
价值观:'离开'|“上”
默认值:'离开'
  • 如果你输入汽车或-1,则Simulin金宝appk使用配置参数对话框中的绝对公差值(参见解算器窗格中)来计算块状态。

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

  • 如果输入一个真实的向量,那么这个向量的维数必须与块中连续状态的维数相匹配。这些值覆盖配置参数对话框中的绝对公差。

编程使用

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

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

提示

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

编程使用

块参数:IgnoreLimit
类型:特征向量,字符串
价值观:'离开'|“上”
默认值:'离开'

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

编程使用

块参数ZeroCross
类型:字符向量,字符串
'离开'|“上”
默认的“上”
  • 若要为单个州指定名称,请在引号之间输入名称,例如:“速度”

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

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

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

  • 您可以指定比状态更少的姓名,但您无法指定比状态更多的名称。

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

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

编程使用

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

块特征

数据类型

直接引线

是的

多维信号

没有

适应信号

没有

讨论二阶导数过零检测

是的

扩展功能

之前介绍过的R2006a