主要内容

变量传输延迟

通过可变时间量延迟输入

  • 库:
  • 万博1manbetx模拟/连续

  • 可变传输延迟块

描述

变量传输延迟可变时延块在Simulink中显示为两个块万博1manbetx®区块库。但是,它们是相同的Simulink块,具有不同的设置万博1manbetx选择延迟类型参数。使用此参数指定块操作的模式。

变量传输延迟

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

y t u t t d t

万博1manbetxSimulink软件查找传输延迟, 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并使用外推值作为其在t=5

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

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

港口

输入

全部展开

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

数据类型:双重的

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

依赖关系

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

数据类型:双重的

指定为标量、向量或矩阵的瞬时延时输入。当街区被封锁时变量传输延迟模式下,此值用于计算传输延迟。有关该计算的详细信息,请参见变量传输延迟

依赖关系

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

数据类型:双重的

输出

全部展开

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

数据类型:双重的

参数

全部展开

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

此参数的默认值取决于块实现:变量的时间延迟可变时延阻止,以及变量传输延迟变量传输延迟块。

依赖关系

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

  • 将此参数设置为变量传输延迟使绝对公差州名参数。

编程使用

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

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

编程使用

块参数:最大延迟
类型:字符向量,字符串
价值:标量向量
默认值:“十”

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

依赖关系

  • 此块的初始输出不能为

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

编程使用

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

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

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

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

提示

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

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

编程使用

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

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

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

请注意

即使您没有选中此复选框,ERT或GRT代码生成也会使用固定大小的缓冲区。

提示

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

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

编程使用

块参数:固定缓冲区
类型:字符向量,字符串
价值观:“关”|“开”
默认值:“关”

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

依赖关系

要启用此参数,请设置选择延迟类型变量的时间延迟

编程使用

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

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

提示

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

    1. 使用以下命令编译模型,其中模型是Simulink模型的名称。万博1manbetx

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

      模型 ([],[],[],' ");
  • 输出参数x_街,它是Simulink模型中状态的单元数组,包含新的状态排序。万博1manbetx将状态向量作为输入传递给linmoddlinmod,或修剪函数时,状态向量必须使用这个新的状态排序。

编程使用

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

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

  • 默认值为0,这导致在没有动态状态的统一增益。

  • 将顺序设置为正整数n增加了n状态到您的模型,但会产生更精确的传输延迟线性模型。

编程使用

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

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

依赖关系

要启用此参数,请设置选择延迟类型变量传输延迟

编程使用

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

为每个状态分配一个唯一的名称。如果该字段为空,则不会发生名称分配。

提示

  • 若要为单个州指定名称,请在引号之间输入名称,例如:“速度”

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

  • 状态名称仅适用于选定的块。

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

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

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

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

依赖关系

要启用此参数,请设置选择延迟类型变量传输延迟

编程使用

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

块特征

数据类型

双重的

直接引线

多维信号

没有

可变大小信号

没有

过零检测

没有

扩展能力

介绍了R2007a