主要内容

延迟

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

  • 库:
  • 金宝appSimulink /常用模块

    金宝app模型/离散

    HDL编码器/常用模块

    HDL编码器/离散

  • 延迟块

描述

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

  • 变量延迟长度

  • 从输入端口指定初始条件

  • 状态存储

  • 使用循环缓冲区而不是数组缓冲区进行状态存储

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

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

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

初始块输出

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

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

仿真时间范围 块输出

TstartTstart+Toffset

Tstart+ToffsetTstart+Toffset+nTsampling

初始条件参数

Tstart+Toffset+nTsampling

输入信号

外部启用信号的行为

选择显示启用端口复选框启用“启用端口”。如果启用的端口是启用的,块操作的顺序是这样的

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

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

  3. 执行延迟块功能。

块对启用端口进行此操作:

  • 在第一个块启用时,块输出是初始条件值(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|不动点

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

数据类型:一半|||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系统工具箱)

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

使用输入处理指定块是执行基于样本还是基于帧的处理。块接受基于帧的信号作为输入u.所有其他输入信号必须是基于采样的。

输入信号u 输入处理方式 块工作吗?
基于样本 基于样本 是的
框架的基础 不,会产生错误
基于样本 框架的基础 是的
框架的基础 是的

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

编程使用

块参数InputProcessing
类型:特征向量
'Columns as channels(基于框架)'|“作为通道的元素(基于样本)”
默认的“作为通道的元素(基于样本)”

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

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

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

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

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

编程使用

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

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

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

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

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

依赖

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

编程使用

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

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

复选框 结果 什么时候使用

选择

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

代码效率

清除

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

对于安全性至关重要的应用程序

依赖

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

编程使用

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

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

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

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

诊断选项包括:

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

  • 警告- 金宝appSimulink软件显示警告并继续模拟。

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

依赖

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

编程使用

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

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

编程使用

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

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

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

在上述任何一种情况下重置:

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

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

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

编程使用

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

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

编程使用

块参数SampleTime
类型:特征向量
价值:真正的标量
默认的' 1 '

状态属性

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

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

  • 州名只应用于选定的块。

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

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

编程使用

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

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

依赖关系

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

选择此复选框将禁用代码生成存储类

编程使用

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

通过选择目标包定义的信号对象类来选择自定义存储类包。例如,从内置包应用自定义存储类mpt中,选择mpt。信号.除非您使用Embedded Coder的基于ert的代码生成目标®,自定义存储类不会影响生成的代码。

要使用除Simulink包之外的存储类包,必须将包加载到模型的Embedded Coder 金宝appDictionary中。看到将存储类包加载到嵌入式编码器字典中(嵌入式编码)

有关使用存储类配置模型数据的信息,请参见模型接口元素的C代码生成配置(嵌入式编码).有关自定义存储类的信息,请参见在生成的代码中将数据组织成结构(嵌入式编码)

编程使用

块参数:StateSignalObject
类型:特征向量
价值观:的金宝app仿真软件。信号的|''
默认值:的金宝app仿真软件。信号的

选择用于代码生成的状态存储类。

使用信号对象类从包中选择自定义存储类金宝app

依赖关系

要启用此参数,请指定国家的名字

编程使用

块参数:StateStorageClass
类型:特征向量
价值观:'Auto' | 'Model default' | 'ExportedGlobal' | 'ImportedExtern' | 'ImportedExternPointer' | 'Custom' |…
默认值:“汽车”

块特征

数据类型

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

直接引线

是的

多维信号

是的

适应信号

是的

讨论二阶导数过零检测

没有

扩展功能

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

定点转换
使用fixed-point Designer™设计和模拟定点系统。

之前介绍过的R2006a