Constant
R2026b常量值
Constant block
To add a block to a model, double-click the canvas and start typing the block name. Then, select the block from the list.
库:
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。
设置配置参数以支持使用总线对象数据类型
要允许使用总线对象作为输出数据类型,请在开始仿真之前,将配置参数 > 诊断 > 数据有效性 > 高级参数 > 欠定初始化检测设置为简化。有关详细信息,请参阅 Underspecified initialization detection。
示例
扩展示例
自动气候控制系统仿真
此示例说明如何使用 Simulink® 和 Stateflow® 对汽车中自动气候控制系统进行仿真。在 User Setpoint in Celsius 模块中,设置所需的座舱温度。在 External Temperature in Celsius 模块中,设置外部温度。Thermometer Display 模块显示来自驾驶员头部后方传感器的温度读数,表示驾驶员感受到的温度。
端口
输出
参数
常设
为模块指定常量值输出。
默认值取决于您添加的模块。
1- Constant 或 One 模块0- Zero 模块inf- Inf 模块-inf- Negative Inf 模块exp(1)- Eulers Number 模块pi- Pi 模块NaN- NaN 模块
您可以输入 MATLAB 以矩阵方式运算的任何表达式,包括布尔关键字 true 和 false。
如果您将输出数据类型设置为总线对象,则可以指定下列选项之一:
与总线对象对应的完全 MATLAB 结构体
0,以表示与总线对象的接地值对应的结构体
有关详细信息,请参阅使用总线对象作为输出数据类型。
对于非总线数据类型,Simulink 使用最邻近舍入方法和饱和溢出操作,自动将此参数从其值数据类型转换为指定的输出数据类型。
依赖关系
当输出数据类型指定 Simulink.ValueType 对象时,软件会忽略常量值的数据类型。
当此参数指定 Simulink.Parameter 对象并且输出数据类型指定 Simulink.ValueType 对象时:
该模块使用
Simulink.ValueType对象指定的最小值、最大值和数据类型。该模块使用由
Simulink.Parameter对象指定的单位。对象指定的维度和复/实性必须匹配。
编程用法
要以编程方式设置模块参数值,请使用 set_param 函数。
| 参数: | Value |
| 值: | scalar in quotes | vector in quotes | matrix in quotes | array in quotes |
| 数据类型: | char | string |
指定仿真过程中 Constant 模块输出可以更改的时间间隔,例如,由于调整了常量值参数。
默认值 inf 表示模块输出永不更改。此设置可通过避免重新计算模块输出,加快仿真和代码生成速度。代码可能在代码生成时内联计算出的值,如Inline Numeric Values of Block Parameters (Simulink Coder)中所述。
有关详细信息,请参阅 指定采样时间。
编程用法
要以编程方式设置模块参数值,请使用 set_param 函数。
| 参数: | SampleTime |
| 值: | 'inf' (默认) | scalar in quotes | vector in quotes |
| 数据类型: | char | string |
信号属性
将软件检查的输出范围的下限值指定为有限的双精度实数标量值。
软件使用最小值执行下列操作:
某些模块的参数范围检查(请参阅指定模块参数的最小值和最大值)。
定点数据类型的自动定标。
从模型生成的代码的优化。此优化可删除算法代码,并影响某些仿真模式(如 SIL 或外部模式)的结果。有关详细信息,请参阅使用指定的最小值和值进行优化 (Embedded Coder)。
提示
输出最小值不会对实际输出信号进行饱和处理或截断。请改用 Saturation 模块。
依赖关系
当输出数据类型指定 Simulink.ValueType 或 Simulink.Bus 对象时,软件会忽略此参数的值。软件改用 Simulink.ValueType 对象或 Simulink.Bus 对象中的 Simulink.BusElement 对象指定的最小值。
编程用法
要以编程方式设置模块参数值,请使用 set_param 函数。
| 参数: | OutMin |
| 值: | '[ ]' (默认) | scalar in quotes |
将软件检查的输出范围的上限值指定为有限的双精度实数标量值。
软件使用最大值执行下列操作:
某些模块的参数范围检查(请参阅指定模块参数的最小值和最大值)。
定点数据类型的自动定标。
从模型生成的代码的优化。此优化可删除算法代码,并影响某些仿真模式(如 SIL 或外部模式)的结果。有关详细信息,请参阅使用指定的最小值和值进行优化 (Embedded Coder)。
提示
输出最大值不会对实际输出信号进行饱和处理或截断。请改用 Saturation 模块。
依赖关系
当输出数据类型指定 Simulink.ValueType 或 Simulink.Bus 对象时,软件会忽略此参数的值。软件改用 Simulink.ValueType 对象或 Simulink.Bus 对象中的 Simulink.BusElement 对象指定的最大值。
编程用法
要以编程方式设置模块参数值,请使用 set_param 函数。
| 参数: | OutMax |
| 值: | '[ ]' (默认) | scalar in quotes |
指定输出数据类型。
数据类型助手可帮助您设置数据属性。要使用数据类型助手,请点击
。有关详细信息,请参阅使用数据类型助手指定数据类型。
您可以指定以下任一选项:
继承的数据类型
内置 Simulink 数据类型 - 例如,指定 single 或 uint8。请参阅 Simulink 支持的数据类型。
定点数据类型 - 使用
fixdt函数。例如,指定 fixdt(1,16,0)。枚举数据类型 - 使用以
Enum:开头的类型名称。例如,指定 Enum: myEnumType。总线数据类型 - 使用以
Bus:开头的Simulink.Bus对象的名称。例如,指定 Bus: myBusObject。值类型 (自 R2023b 起) - 使用以
ValueType:开头的Simulink.ValueType对象的名称。例如,指定 ValueType: windVelocity。您指定的值类型必须将DimensionsMode设置为'Fixed'。自定义数据类型 - 使用指定类型的 MATLAB 表达式。例如,您可以指定一个
Simulink.NumericType对象,其DataTypeMode属性设置为'Fixed-point: unspecified scaling'以外的值。
当您指定 Simulink.ValueType 或 Simulink.Bus 对象作为数据类型时,将忽略 Constant 模块的输出最小值和输出最大值参数。软件改用 Simulink.ValueType 对象或 Simulink.Bus 对象中 Simulink.BusElement 对象的对应属性。例如,假设一个模块将输出最小值设置为 0。当模块的输出数据类型指定 ValueType 对象并将 1 作为其最小值时,模块使用 1 而不是 0 作为其最小值。
编程用法
要以编程方式设置模块参数值,请使用 set_param 函数。
| 参数: | 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>' | 'ValueType: <object name>' | '<data type expression>' |
选择此参数可防止定点工具覆盖您在模块上指定的输出数据类型。有关详细信息,请参阅Use Lock Output Data Type Setting (Fixed-Point Designer)。
编程用法
要以编程方式设置模块参数值,请使用 set_param 函数。
| 参数: | LockScale |
| 值: | 'off' (默认) | 'on' |
选择要指定的数据类别。
继承 - 数据类型的继承规则。选择继承将在右侧启用另一个菜单。选择以下选项之一:
从 '常量值' 继承(默认值)
通过反向传播继承
内置 - 内置数据类型。选择内置将在右侧启用另一个菜单。选择以下选项之一:
double(默认值)
single
half
int8
uint8
int16
uint16
int32
uint32
int64
uint64
boolean
定点 - 定点数据类型。
枚举 - 枚举数据类型。选择枚举将在右侧启用另一个文本框,您可以在其中输入类名称。
总线对象 - 总线对象。选择总线对象将在右侧启用一个文本框,您可以在此处输入要用来定义总线结构的总线对象的名称。要创建或更改总线对象,点击文本框右侧的编辑。
值类型 (自 R2023b 起) - 值类型。选择值类型将在右侧启用一个文本框,您可在其中输入要用于定义输出信号属性的值类型的名称。要创建或更改值类型,请点击文本框右侧的编辑。
表达式 - 计算结果为数据类型的表达式。选择表达式将在右侧启用一个文本框,您可以在其中输入表达式。
不要将总线对象指定为表达式。
为此信号选择数据类型覆盖模式。
当您选择继承时,软件从信号的上下文(即:从使用该信号的模块、
Simulink.Signal对象或 Stateflow® 图)中继承数据类型覆盖设置。当您选择 Off 时,软件忽略信号上下文的数据类型覆盖设置,并使用为信号指定的定点数据类型。
有关详细信息,请参阅使用数据类型助手指定数据类型。
依赖关系
要启用此参数,请点击显示数据类型助手按钮,并将模式设置为内置或定点。
提示
由于能够关闭单个数据类型的数据类型覆盖,您可以在应用数据类型覆盖时更好地控制模型中的数据类型。例如,您可以使用此选项确保数据类型满足下游模块的要求,而忽略数据类型覆盖设置。
指定定点数据是有符号还是无符号。有符号数据可以表示正值和负值,无符号数据只表示正值。
有符号,将定点数据指定为有符号数据。
无符号,将定点数据指定为无符号数据。
有关详细信息,请参阅使用数据类型助手指定数据类型。
依赖关系
要启用此参数,请将模式设置为定点。
指定定点数据的定标方法,以避免发生溢出情况并最大限度地减少量化误差。有关详细信息,请参阅Specify Fixed-Point Data Types with the Data Type Assistant (Fixed-Point Designer)。
依赖关系
要启用此参数,请将模式设置为定点。
指定存储量化整数的字的位大小。有关详细信息,请参阅Specify Fixed-Point Data Types with the Data Type Assistant (Fixed-Point Designer)。
依赖关系
要启用此参数,请将模式设置为定点。
将定点数据类型的小数长度指定为正整数或负整数。有关详细信息,请参阅Specify Fixed-Point Data Types with the Data Type Assistant (Fixed-Point Designer)。
依赖关系
要启用此参数,请将定标设置为二进制小数点。
指定定点数据类型的斜率。有关详细信息,请参阅Specify Fixed-Point Data Types with the Data Type Assistant (Fixed-Point Designer)。
依赖关系
要启用此参数,请将定标设置为斜率和偏置。
将定点数据类型的偏置指定为任意实数。有关详细信息,请参阅Specify Fixed-Point Data Types with the Data Type Assistant (Fixed-Point Designer)。
依赖关系
要启用此参数,请将定标设置为斜率和偏置。
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|
替代配置
Inf 模块将常量值设置为 inf。有关详细信息,请参阅 Inf。
库:
Simulink /
Quick Insert /
Sources
NaN 模块将常量值设置为 NaN。有关详细信息,请参阅 NaN。
库:
Simulink /
Quick Insert /
Sources
Negative Inf 模块将常量值设置为 -inf。有关详细信息,请参阅 Inf。
库:
Simulink /
Quick Insert /
Sources
One 模块与 Constant 模块只有名称不同。
库:
Simulink /
Quick Insert /
Sources
Pi 模块将常量值设置为 pi。有关详细信息,请参阅 pi。
库:
Simulink /
Quick Insert /
Sources
Zero 模块将常量值设置为 0。
库:
Simulink /
Quick Insert /
Sources
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
HDL Coder™ 提供影响 HDL 实现和综合逻辑的额外配置选项。
您可以在 Constant 模块中使用可调参数,用于 HDL 代码生成。有关详细信息,请参阅Generate DUT Ports for Tunable Parameters (HDL Coder)。
| 架构 | 参数 | 描述 |
|---|---|---|
常量(默认值) | 无 | 此实现生成 Constant 模块的值。 |
| 逻辑值 | 无 | 默认情况下,此实现为信号中的每个位生成字符 'Z'。例如,对于一个 4 位信号,此实现将生成 'ZZZZ'。 |
{'Value', 'Z'} | 如果信号处于高阻抗状态,请使用此参数值。此实现为信号中的每个位生成字符 'Z'。例如,对于一个 4 位信号,此实现将生成 'ZZZZ'。 | |
{'Value', 'X'} | 如果信号处于未知状态,请使用此参数值。此实现为信号中的每个位生成字符 'X'。例如,对于一个 4 位信号,此实现将生成 'XXXX'。 |
| 通用 | |
|---|---|
| ConstrainedOutputPipeline | 通过移动设计中现有延迟的方式来放置在输出端的寄存器的数量。分布式流水线不会重新分发这些寄存器。默认值为 |
| InputPipeline | 要在生成的代码中插入的输入流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
| OutputPipeline | 要在生成的代码中插入的输出流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
| SynthesisAttributes | 指定模型中模块和模块输出信号的综合属性。生成的 HDL 代码包含这些属性。有关详细信息,请参阅SynthesisAttributes (HDL Coder)。 |
此模块支持复信号的代码生成。
逻辑值实现不支持
double数据类型。如果为double类型的常量值指定此实现,则会出现代码生成错误。当无限采样时间传播到在测设备 (DUT) 输出时,延迟平衡不支持采样时间设置为
inf的 Constant 模块。如果在 HDL 代码生成期间存在无限采样率误差,则将采样时间设置为 -1。
Simulink.ValueType 对象支持此模块支持 Simulink.ValueType 对象的生成代码。有关值类型的详细信息,请参阅Specify Common Set of Signal Properties as Value Type。
PLC 代码生成
使用 Simulink® PLC Coder™ 生成结构化文本代码。
定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。
版本历史记录
在 R2006a 之前推出使用 SynthesisAttributes HDL 模块属性指定模块及其输出信号的综合属性。HDL Coder 在生成的 HDL 代码中包含这些属性。
输出数据类型参数支持具有固定维度的 Simulink.ValueType 对象。
当您将某个值类型指定为 Constant 模块的数据类型时,该值类型将覆盖由模块和常量值的数据类型指定的最小值和最大值。值类型验证常量值的维度、复/实性和单位。当这些属性不匹配时,软件会发出警告或错误。
例如,假设一个 Constant 模块:
将常量值设置为单位为
ft/s的Simulink.Parameter对象将输出数据类型设置为单位为
m/s的Simulink.ValueType对象
在模型编译期间,软件会发出警告,指出单位不匹配。Constant 模块使用 ft/s 作为单位。
再如,假设一个 Constant 模块:
常量值设置为
[2 3]将输出数据类型设置为维度为
1的Simulink.ValueType对象
在模型编译期间,软件会引发错误,指出维度不匹配。复/实性不匹配也会导致错误。
Constant 模块不使用值类型的描述。
有关值类型的详细信息,请参阅Specify Common Set of Signal Properties as Value Type。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)




