主要内容

延迟

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

  • 库:
  • 金宝appSimulink /常用块

    金宝appSimulink / Discrete

    HDL编码器/常用块

    HDL编码器/离散

  • 延迟块

描述

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

  • 可变延迟长度

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

  • 状态存储

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

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

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

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

初始块输出

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

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

模拟时间范围 块输出

TstartTstart+Toffset

Tstart+ToffsetTstart+Toffset+nTsampling

初始条件参数

Tstart+Toffset+nTsampling

输入信号

外部使能信号的行为

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

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

  2. 复位端口开启,检查复位条件。

  3. 执行延迟块功能。

block对Enable端口有如下操作:

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

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

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

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

适应的支持金宝app

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

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

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

的输入处理模式决定了应用于可变大小信号的规则延迟块。

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

  • 初始条件必须是标量。

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

总线支持金宝app

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

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

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

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

  • 公共汽车与:

    • 基于样本和基于帧的处理

    • 固定和可变延迟长度

    • 数组和循环缓冲区

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

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

字符串的支持金宝app

延迟块可以接受和输出字符串数据类型仅当:

  • 的缺省值配置该块初始条件参数(0)。

  • 延迟的长度值为1或更小。

港口

输入

全部展开

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

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

从输入端口继承的延迟长度。属性时启用延迟长度:参数,输入端口

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

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

数据类型:一半|||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
类型:字符向量
“关闭”|“上”
默认的“关闭”

属性的延迟长度从0增加到下限输入处理模式。

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

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

选中此复选框可防止从输入端口直接馈电,u,到输出端口。但是,这个复选框不能阻止从初始条件端口直接馈通,x0,到输出端口。

依赖

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

编程使用

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

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

复选框 结果 何时使用

选择

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

为了提高代码效率

清除

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

安全关键应用

依赖

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

编程使用

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

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

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

  • 选中复选框时,基于采样的信号的下限为1,基于帧的信号的下限为帧长。

诊断选项包括:

  • 没有一个—S金宝appimulink软件不做任何操作。

  • 警告—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之前介绍