主要内容

延迟

通过固定或可变的采样周期来延迟输入信号

  • 库:
  • 金宝appSimulink /常用块

    金宝appSimulink / Discrete

    HDL编码器/常用块

    HDL编码器/离散

  • 延迟块

描述

延迟块在延迟后输出块的输入。的值确定延迟时间延迟的长度参数。该块支持:金宝app

  • 可变延迟长度

  • 输入端口的初始条件说明

  • 状态存储

  • 使用循环缓冲区代替数组缓冲区进行状态存储

  • 使用外部复位信号将状态重置为初始状态

  • 使用外部使能信号在每个时间步中控制块的执行

初始块输出取决于几个因素,例如初始条件参数和模拟开始时间。有关更多信息,请参见初始块输出.的外部复位参数确定在触发时块输出是否重置为初始条件。的显示启用端口参数确定块执行是否在每个时间步中由外部使能信号控制。

初始块输出

仿真的前几个时间步的输出取决于块采样时间、延迟长度和仿真开始时间。该块支持指定或继承离金宝app散的样本时间,以确定样本之间的时间间隔。有关更多信息,请参见指定采样时间

表中显示了使用这些设置的前几个时间步骤的Delay块输出。该块继承一个离散的采样时间为TsamplingToffset,在那里Tsampling采样周期和Toffset为初始时间偏移量。n是价值的延迟的长度参数和Tstart模型的模拟开始时间是吗

模拟时间范围 块输出

TstartTstart+Toffset

Tstart+ToffsetTstart+Toffset+nTsampling

初始条件参数

Tstart+Toffset+nTsampling

输入信号

带有外部启用信号的行为

选择显示启用端口复选框启用启用端口。如果启用了enable端口,则块按此顺序操作

  1. 检查是否满足启用条件。

  2. 如果复位端口是开启的,则检查复位条件。

  3. 执行延迟块功能。

block的Enable端口是这样的:

  • 在第一个块启用时,块输出是初始条件值(x0).

  • 对于连续的使能信号,块取输入信号u的最后状态。

  • 如果在模拟开始时未启用端口,则延迟块输出0

  • 在模拟过程中,如果端口在启用后变为禁用,则块不执行并保持其最后值。

适应的支持金宝app

延迟Block为可变大小的信号提供以下支持:金宝app

  • 数据输入端口u接受可变大小的信号。其他输入端口不接受可变大小的信号。

  • 输出端口与数据输入端口具有相同的信号尺寸u对于可变大小的输入。

适用于变大小信号的规则取决于的输入处理模式延迟块。

输入处理方式 变大小信号支持规则金宝app
作为通道的元素(基于示例)
  • 当块被启用时,只有在状态重置期间信号尺寸才会改变。

  • 初始条件必须是标量。

列作为通道(基于框架)
  • 不支持金宝app

总线支持金宝app

延迟Block为总线信号提供以下支持:金宝app

  • 数据输入u接受虚拟和非虚拟总线信号。输入端口除外x0,其他输入端口不接受总线信号。

  • 初始条件x0端口接受非虚拟总线信号。

  • 输出端口与数据输入端口具有相同的总线类型u对于总线输入。

  • 公共汽车与:

    • 基于样本和基于框架的处理

    • 固定和可变延迟长度

    • 数组和循环缓冲区

使用总线信号作为a的输入延迟块时,指定对话框上的初始条件或通过x0端口。金宝app对虚拟和非虚拟总线的支持取决于您指定的初始条件以及是否国家的名字参数是否为空。为x0输入端口,只支持非虚拟总线。金宝app

初始条件 国家的名字
非空
虚拟和非虚拟总线支持金宝app 仅支持非虚拟总线金宝app
非零的标量 虚拟和非虚拟总线支持金宝app 没有总线支持金宝app
Nonscalar 没有总线支持金宝app 没有总线支持金宝app
结构 虚拟和非虚拟总线支持金宝app 仅支持非虚拟总线金宝app
部分结构 虚拟和非虚拟总线支持金宝app 仅支持非虚拟总线金宝app

字符串的支持金宝app

延迟Block只能在以下情况下接受并输出字符串数据类型:

  • 块配置为默认值初始条件参数(0)。

  • 延迟的长度值小于等于1。

港口

输入

全部展开

输入数据信号按参数设置延时。

数据类型:一半|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符串|布尔|不动点|枚举|公共汽车

从输入端口继承指定的延迟长度。选项时启用延迟长度:源参数,输入端口

数据类型:一半|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

启用信号,启用或禁用块的执行。要创建此端口,请选择显示启用端口参数。

数据类型:一半|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点

将块的执行重置为初始条件的外部信号。要创建此端口,请选择外部复位参数。

数据类型:一半|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点

指定为从输入端口继承的初始条件。选项时启用初始条件:来源参数,输入端口

数据类型:一半|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点|公共汽车

输出

全部展开

输出信号,即被参数指定的时间长度延迟的输入信号延迟的长度.输出信号的初始值取决于几个条件。看到初始块输出

数据类型:一半|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符串|布尔|不动点|枚举|公共汽车

参数

全部展开

主要

指定是直接在对话框中输入延迟长度(固定延迟)还是从输入端口继承延迟(可变延迟)。

  • 如果你设置对话框,在下面的编辑字段中输入延迟长度价值

  • 如果你设置输入端口,验证上游信号为d输入端口。您也可以通过指定参数来指定其最大值上限

将标量延迟长度指定为一个实的非负整数。对话框中的超出范围或非整数值(固定延迟)将返回错误。来自输入端口的超出范围的值(可变延迟)将其强制转换到范围内。来自输入端口的非整数值(变量延迟)将其截断为整数。

编程使用

块参数DelayLengthSource
类型:字符向量
“对话框”|输入端口的
默认的“对话框”
块参数DelayLength
类型:字符向量
:标量
默认的' 2 '
块参数DelayLengthUpperLimit
类型:字符向量
:标量
默认的“100”

指定是直接在对话框上输入初始条件,还是从输入端口继承初始条件。

  • 如果你设置对话框,在下面的编辑字段中输入初始条件价值

  • 如果你设置输入端口的初始条件,验证上游信号为x0输入端口。

金宝app®的数据类型进行脱机转换初始条件输入信号的数据类型u使用四舍五入到最近的操作和饱和。

请注意

状态名必须解析为Simulink信号对象金宝app状态属性窗格中,该块将信号对象的初始值复制到初始条件参数。然而,当源为初始条件输入端口,该块忽略信号对象的初始值。

编程使用

块参数InitialConditionSource
类型:字符向量
“对话框”|输入端口的
默认的“对话框”
块参数InitialCondition
类型:字符向量
:标量
默认的“0.0”

指定块是执行基于样本还是基于框架的处理:

  • 列作为通道(基于框架)-将输入的每一列作为单独的通道(基于帧的处理)。

    请注意

    基于框架的处理需要DSP System Toolbox™许可证。

    有关更多信息,请参见基于样本和框架的概念(DSP系统工具箱)

  • 作为通道的元素(基于示例)-将输入的每个元素作为单独的通道(基于样本的处理)。

使用输入处理指定块执行基于样本还是基于帧的处理。有关这两种处理模式的更多信息,请参见基于样本和框架的概念(DSP系统工具箱)

编程使用

块参数InputProcessing
类型:字符向量
“作为通道的列(基于帧)”|“元素作为通道(基于样本)”
默认的“元素作为通道(基于样本)”

选择使用循环缓冲区在模拟和代码生成中存储状态。否则,数组缓冲区将存储状态。

当延迟长度较大时,使用循环缓冲区可以提高执行速度。对于数组缓冲区,复制操作的数量随着延迟长度的增加而增加。对于循环缓冲区,复制操作的数量是恒定的,以增加延迟长度。

如果满足以下条件之一,则数组缓冲区总是存储状态,因为循环缓冲区并不能提高执行速度。

  • 对于基于样本的信号,延迟长度为1。

  • 对于基于帧的信号,延迟长度不大于帧大小。

编程使用

块参数UseCircularBuffer
类型:字符向量
“关闭”|“上”
默认的“关闭”

选择将延迟长度从零增加到的下限输入处理模式。

  • 对于基于样本的信号,将最小延迟长度增加到1。

  • 对于基于帧的信号,将最小延迟长度增加到帧长。

选择此复选框可防止从输入端口直接直通,u,到输出端口。然而,这个复选框不能阻止从初始条件端口的直接馈通,x0,到输出端口。

依赖

若要启用此参数,请设置延迟长度:源输入端口

编程使用

块参数PreventDirectFeedthrough
类型:字符向量
“关闭”|“上”
默认的“关闭”

选择以删除检查超出范围延迟长度的代码。

复选框 结果 何时使用

选择

生成的代码不包含用于检查超出范围延迟长度的条件语句。

为了代码效率

清除

生成的代码包含条件语句,用于检查超出范围的延迟长度。

用于安全关键应用程序

依赖

若要启用此参数,请设置延迟长度:源输入端口

编程使用

块参数RemoveDelayLengthCheckInGeneratedCode
类型:字符向量
“关闭”|“上”
默认的“关闭”

指定输入时是否产生警告或错误d是小于下限还是大于延迟长度:上限.的下限取决于的设置防止直接馈通

  • 如果清除该复选框,则下限为零。

  • 如果选中该复选框,则基于样本的信号的下限为1,基于帧的信号的帧长为1。

诊断选项包括:

  • 没有一个- 金宝appSimulink软件不执行任何操作。

  • 警告—S金宝appimulink软件显示警告并继续模拟。

  • 错误—S金宝appimulink软件终止仿真并报错。

依赖

若要启用此参数,请设置延迟长度:源输入端口

编程使用

块参数DiagnosticForDelayLength
类型:字符向量
“没有”|“警告”|“错误”
默认的“没有”

选择以启用端口控制此块的执行。当该端口的输入为非零时,该块被认为是启用的,当输入为非零时,该块被认为是禁用的0.在块执行的同时检查输入的值。

编程使用

块参数:ShowEnablePort
类型:特征向量
价值观:'off' | 'on'
默认值:“关闭”

指定用于将状态重置为初始条件的触发器事件。

复位模式 行为
没有一个 没有复位
不断上升的 重置在上升边缘
下降 在下降边缘复位
要么 复位在上升或下降的边缘
水平

在以下任何一种情况下重置:

  • 当复位信号在当前时间步长为非零时

  • 当复位信号值从上一个时间步的非零变为当前时间步的零时

保持水平 当复位信号在当前时间步长非零时复位

编程使用

块参数ExternalReset
类型:字符向量
“没有”|“上升”|“下降”|“不是”|“水平”|“持有水平”
默认的“没有”

指定样本之间的时间间隔。如果要继承采样时间,将此参数设置为-1.该块支持离散采样时间,金宝app但不支持连续采样时间。

编程使用

块参数SampleTime
类型:字符向量
价值:实标量
默认的' 1 '

状态属性

使用此参数为块状态分配唯一名称。默认为' '.当此字段为空时,不分配名称。使用此参数时,请记住以下注意事项:

  • 有效的标识符以字母或下划线字符开头,后面跟着字母数字或下划线字符。

  • 状态名只适用于所选的块。

此参数启用状态名必须解析为Simulink信号对象金宝app当你点击应用

有关更多信息,请参见模型接口元素的C代码生成配置(金宝app仿真软件编码器)

编程使用

块参数:StateName
类型:特征向量
价值观:唯一的名称
默认值:

选中此复选框要求将状态名解析为Simulink信号对象。金宝app

依赖关系

要启用此参数,请指定的值国家的名字.只有当您设置模型配置参数时,此参数才会出现信号的分辨率的值没有一个

编程使用

块参数:StateMustResolveToSignalObject
类型:特征向量
价值观:'off' | 'on'
默认值:“关闭”

块特征

数据类型

布尔|公共汽车||枚举|不动点|一半|整数||字符串

直接引线

是的

多维信号

是的

适应信号

是的

讨论二阶导数过零检测

没有

扩展功能

PLC代码生成
使用Simulink®PLC Coder™生成结构化文本代码。金宝app

定点转换
使用定点设计器设计和模拟定点系统。

R2006a之前介绍过