Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

Signal Specification

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

  • 库:
  • Simulink / Signal Attributes

    HDL Coder / Signal Attributes

  • Signal Specification block

说明

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

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

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

Signal Specification 模块支持信号标签传播

端口

输入

全部展开

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

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

输出

全部展开

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

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

参数

全部展开

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

注意

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

Simulink 使用此值来执行:

编程用法

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

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

注意

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

Simulink 使用此值来执行:

编程用法

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

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

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

编程用法

模块参数: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)' | 'Enum: <class name>' | 'Bus: <object name>' | 'string' | <data type expression>
默认值:'Inherit: auto'

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

编程用法

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

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

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

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

Dependencies

要启用此参数,请将 Data type 设置为下列值之一:

  • Bus: <对象名称>

  • 指定总线对象的 “<数据类型表达式>

编程用法

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

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

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

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

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

编程用法

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

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

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

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

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

编程用法

模块参数:Dimensions
类型:字符向量
'-1' | n | [m n]
默认值:'-1'

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

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

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

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

Dependencies

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

如果您指定总线对象,仿真只允许可变大小信号用于已禁用的总线对象。

编程用法

模块参数VarSizeSig
类型:字符向量
'Inherit' | 'No' | 'Yes'
默认值:'Inherit'

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

编程用法

参数:SampleTime
类型:字符向量
值:任何有效的采样时间
默认值:'-1'

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

  • auto” - 接受 “real” 或 “complex” 为数值类型。

  • real” - 指定数值类型为实数。

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

编程用法

参数:SignalType
类型:字符向量
'auto' | 'real' | 'complex'
默认值:'auto'

模块特性

数据类型

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

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

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

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

在 R2006a 之前推出