主要内容

可变时延

延迟输入的可变量的时间

  • 库:
  • 金宝appSimulink / Continuous

  • 可变时间延迟块

描述

可变运输延迟而且可变时延块在Simulink中显示为两个块金宝app®块库。但是,它们是相同的Simulink块,但设置不同金宝app选择延迟类型参数。使用此参数指定块运行的模式。

可变时延

在这种模式下,块有一个数据输入,一个延时输入和一个数据输出。(见旋转或翻转后的端口位置有关各种块方向的端口顺序的描述。)当前时间步的输出等于它在前一个时间步的数据输入值。这个时间步长是当前模拟时间减去由时间延迟输入指定的延迟时间。

y t u t t 0 u t τ t

在模拟过程中,块将时间和输入值对存储在内部缓冲区中。在模拟开始时,块输出的值初始输出参数,直到模拟时间超过输入的时间延迟。然后,在每个仿真步骤中,块在当前仿真时间减去延迟时间对应的时间输出信号。

如果你想在输入存储时间之间的某个时间输出,并且求解器是一个连续求解器,则块在点之间线性插值。如果时间延迟小于步长,则块从上一个点推断出一个输出点。例如,考虑步长为的固定步长模拟1现在的时间是T = 5.如果延迟是0.5时,块必须生成一个点T = 4.5,但最近存储的时间值为T = 4.因此,块外推输入在4.5从的输入4并使用外推值作为它的输出T = 5

从前一个时间步向前推断比从当前时间步向后推断产生的结果更不准确。但是,该块不能使用当前输入来计算其输出值,因为输入端口没有直接馈通。

如果模型指定了离散求解器,则块不会在时间步长之间进行插值。相反,它返回所需值之前最近的存储值。

可变运输延迟

在这种模式下,块在当前时间步长的输出等于它在较早时间步长的输入数据(上或左)的值,等于当前时间减去传输延迟。

y t u t t d t

金宝appSimulink软件发现传输延迟, t d t ,通过求解如下方程:

t t d t t 1 t τ d τ 1

这个方程包含一个瞬时延时, t t ,由时间延迟(底部或右侧)输入给出。

假设要使用此块来模拟流体在管道中的流动,其中流体速度随时间变化。在这种情况下,输入到块的时间延迟为

t t l v t

在哪里l管子的长度和 v t 是流体的速度。

港口

输入

全部展开

指定为标量、向量或矩阵的输入信号。

数据类型:

指定为标量、向量或矩阵的时间延迟输入。当块插入时可变时延模式,此值指定时间延迟。有关该计算的更多信息,请参见可变时延

依赖关系

若要启用此端口,请设置选择延迟类型可变时延

数据类型:

指定为标量、矢量或矩阵的瞬时延时输入。当块插入时可变运输延迟模式,此值用于计算传输延迟。有关该计算的更多信息,请参见可变运输延迟

依赖关系

若要启用此端口,请设置选择延迟类型可变运输延迟

数据类型:

输出

全部展开

指定为标量、矢量或矩阵的输出信号。

数据类型:

参数

全部展开

指定延迟类型为可变时延可变运输延迟

该参数的默认值取决于块的实现:可变时延可变时延块,可变运输延迟可变运输延迟块。

依赖关系

  • 将此参数设置为可变时延使处理零延迟参数。

  • 将此参数设置为可变运输延迟使绝对的宽容而且国家的名字参数。

编程使用

块参数:VariableDelayType
类型:字符向量,字符串
价值观:“可变运输延迟”|“可变时间延迟”

设置输入时间延迟的最大值。这个值定义了该块允许的最大时间延迟输入。该块剪辑任何超过此值的延迟。该值不能为负。如果时间延迟变为负值,则块将其剪辑为零并发出警告消息。

编程使用

块参数:MaximumDelay
类型:字符向量,字符串
值:标量|向量
默认值:“十”

指定块生成的输出,直到模拟时间第一次超过时间延迟输入。

依赖关系

  • 此块的初始输出不能为

  • 一个运行到运行可调参数在模拟运行时不能更改。但是,在模拟开始之前更改它不会导致Accelerator或Rapid Accelerator重新生成代码。

编程使用

块参数:InitialOutput
类型:字符向量,字符串
价值观:标量|向量
默认值:' 0 '

为要存储的输入点的数量定义初始内存分配。输入点定义输入信号到当前仿真时间的历史记录。

  • 如果输入点的数量超过了初始缓冲区大小,块将分配额外的内存。

  • 模拟结束后,如果缓冲区不足,必须分配更多内存,将显示一条消息。

提示

  • 因为分配内存会降低模拟速度,所以如果模拟速度是一个问题,请谨慎选择这个值。

  • 对于长时间的延迟,这个块可能会使用大量的内存,特别是对于量纲化的输入。

编程使用

块参数:MaximumPoints
类型:字符向量,字符串
价值观:标量|向量
默认值:“1024”

选中此复选框将使用固定大小的缓冲区保存以前时间步骤中的输入数据。清除此复选框时,块不使用固定大小的缓冲区。

初始缓冲区大小参数指定缓冲区大小。如果缓冲区已满,则新数据将替换缓冲区中已有的数据。金宝appSimulink软件使用线性外推来估计不在缓冲区中的输出值。

请注意

即使不选择此复选框,ERT或GRT代码生成也使用固定大小的缓冲区。

提示

  • 如果输入数据是线性的,选中此复选框可以节省内存。

  • 如果输入数据为非线性数据,请不要选中此复选框。这样做可能会产生不准确的结果。

编程使用

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

选中此复选框将此块转换为直接馈通块。清除此复选框时,该块不使用直接馈通。

依赖关系

若要启用该参数,请设置选择延迟类型可变时延

编程使用

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

当您选择此参数时,块将在线性化和修剪期间输出其输入,这将块模式设置为直接馈通。若要禁用直馈,请清除此复选框。

提示

  • 当您使用函数时,选择此复选框可能会导致模型中状态顺序的更改linmoddlinmod,或修剪.要提取这个新的状态顺序:

    1. 使用以下命令编译模型,其中模型是Simulink模型的名称。金宝app

      (大小、x0 x_str) =模型 ([],[],[],' lincompile”);
    2. 使用以下命令终止编译。

      模型 ([],[],[],' ");
  • 输出参数x_str,是Simulink模型中状态的单元格数组,包含新的状态排序。金宝app将状态向量作为输入传递给linmoddlinmod,或修剪函数,状态向量必须使用这种新的状态顺序。

编程使用

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

为线性化例程设置Pade近似的顺序。

  • 默认值为0,在没有动态的情况下得到统一增益。

  • 将顺序设置为正整数n增加了n状态到您的模型,但结果是一个更准确的传输延迟线性模型。

编程使用

块参数:PadeOrder
类型:字符向量,字符串
价值观:标量
默认值:' 0 '

指定计算块状态的绝对容差。

依赖关系

若要启用该参数,请设置选择延迟类型可变运输延迟

编程使用

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

为每个州分配一个唯一的名称。如果该字段为空,则不进行名称分配。

提示

  • 要为单个州分配名称,请在引号之间输入名称,例如,“速度”

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

  • 状态名仅应用于所选块。

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

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

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

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

依赖关系

若要启用该参数,请设置选择延迟类型可变运输延迟

编程使用

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

块特征

数据类型

直接引线

是的

多维信号

没有

适应信号

没有

讨论二阶导数过零检测

没有

扩展功能

另请参阅

|

主题

在R2007a中引入