主要内容

Signal Specification

R2026b

指定信号所需的维度、采样时间、数据类型、数值类型和其他属性

  • Signal Specification block

库:
Simulink / Signal Attributes
HDL Coder / Signal Attributes

描述

Signal Specification 模块允许您指定连接到其输入和输出端口上的信号的属性。如果指定的属性与其端口上连接的模块所指定的属性冲突,软件将在编译模型时显示错误消息。例如,在仿真开始时,如果不存在冲突,该软件将从已编译的模型中消除 Signal Specification 模块。换句话说,Signal Specification 模块是虚拟模块。它的存在只是为了指定信号的属性,在模型的仿真中不起任何作用。

您可以使用 Signal Specification 模块确保信号的实际属性满足所需的属性要求。例如,假设您和一位同事负责设计同一个模型的不同部分。您可以使用 Signal Specification 模块将您负责的那部分模型与您同事负责的那部分连接起来。如果您的同事更改了某个信号的属性而没有通知您,则输入对应 Signal Specification 模块的属性将不匹配。当您尝试对模型进行仿真时,您会看到错误消息。

您还可以使用 Signal Specification 模块确保信号属性在整个模型中的正确传播。但是,如果有些模块收到或输出的信号具有未指定的属性,模型将没有足够的信息进行正确的属性传播。在这些情况下,Signal Specification 模块可以提供软件需要的信息。使用 Signal Specification 模块,还可以在模块缺少信号属性时帮助您提高模型的编译速度。

Signal Specification 模块支持信号标签传播。有关详细信息,请参阅信号标签传播。

示例

端口

输入

全部展开

要检查其属性的输入信号,指定为标量、向量、矩阵或 N 维数组。模块根据您在模块对话框中指定的属性检查输入信号的属性。如果属性不匹配,则模块会生成错误。

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

输出

全部展开

当信号的所有属性与对话框中指定的属性都匹配时,输出信号就是输入信号。如果属性不匹配,则模块会生成错误。

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

参数

全部展开

将模块输出的最小值指定为有限双精度实数标量值。

软件使用此值执行:

依赖关系

当数据类型指定 Simulink.ValueType 或 Simulink.Bus 对象时,软件会忽略此参数的值。软件改用 Simulink.ValueType 对象或 Simulink.Bus 对象中的 Simulink.BusElement 对象指定的最小值。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: OutMin
值: '[]' (默认) | scalar
数据类型: char | string

示例: set_param("myModel/Signal Specification",OutMin="5")

将模块输出的最大值指定为有限双精度实数标量值。

软件使用此值执行:

依赖关系

当数据类型指定 Simulink.ValueType 或 Simulink.Bus 对象时,软件会忽略此参数的值。软件改用 Simulink.ValueType 对象或 Simulink.Bus 对象中的 Simulink.BusElement 对象指定的最大值。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: OutMax
值: '[]' (默认) | scalar
数据类型: char | string

示例: set_param("myModel/Signal Specification",OutMax="100")

指定所需的输出数据类型。如果输入信号的数据类型与您指定的值不匹配,则模块会生成错误或警告。

数据类型助手可帮助您设置数据属性。要使用数据类型助手,请点击 the Show data type assistant button。有关详细信息,请参阅使用数据类型助手指定数据类型。

您可以指定以下任一选项:

  • 继承的数据类型

  • 内置 Simulink® 数据类型 - 例如,指定 single 或 uint8。请参阅 Simulink 支持的数据类型。

  • 定点数据类型 - 使用 fixdt 函数。例如,指定 fixdt(1,16,0)。

  • 枚举数据类型 - 使用以 Enum: 开头的类型名称。例如,指定 Enum: myEnumType。

  • 总线数据类型 - 使用以 Bus: 开头的 Simulink.Bus 对象的名称。例如,指定 Bus: myBusObject。

  • Simulink 图像数据类型 - 如果您有 Computer Vision Toolbox™,请使用 Simulink.ImageType (Computer Vision Toolbox) 对象的构造函数,并指定描述图像的属性。默认情况下,数据类型使用 Simulink.ImageType(480,640,3) 表达式,分别表示图像的行、列和通道。

  • 值类型 - 使用以 ValueType: 开头的 Simulink.ValueType 对象的名称。例如,指定 ValueType: windVelocity。

  • 自定义数据类型 - 使用指定类型的 MATLAB® 表达式。例如,您可以指定一个 Simulink.NumericType 对象,其 DataTypeMode 属性设置为 'Fixed-point: unspecified scaling' 以外的值。

当您指定 Simulink.ValueType 或 Simulink.Bus 对象作为数据类型时,会忽略 Signal Specification 模块的一些参数。例如,忽略 Signal Specification 模块的 Min、Max 和 Unit 参数。软件改用 Simulink.ValueType 对象或 Simulink.Bus 对象中 Simulink.BusElement 对象的对应属性。例如,假设一个模块将单位设置为 ft/s。当该模块的数据类型指定以 m/s 为单位的 ValueType 对象时,该模块会使用 m/s 而不是 ft/s 作为单位。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: OutDataTypeStr
值: 'Inherit: auto' (默认) | "double" | "single" | "half" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32" | "int64" | "uint64" | "boolean" | "fixdt(1,16,0)" | "fixdt(1,16,2^0,0)" | "string" | "Enum: <class name>" | "Bus: <object name>" | "ValueType: <object name>" | <data type expression> | Simulink.ImageType(480,640,3)
数据类型: char | string

示例: set_param("myModel/Signal Specification",OutDataTypeStr="double")

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

依赖关系

当数据类型指定 Simulink.ValueType 对象时,软件会忽略此参数的值。

编程用法

模块参数:LockScale
值:'off' | 'on'
默认值:'off'

如果您指定总线对象作为数据类型,请使用此参数指定是否只接受非虚拟总线信号。

  • off - 指定信号必须来自虚拟总线。

  • on - 指定信号必须来自非虚拟总线。

依赖关系

要启用此参数,数据类型模块参数必须解析为 Simulink.Bus 对象。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: BusOutputAsStruct
值: 'off' (默认) | "on"
数据类型: char | string

示例: set_param("myModel/Signal Specification",BusOutputAsStruct="on")

指定模块的输入信号的物理单位。要指定单位,请在文本框中键入需要的值。随着您的键入,参数将显示可能匹配的单位。有关支持的单位列表,请使用 showunitslist 函数。

要约束单位制,请点击参数右侧的链接:

  • 如果组件中存在 Unit System Configuration 模块,将打开其对话框。使用该对话框为组件指定允许和不允许使用的单位制。

  • 如果组件中不存在 Unit System Configuration 模块,将显示模型的“配置参数”对话框。使用该对话框为模型指定允许和不允许使用的单位制。

依赖关系

当数据类型指定 Simulink.ValueType 或 Simulink.Bus 对象时,软件会忽略此参数的值。软件改用 Simulink.ValueType 对象或 Simulink.Bus 对象中的 Simulink.BusElement 对象指定的单位。

编程用法

模块参数:Unit
类型:字符向量
值:'inherit' | '<Enter unit>'
默认值:'inherit'

要指定模块的输入信号的物理单位而不传播,请使用 UnitNoProp。

指定输入和输出信号的维度。

  • -1 - 指定信号继承维度。

  • n - 指定宽度为 n 的向量。

  • [m n] - 指定具有 m 行 n 列的矩阵。

依赖关系

当数据类型指定 Simulink.ValueType 对象时,软件会忽略此参数的值。软件改用 Simulink.ValueType 对象指定的维度。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: Dimensions
值: '-1' (默认) | n | [m n]
数据类型: char | string

示例: set_param("myModel/Signal Specification",Dimensions="[2 3]")

将信号指定为可变大小、固定大小或两者皆可。

  • inherit - 允许可变大小和固定大小的信号。

  • 否 - 不允许可变大小的信号。

  • 是 - 仅允许可变大小的信号。

当信号为可变大小的信号时,维度参数指定信号的最大维度。

依赖关系

  • 当数据类型指定 Simulink.Bus 对象时,仿真只允许具有禁用的总线对象的可变大小信号。

  • 当数据类型指定 Simulink.ValueType 对象时,软件会忽略此参数的值。软件改用 Simulink.ValueType 对象指定的维度模式。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: VarSizeSig
值: 'Inherit' (默认) | "No" | "Yes"
数据类型: char | string

示例: set_param("myModel/Signal Specification",VarSizeSig="No")

指定采样时间间隔。要继承采样时间,请将此参数设置为 -1。有关详细信息,请参阅 指定采样时间。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: SampleTime
值: '-1' (默认) | scalar | vector
数据类型: char | string

示例: set_param("myModel/Signal Specification",SampleTime="0.1")

指定输入和输出信号的复/实性。

  • 自动 - 接受实部或复为数值类型。

  • 实部 - 指定数值类型为实数。

  • 复 - 指定数值类型为复数。

依赖关系

当数据类型指定 Simulink.ValueType 或 Simulink.Bus 对象时,软件会忽略此参数的值。软件改用 Simulink.ValueType 对象或 Simulink.Bus 对象中的 Simulink.BusElement 对象指定的复/实性。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: SignalType
值: 'auto' (默认) | "real" | "complex"
数据类型: char | string

示例: set_param("myModel/Signal Specification",SignalType="real")

选择要指定的数据类别。有关详细信息,请参阅使用数据类型助手指定数据类型。

继承

数据类型的继承规则。选择继承会启用 auto。

内置

内置的数据类型。选择 Built in 将启用一个可能值的列表:

  • double(默认值)

  • single

  • int8

  • uint8

  • int16

  • uint16

  • int32

  • uint32

  • int64

  • uint64

  • boolean

定点

定点数据类型。

枚举

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

总线对象

总线对象。选择总线对象将在右侧启用一个文本框,您可以在此处输入要用来定义总线结构的总线对象的名称。要创建或更改总线对象,点击文本框右侧的编辑。

值类型

值类型。选择值类型将在右侧启用一个文本框,您可在其中输入要用于定义信号属性的值类型的名称。要创建或更改值类型,请点击文本框右侧的编辑。

表达式

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

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

依赖关系

要启用此参数,请点击显示数据类型助手按钮 。

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

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

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

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

依赖关系

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

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

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

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

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

依赖关系

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

提示

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

指定存储量化整数的字的位大小。有关详细信息,请参阅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)。

依赖关系

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

模块特性

数据类型

Boolean | bus | datetime | double | enumerated | fixed point | half | image | integer | single | string

直接馈通

否

多维信号

是

可变大小信号

是

过零检测

否

扩展功能

全部展开

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

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

版本历史记录

在 R2006a 之前推出

全部展开