主要内容

积分器

集成信号

  • 集成块

库:
金宝app模型/常用的块
金宝app模型/连续

描述

积分器块集成一个输入信号对时间并提供结果作为输出信号。

金宝app®积分器块作为一个动态系统的状态。块动力学是由:

{ x ˙ ( t ) = u ( t ) y ( t ) = x ( t ) x ( t 0 ) = x 0

地点:

  • u块的输入。

  • y是块的输出。

  • x是一块的状态。

  • x0的初始条件是x

虽然这些方程定义一个精确的关系在连续时间模型用数值近似方法计算精度有限。金宝app金宝app仿真软件可以使用几种不同的数值积分方法计算块的输出,每个优势在特定的应用程序。使用解算器面板的配置参数对话框(见解算器窗格中)选择最适合您的应用程序的技术。

所选的解算器计算的输出积分器块在当前时间步,使用当前的输入值和状态的值在前一个时间步。为了支金宝app持这种计算模式,积分器块保存其输出当前时间步的解算器使用来计算其输出下一个时间步。块也为解决者提供了一个初始条件用于计算块的初始状态开始模拟。初始条件的默认值是0。使用块参数对话框指定另一个值为初始条件或创建一个初始值输入端口。

使用参数对话框:

  • 定义在积分上限和下限

  • 创建一个输入重置块的输出(状态)的初始值,取决于输入的变化

  • 创建一个可选的状态输出,这样的值块的输出可以触发一块复位

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

定义初始条件

您可以定义块的初始条件作为参数对话框或从外部输入信号:

  • 作为一个整体来定义初始条件参数,指定初始条件的来源参数,内部并输入中的值初始条件字段。

  • 从外部来源,提供初始条件设置初始条件的来源参数外部。一个额外的输入端口出现在块中。

    一个积分器块配置了一个初始条件端口有两个输入端口和一个输出端口。

    请注意

    如果您选择了限制输出参数,初始条件必须在饱和度范围内。如果初始条件不是块内的饱和限制,阻止显示一条错误消息。

限制积分

限制指定范围的输出信号的值,选择限制输出并指定饱和限制。当输出达到一个极限,积分作用是禁用的防止积分了。在仿真中,你可以改变但不限制是否输出是有限的。使用这些标准块决定输出信号值:

  • 当积分值小于或等于低饱和极限,输出信号值较低的饱和限制。

  • 当饱和下限之间的积分值和饱和度上限,输出的积分值。

  • 当积分值大于或等于饱和上限,输出信号值是饱和上限。

状态时产生一个信号,表明饱和限制,有限的选择显示饱和港口。第二个输出端口出现在块中。

一个积分器块配置为限制输出和显示饱和端口。块有两个输出信号:第一个是标签,第二个标签是饱和输出。

饱和信号有三个值之一:

  • 1——国家饱和上限的限制

  • 0——国家不仅仅局限

  • 1——国家饱和下限限制

当你限制积分器块输出,有三个零交叉信号:一个检测当积分值超过饱和上限,一个检测当积分值小于低饱和极限,和一个检测当积分值变化从饱和不饱和。

请注意

默认情况下,限制输出参数是启用的积分器有限块,饱和上限参数值设置为1,低饱和限制参数值设置为0

包装循环状态

一些物理现象,如振荡器和机械展品旋转运动,循环,定期或旋转。建模这些现象在仿真软件框图包括整合周期或周期性信号的变化率来金宝app获取运动的状态。仿真时间跨度长,这种方法会导致美国代表定期或循环信号集成大值。计算三角函数值,如这些信号的正弦或余弦,需要更长的时间,由于角度减少值变大。信号值变大,解算器性能和精度降低。

克服这个缺点的一种方法是重置角状态0当它到达2π(或-π当它达到π,数值对称)。这种方法提高了正弦和余弦计算的准确性,减少角减少时间。但它也需要讨论二阶导数过零检测,介绍了求解程序重置,减缓模拟变量解决步骤,尤其是在大型模型。

消除解决包装点重置,积分器块支持包裹状态,您可以启用通过检查金宝app包装状态在块参数对话框。当你使包装状态,块图标变化表明,块有包装状态。

一个积分器块配置为包装状态值。块圆箭头图标标注。

积分器块支持包装状金宝app态由上、下有界值参数的包装状态。该算法确定包装状态是由:

y = { x x ( x l , x u ) x ( x u x l ) x x l x u x l 否则

地点:

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

  • xu上价值的包装状态。

  • y是输出。

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

  • 它消除了模拟模型方法大角度时不稳定和大型国有值。

  • 它减少了在仿真解算器的数量重置,不需要讨论二阶导数过零检测,提高仿真时间。

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

  • 它提高了求解精度和性能,使无限的仿真时间。

重置状态

块可以重置其状态指定的初始条件基于外部信号。导致块复位状态,选择其中的一个外部复位选择。触发端口出现在块的输入端口和显示触发类型。

一个积分器块配置为复位状态。块有两个输入信号,标签输入和重置,和一个输出信号,标签的输出。

  • 选择不断上升的重置状态时,复位信号从负面或零值一个积极的价值。

  • 选择下降重置状态时,复位信号从一个积极的价值为零或负值。

  • 选择要么重置状态时,复位信号变化从零到一个非零值,从一个非零值为零,或改变的迹象。

  • 选择水平重置状态非零复位信号时在当前时间步变化从零之前的时间在当前时间一步一步为零。

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

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

请注意

是符合汽车工业软件可靠性协会(MISRA™)软件标准,您的模型必须使用布尔信号驱动外部复位端口集成块。

关于国家港口

选择显示国家港口复选框在集成块的参数对话框会导致额外的输出端口,端口,出现在集成块的顶部。

一个积分器块配置为显示状态的端口。块有一个输入信号,标签输入和两个输出信号。国家输出端口块的顶部,和端口提供的输出信号值是正确的。

状态的输出端口的输出块一样的标准输出端口,除了下面的案例。如果块重置在当前时间步,状态的输出端口的值会出现在块的标准输出如果没有重置。国家港口的输出出现在时间步比积分器的输出块的输出端口。使用国家港口避免创建代数循环在这些场景建模:

  • 使用自动复位系统集成商

  • 通过从一个子系统启用到另一个状态

    请注意

    当更新模型,模型检查端口状态适用于这两个场景之金宝app一。如果不是,则会出现一条错误消息。同样,你不能在一个引用日志这个端口的输出模型,在加速器模式下执行。如果启用了日志记录的港口,仿真软件生成一个“信号未找到”警告在执行期间的金宝app参考模型。

指定块输出绝对宽容

默认情况下仿真软件软件金宝app使用绝对公差值中指定配置参数对话框(见误差公差变步解决者)计算积分器的输出块。如果这个值没有提供足够的错误控制,指定一个更合适的价值绝对的宽容集成块的对话框。您所指定的值用来计算所有块输出。

例子

全部展开

当你需要一个积分器块重置基于块的输出值,您可以使用国家港口避免创建一个代数循环。

打开模型SelfResettingIntegratorAlgLoop。积分器的块模型中配置重置时,复位信号的变化从一个积极的价值值为零或负值。复位信号是由减去当前阻止输出值1那块重置本身每次输出值1

mdl =“SelfResettingIntegratorAlgLoop”;open_system (mdl)

SelfResettingIntegratorAlgLoop模型。

因为复位端口直接引线,利用输出信号来计算复位信号的值创建一个代数循环。输出信号的值取决于复位信号的值,反之亦然。由于这种相互依赖,软件也不能计算的值。

当你试图模拟模型,软件问题诊断的代数循环。看到代数循环模型中,使用金宝appSimulink.BlockDiagram.getAlgebraicLoops函数。代数循环查看器打开,显示模型包含一个真正代数循环。

金宝appSimulink.BlockDiagram.getAlgebraicLoops (mdl);

图代数循环在“SelfResettingIntegratorAlgLoop”包含的对象类型场上,uicontrol。

代数循环模型中突出显示。

突出显示的模型SelfResettingIntegratorAlgLoop代数循环从输出端口通过块和进入复位端口。

积分器块计算前的状态值在每个时间步输出值。因为之前的状态值是可用的输出值,您可以使用状态值来创建一个自动复位积分器块不创建一个代数循环。

看到这个解决方案,打开模型SelfResettingIntegrator。启用了国家港口积分器的块。而不是使用的输出信号来计算价值重置信号,模型使用状态值。

mdl2 =“SelfResettingIntegrator”;open_system (mdl2)

该模型SelfResettingIntegrator . .

验证使用状态而不是输出打破了代数循环,调用金宝appSimulink.BlockDiagram.getAlgebraicLoops函数了。

金宝appSimulink.BlockDiagram.getAlgebraicLoops (mdl2);
没有发现代数循环。

看到自复位积分器,模拟模型。

simOut = sim (mdl2);

查看输出和复位信号的范围,双击块范围。集成块的输出信号的值之间震荡01。输出值重置0每次复位信号值0

窗口显示范围和复位信号的输出。

您可以使用状态端口防止创建一个代数循环当你需要在一个启用了一个积分器块子系统使用集成块的状态在另一个子系统启用。

打开模型EnabledSubsystemStatesAlgLoop。启用了模型包含两个子系统,一个B。一个常数块为每个子系统提供第一个输入。子系统的输出一个是另一个子系统的输入B。子系统的输出B是另一个子系统的输入一个。一个脉冲块提供了两个子系统的启动信号。脉冲块支持子系统B直接。脉冲块输出反向使用逻辑操作符块创建子系统的启动信号一个。因此,使子系统的执行子系统之间交替一个和子系统B块脉冲输出的值变化。

mdl =“EnabledSubsystemStatesAlgLoop”;open_system (mdl);

EnabledSubsystemStatesAlgLoop模型。

启用子系统每个包含一个集成块,使用一个输入端口提供的初始条件。在每个子系统配置为启用块重置每次执行子系统。集成块的状态重置时,初始值来自于初始条件输入端口,这是连接到积分器的输出块在其他子系统。传递到另一个国家从一个子系统允许持续集成的子系统之间的信号而交替执行。

子系统,子系统B所示的内容与虚线分隔。

然而,计算子系统的输出值B,解决需要的输出子系统一个反之亦然。连接一个积分器的输出块的输入其他创建一个代数循环。看到循环模型中,使用金宝appSimulink.BlockDiagram.getAlgebraicLoops函数。代数循环查看器打开,显示模型包含一个真正代数循环。

金宝appSimulink.BlockDiagram.getAlgebraicLoops (mdl);

图代数循环在“EnabledSubsystemStatesAlgLoop”包含的对象类型场上,uicontrol。

代数循环模型中突出显示。

突出显示的模型EnabledSubsystemStatesAlgLoop代数循环。

为了避免创建这个代数循环,您可以使用国家港口,而不是输出端口通过集成块的状态在一个子系统的集成块的初始条件。解算器计算块状态值较早时候在每个时间步,所以输出子系统B不再依赖于子系统的输出一个反之亦然。

看到这个解决方案,打开模型EnabledSubsystemStates。使输入,输出信号是相同的,但是子系统的输出一个不再充当第二个输入子系统B反之亦然。

mdl2 =“EnabledSubsystemStates”;open_system (mdl2)

该模型EnabledSubsystemStates

软件不支持连接状态的端口集成块的输出端口上启金宝app用子系统。国家港口集成块的子系统一个连接到端口初始条件子系统集成块的吗B使用GoTo和块与全球可见性。国家港口集成块的子系统B连接到集成块的初始条件的港口子系统B使用相同的策略。

子系统,子系统的内容并排显示,除以一个虚线和标记为A和B的区别。

确认使用国家港口解决代数循环使用金宝appSimulink.BlockDiagram.getAlgebraicLoops函数了。

金宝appSimulink.BlockDiagram.getAlgebraicLoops (mdl2);
没有发现代数循环。

模拟模型。查看结果,双击块范围。窗口显示范围从每个子系统启动信号和输出信号。

= sim (mdl2);

窗口显示三个信号的跟踪范围。

系统的另一个例子,通过启用子系统之间的状态值,明白了建立一个离合器锁定模式

港口

输入

全部展开

输入信号是一个实值标量、向量或矩阵块集成。

这个港口没有直接的引线。

数据类型:

外部复位信号是一个布尔标量、向量或矩阵重置块状态的初始条件。看到重置状态

这个端口直接引线。

依赖关系

要启用这个端口,选择外部复位

数据类型:布尔

初始条件信号是一个实值标量、向量或矩阵块设置初始条件。

这个端口直接引线。

依赖关系

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

数据类型:

输出

全部展开

输出信号是一个标量、向量或矩阵集成输入信号的值。的尺寸综合信号与输入信号的尺寸相匹配。

数据类型:

输出饱和信号是一个标量、向量或矩阵表明当块中的每个元素状态或低饱和度上限是有限的。信号值表示的值是有限的,是否限制应用。

  • 1——价值受到饱和下限限制

  • 0——价值不是限制饱和极限

  • 1——价值饱和上限的限制

有关更多信息,请参见限制积分

依赖关系

要启用这个端口,选择显示饱和港口

数据类型:

块状态信号是一个实值标量、向量或矩阵值匹配块状态值。

有关更多信息,请参见关于国家港口

依赖关系

要启用这个端口,选择显示国家港口

数据类型:

参数

全部展开

指定要使用的触发类型的外部复位信号。

  • 选择不断上升的重置状态复位信号时,从消极的正数或零值,或一个负值为零值。

  • 选择下降重置状态时,复位信号从一个积极的价值为零或负值,或从一个零值到负值。

  • 选择要么重置状态时,复位信号变化从零到一个非零值,从一个非零值为零,或改变的迹象。

  • 选择水平重置状态非零复位信号时在当前时间步变化从零之前的时间在当前时间一步一步为零。

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

编程使用

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

选择的初始条件:

  • 内部——初始条件的状态初始条件参数。

  • 外部——从外部获得状态的初始条件的信号。当您选择该选项,输入端口出现在块中。

编程使用

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

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

提示

金宝app仿真软件的软件不允许这一块的初始条件

依赖关系

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

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

编程使用

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

限制块的输出之间的一个值低饱和限制饱和上限参数。

  • 选择此复选框限制块输出之间的一个值低饱和限制饱和上限参数。

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

依赖关系

选择该参数允许低饱和限制饱和上限参数。

编程使用

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

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

依赖关系

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

编程使用

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

指定积分下限作为标量、向量或矩阵。您必须指定一个值之间输出最小输出最大参数值。

依赖关系

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

编程使用

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

使包装之间的状态包装状态上的价值包装状态下限值参数。使包装状态不需要讨论二阶导数过零检测,减少了求解程序重置,提高解算器的性能和准确性,增加仿真时间跨度建模时旋转和循环状态轨迹。

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

依赖关系

选择这个参数就可以包装状态上的价值包装状态下限值参数。

编程使用

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

块的输出上限。

依赖关系

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

编程使用

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

下限的块的输出。

依赖关系

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

编程使用

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

选中此复选框后,可以添加一个饱和输出端口。当你清除此复选框,阻止没有饱和输出端口。

依赖关系

选择该参数使饱和输出端口。

编程使用

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

选中此复选框后,可以添加一个状态输出端口。清除此复选框时,块没有输出端口状态。

依赖关系

选择该参数允许输出端口状态。

编程使用

块参数:ShowStatePort
类型:特征向量,字符串
价值观:“关闭”|“上”
默认值:“关闭”
  • 如果你输入汽车或1,然后仿真软件使用中金宝app的绝对公差值(参见配置参数对话框解算器窗格中)计算块的状态。

  • 如果你进入一个真正的标量,那么该值将覆盖绝对宽容的配置参数对话框计算所有阻塞状态。

  • 如果你进入一个真正的向量,这个向量的维数必须匹配块连续状态的维数。这些值覆盖绝对宽容在配置参数对话框中。

编程使用

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

造成模型线性金宝app化命令将此块unresettable和作为其输出没有限制,无论重置和输出的限制选项的设置。

提示

使用此复选框后,线性化模型在一个操作点,使积分器重置或饱和。

编程使用

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

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

编程使用

块参数:ZeroCross
类型:字符字符串向量|
:“关闭”|“上”
默认的:“上”
  • 分配一个名称到一个状态,输入名称之间的引用,例如,“速度”

  • 名称分配给多个州,输入一个逗号分隔的列表中括号包围,例如,{' a ', ' b ', ' c '}。每个名称必须是唯一的。

  • 国家名称仅适用于选定的块。

  • 州的数量必须匀在一些国家的名字。

  • 您可以指定名称少于州,但是你不能指定比州的名字。

    例如,您可以指定两个系统有四个州的名字。第一个名称适用于前两个州和第二个名字最后两个州。

  • 分配国家名称与MATLAB中的一个变量®工作区,输入变量没有引号。一个变量可以是一个特征向量,字符串,细胞数组,或结构。

编程使用

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

块特征

数据类型

直接引线

是的一个

多维信号

没有

适应信号

没有

讨论二阶导数过零检测

是的

一个港口直接引线的物体有不同的特点。有关详细信息,请参阅端口描述。

扩展功能

版本历史

之前介绍过的R2006a