Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

Constant

生成常量值

  • Constant block

库:
Simulink / Commonly Used Blocks
Simulink / Sources
DSP System Toolbox / Sources
HDL Coder / Commonly Used Blocks
HDL Coder / Sources

描述

Constant 模块生成实数或复数常量值信号。使用此模块提供常量信号输入。此模块是生成标量、向量还是混合输出要取决于:

  • 常量值参数的维度

  • 将向量参数解释为一维向量参数的设置

此模块的输出与常量值参数具有相同的维度和元素。如果为此参数指定向量,即您希望模块将其解析为向量,请选中将向量参数解释为一维向量复选框。否则,如果为常量值参数指定了向量,模块会将该向量视为一个矩阵。

提示

要输出常量枚举值,请考虑改用 Enumerated Constant 模块。Constant 模块提供不适用于枚举类型的模块参数,例如输出最小值输出最大值

使用总线对象作为输出数据类型

Constant 模块支持使用非虚拟总线作为输出数据类型。使用总线对象作为输出数据类型可以帮助简化您的模型。如果使用总线对象作为输出数据类型,请将常量值设置为 0 或者与该总线对象匹配的 MATLAB® 结构体。

对总线的常量值使用结构体

您指定的结构体中必须为总线对象所代表的总线中的每个元素包含一个值。模块输出为非虚拟总线信号。

您可以使用 Simulink.Bus.createMATLABStruct 创建一个与总线对应的完全结构体。

也可以使用 Simulink.Bus.createObject 从 MATLAB 结构体中创建一个总线对象。

如果输出总线中的信号元素使用除 double 之外的其他数字数据类型,则您可以通过使用定型表达式(例如 uint16(37))或非定型表达式(例如 37)来指定结构体字段。要控制字段数据类型,您可以使用总线对象作为 Simulink.Parameter 对象的数据类型。要决定是使用定型表达式还是非定型表达式,请参阅Control Data Types of Initial Condition Structure Fields

设置配置参数以支持使用总线对象数据类型

要允许使用总线对象作为输出数据类型,请在开始仿真之前,将配置参数 > 诊断 > 数据有效性 > 高级参数 > 欠定初始化检测设置为简化。有关详细信息,请参阅 欠定初始化检测

端口

输出

全部展开

常量值,指定为实数或复数值标量、向量、矩阵或 N 维数组。默认情况下,Constant 模块输出的信号与常量值参数具有相同的维度、数据类型和复/实性。但是,您可以为输出指定 Simulink® 支持的任何数据类型,包括定点和枚举数据类型。

注意

如果您指定总线对象作为此模块的数据类型,请不要为模块的总线数据设置最大值。因为 Simulink 会忽略此设置。但请为指定作为数据类型的总线对象的总线元素设置最大值。有关详细信息,请参阅 Simulink.BusElement

数据类型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

参数

全部展开

常设

为模块指定常量值输出。

  • 您可以输入 MATLAB 以矩阵方式运算的任何表达式,包括布尔关键字 truefalse

  • 如果您将输出数据类型设置为总线对象,则可以指定下列选项之一:

    • 与总线对象对应的完全 MATLAB 结构体

    • 0,以表示与总线对象的接地值对应的结构体

    有关详细信息,请参阅使用总线对象作为输出数据类型

  • 对于非总线数据类型,Simulink 使用最邻近舍入方法和饱和溢出操作,自动将此参数从其值数据类型转换为指定的输出数据类型。

编程用法

模块参数Value
类型:字符向量
值:标量 | 向量 | 矩阵 | N 维数组
默认值:'1'

如果常量值参数的计算结果为包含 N 个元素的行或列向量,选中此复选框将输出长度为 N 的向量。

  • 如果常量值参数的计算结果为包含 N 个元素的行或列向量,则选中此复选框时,模块将输出长度为 N 的向量。

  • 清除此复选框后,如果常量值参数的计算结果为一个包含 N 个元素的行向量或列向量,模块将输出一个维数为 1×NN×1 的矩阵。例如,该模块输出 1×NN×1 矩阵。

编程用法

模块参数VectorParams1D
类型:字符向量
值:'on' | 'off'
默认值:'on'

指定仿真过程中 Constant 模块输出可以更改(例如,由于调整了常量值参数)的时间间隔。

默认值 inf 表示模块输出永不更改。此设置可通过避免重新计算模块输出,加快仿真和代码生成速度。

有关详细信息,请参阅 指定采样时间

编程用法

模块参数SampleTime
类型:字符向量
:标量 | 向量
默认值'inf'

信号属性

将 Simulink 检查的输出范围的下限值指定为有限的双精度实数标量值。

注意

如果您指定总线对象作为此模块的数据类型,请不要为模块上的总线数据设置最小值。因为 Simulink 会忽略此设置。但请为指定作为数据类型的总线对象的总线元素设置最小值。有关总线元素的“最小值”参数的信息,请参阅 Simulink.BusElement

Simulink 使用最小值执行下列操作:

注意

输出最小值不会饱和或剪切实际输出信号。请改用 Saturation 模块。

编程用法

模块参数OutMin
类型:字符向量
:标量
默认值'[ ]'

将 Simulink 检查的输出范围的上限值指定为有限的双精度实数标量值。

注意

如果您指定总线对象作为此模块的数据类型,请不要为模块的总线数据设置最大值。因为 Simulink 会忽略此设置。但请为指定作为数据类型的总线对象的总线元素设置最大值。有关总线元素的“最大值”参数的信息,请参阅 Simulink.BusElement

Simulink 使用最大值执行下列操作:

注意

输出最大值不会饱和或剪切实际输出信号。请改用 Saturation 模块。

编程用法

模块参数OutMax
类型:字符向量
:标量
默认值'[ ]'

指定输出数据类型。该类型可以继承、直接指定或表示为数据类型对象,如 Simulink.NumericType

点击显示数据类型助手按钮 以显示数据类型助手,帮助您设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型

编程用法

模块参数OutDataTypeStr
类型:字符向量
值:'Inherit: Inherit from 'Constant value'' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'Enum: <class name>' | 'Bus: <object name>'
默认值:'Inherit: Inherit from 'Constant value''

选择此参数可防止定点工具覆盖您在模块上指定的输出数据类型。有关详细信息,请参阅Use Lock Output Data Type Setting (Fixed-Point Designer)

编程用法

模块参数LockScale
类型:字符向量
值:'off' | 'on'
默认值:'off'

选择要指定的数据类别。

继承

数据类型的继承规则。选择 inherit 将在右侧启用另一个菜单/文本框。选择以下选项之一:

  • Inherit from 'Constant value'(默认值)

  • Inherit via back propagation

内置

内置的数据类型。选择内置将在右侧启用另一个菜单/文本框。选择以下选项之一:

  • double(默认值)

  • single

  • int8

  • uint8

  • int16

  • uint16

  • int32

  • uint32

  • boolean

定点

定点数据类型。

枚举

枚举数据类型。选择枚举将启用右侧的另一个菜单/文本框,您可以在其中输入类名称。

总线对象

总线对象。选择总线将在右侧启用一个总线对象参数,您可以在此处输入要用来定义总线结构的总线对象的名称。如果需要创建或更改总线对象,请点击总线对象字段右侧的编辑以打开 Simulink 类型编辑器。有关详细信息,请参阅创建并指定 Simulink.Bus 对象

表达式

计算结果为数据类型的表达式。选择表达式将在右侧启用另一个菜单/文本框,您可以在其中输入表达式。

不要将总线对象指定为表达式。

为此信号选择数据类型覆盖模式。

  • 当您选择 inherit 时,Simulink 从信号的上下文(即:从 Simulink 中使用该信号的模块、Simulink.Signal 对象或 Stateflow® 图)中继承数据类型覆盖设置。

  • 当您选择 off 时,Simulink 忽略信号上下文的数据类型覆盖设置,并使用为信号指定的定点数据类型。

有关详细信息,请参阅 Simulink 文档中的使用数据类型助手指定数据类型

依存关系

要启用此参数,请点击显示数据类型助手按钮,并将模式设置为内置定点

提示

由于能够关闭单个数据类型的数据类型覆盖,您可以在应用数据类型覆盖时更好地控制模型中的数据类型。例如,您可以使用此选项确保数据类型满足下游模块的要求,而忽略数据类型覆盖设置。

指定定点数据是有符号还是无符号。有符号数据可以表示正值和负值,无符号数据只表示正值。

  • 有符号,将定点数据指定为有符号数据。

  • 无符号,将定点数据指定为无符号数据。

有关详细信息,请参阅使用数据类型助手指定数据类型

依存关系

要启用此参数,请将模式设置为 Fixed point

指定定点数据的定标方法,以避免发生溢出情况并最大限度地减少量化错误。有关详细信息,请参阅指定定点数据类型

依存关系

要启用此参数,请将模式设置为定点

定标设置为二进制小数点可启用:

  • 小数长度

  • 计算最佳精度定标

定标设置为斜率和偏置可启用:

  • 斜率

  • 偏置

  • 计算最佳精度定标

指定存储量化整数的字的位大小。有关详细信息,请参阅指定定点数据类型

依存关系

要启用此参数,请将模式设置为定点

将定点数据类型的小数长度指定为正整数或负整数。有关详细信息,请参阅指定定点数据类型

依存关系

要启用此参数,请将定标设置为二进制小数点

指定定点数据类型的斜率。有关详细信息,请参阅指定定点数据类型

依存关系

要启用此参数,请将定标设置为斜率和偏置

将定点数据类型的偏置指定为任意实数。有关详细信息,请参阅指定定点数据类型

依存关系

要启用此参数,请将定标设置为斜率和偏置

模块特性

数据类型

Boolean | bus | double | enumerated | fixed point | half | integer | single

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

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

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

版本历史记录

在 R2006a 之前推出