Main Content

Signal Conversion

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

  • 库:
  • Simulink / Signal Attributes

    HDL Coder / Signal Attributes

  • Signal Conversion block

描述

Signal Conversion 模块可将信号从一种类型转换为另一种类型。要选择要执行的转换类型,请使用输出参数或下列预配置的 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 | image

输出

全部展开

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

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

参数

全部展开

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

建模目的输出选项

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

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

信号副本

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

信号副本

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

虚拟总线

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

非虚拟总线

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

    输入信号的类型“信号副本”选项执行的转换
    多路(非总线)信号

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

    总线

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

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

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

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

编程用法

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

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

仅当您将输出参数设置为“非虚拟总线”时,此选项才可用。

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

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

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

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

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

依存关系

要启用此参数,请将输出设置为“非虚拟总线”。

编程用法

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

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

编程用法

模块参数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 之前推出