Main Content

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

Signal Conversion

将信号转换为新类型,而不改变信号值

  • 库:
  • Simulink / Signal Attributes

    HDL Coder / Signal Attributes

  • Signal Conversion block

说明

Signal Conversion 模块可将信号从一种类型转换为另一种类型。要选择要执行的转换类型,请使用 Output 参数或下列预配置的 Signal Conversion 模块之一:

  • Signal Copy 模块

  • To Virtual Bus 模块

  • To Nonvirtual Bus 模块

端口

输入

全部展开

要转换的输入信号,指定为标量、向量、矩阵或 N 维数组。

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

输出

全部展开

输出信号是转换为指定类型的输入信号。

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

参数

全部展开

指定要执行的转换类型。您使用的转换类型取决于您的建模目的。

建模目的输出选项

减少为多路信号生成的代码。

有关涉及 Simulink® Coder™ 软件的示例,请参阅Generate Reentrant Code from Subsystems (Simulink Coder)

Signal copy

将具有固定采样时间的模块连接到使能子系统的输出端口。

Signal copy

将非虚拟总线转换为虚拟总线,以便节约内存。

Virtual bus

将虚拟总线传递给需要非虚拟总线的建模结构,如 Model 模块。

Nonvirtual bus

  • Signal copy” 选项是默认选项。Signal Conversion 模块使用 “Signal copy” 选项执行的转换类型取决于输入信号的类型。

    输入信号的类型Signal Copy 选项执行的转换
    多路(非总线)信号

    将多路信号(元素占据内存中的不连续区域)转换为向量信号(元素占据内存中的连续区域)。在每个时间步中,转换将为多路信号的元素分配连续的内存区域,并将不连续区域的值(由模块的输入端口表示)复制到连续区域(由模块的输出端口表示)。

    总线

    输出作为 Signal Conversion 模块输入的总线的连续副本。

    对于总线输入信号数组,请使用 “Signal copy” 选项。

  • Virtual bus” 选项可将非虚拟总线转换为虚拟总线。

  • Nonvirtual bus” 选项可将虚拟总线转换为非虚拟总线。

编程用法

模块参数ConversionOutput
类型:字符向量
值:'Signal copy' | 'Virtual bus' | 'Nonvirtual bus'
默认值:'Signal copy'

指定 Signal Conversion 模块生成的非虚拟总线的输出数据类型。

仅当您将 Output 参数设置为 “Nonvirtual bus” 时,此选项才可用。

默认选项是 “Inherit: auto”,它采用继承数据类型的规则。

Data type 参数中为下面一个或两个模块指定 Simulink.Bus 对象:

如果您为 Signal Conversion 模块指定了总线对象,但没有为其上游 Bus Creator 模块指定总线对象,请使用与上游 Bus Creator 模块输出的总线的层次结构相匹配的总线对象。

如果您为 Signal Conversion 模块及其上游 Bus Creator 模块都指定了总线对象,请为这两个模块使用相同的总线对象。

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

依存关系

要启用此参数,请将 Output 设置为 “Nonvirtual bus”。

编程用法

模块参数:OutDataTypeStr
类型:字符向量
值:'Inherit: auto' | 'Bus: <object name>' | '<data type expression>'
默认值:'Inherit: auto'

仅当您将 Output 参数设置为 “Signal copy” 时,此选项才可用。如果输入信号的元素占用连续的内存区域,则作为一种优化,Simulink 软件将从已编译的模型中消除该模块。如果您选中了 Exclude this block from 'Block reduction' optimization 复选框,将在您下次编译模型时执行优化。有关详细信息,请参阅Block reduction

编程用法

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

模块特性

数据类型

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

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

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

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

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

在 R2006a 之前推出