主要内容

变量传输延迟

延迟输入由可变的时间量

  • 库:
  • 金宝app模型/连续

  • 可变传输延迟块

描述

变量传输延迟变量的时间延迟块在Simulink中显示为两个块金宝app®块库。然而,它们是具有不同设置的相同Simulink块金宝app选择延迟类型参数。使用此参数指定块操作的模式。

变量传输延迟

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

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 是流体的速度。

变量的时间延迟

在这种模式下,块有一个数据输入,一个延时输入和一个数据输出。(见旋转或翻转后的端口位置,以说明不同区块方向的港口次序。)当前时间步长的输出等于它在前一个时间步长的数据输入值。这个时间步长是当前仿真时间减去由延时输入指定的延时时间。

y t u t t 0 u t τ t

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

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

从前一个时间步长推断出的结果可能比从当前时间步长推断出的结果更不准确。然而,块不能使用当前输入来计算其输出值,因为输入端口没有直接馈通。

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

港口

输入

全部展开

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

数据类型:

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

依赖关系

要启用该端口,请设置选择延迟类型变量的时间延迟

数据类型:

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

依赖关系

要启用该端口,请设置选择延迟类型变量传输延迟

数据类型:

输出

全部展开

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

数据类型:

参数

全部展开

指定延迟类型为变量的时间延迟变量传输延迟

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

依赖关系

  • 将该参数设置为变量的时间延迟使处理零延迟参数。

  • 将该参数设置为变量传输延迟使绝对的宽容国家的名字参数。

编程使用

块参数: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