Main Content

Signal Conversion

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

  • Signal Conversion block

库:
Simulink / Signal Attributes
HDL Coder / Signal Attributes

Signal Conversion 模块的替代配置:
信号副本 | To Virtual Bus | To Nonvirtual Bus

描述

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

  • Signal Copy 模块

  • To Virtual Bus 模块

  • To Nonvirtual Bus 模块

示例

全部展开

使用 Signal Conversion 模块创建总线的连续副本。

Bus Creator 模块创建输入到 Signal Conversion 模块的非虚拟总线。当输出参数设置为 Signal copy 时,Signal Conversion 模块会创建该输入总线的另一个连续副本。

使用 Signal Conversion 模块将虚拟总线转换为非虚拟总线。

Bus Creator 模块创建输入到 Signal Conversion 模块的虚拟总线。为了将虚拟总线转换为非虚拟总线,Signal Conversion 模块将其输出参数设置为 Nonvirtual bus,并将其数据类型参数设置为 Simulink.Bus 对象。指定的 Bus 对象与 Bus Creator 模块中总线的总线层次结构匹配。Signal Conversion 模块的非虚拟总线输出是 Bus Selector 模块的输入。

使用 Signal Conversion 模块将非虚拟总线转换为虚拟总线。

Bus Creator 模块创建输入到 Signal Conversion 模块的非虚拟总线。为了将非虚拟总线转换为虚拟总线,Signal Conversion 模块的输出参数设置为 Virtual bus。Signal Conversion 模块的虚拟总线输出是 Bus Selector 模块的输入。

使用 Signal Conversion 模块将复路信号转换为向量。

Mux 模块创建输入到 Signal Conversion 模块的复路信号。为了将复路信号转换为向量,Signal Conversion 模块的输出参数设置为 Signal copy。Signal Conversion 模块的向量输出是 Display 模块的输入。

端口

输入

全部展开

输入信号是标量、向量、矩阵、数组或总线,此模块可将其转换为另一种类型。

数据类型: 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® 工具条中,在仿真选项卡的准备库中,选择属性检查器

指定要执行的转换类型。

  • 信号副本 - 创建输入信号的连续副本。此值是 Signal ConversionSignal Copy 模块的默认值。

  • 虚拟总线 - 将非虚拟总线转换为虚拟总线。此值是 To Virtual Bus 模块的默认值。

  • 非虚拟总线 - 将虚拟总线转换为非虚拟总线。此值是 To Nonvirtual Bus 模块的默认值。

对于信号副本选项,输入类型决定了模块如何生成副本。

例如,假设该模块接收复路信号,该信号包含占用不连续内存区域的元素。在每个时间步中,转换将为复路信号的元素分配连续的内存区域,并将由模块的输入端口表示的不连续区域的值复制到由模块的输出端口表示的连续区域。输出是向量,其元素占据连续内存区域。

您使用的转换类型取决于您的建模目的。

建模目的选项

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

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

信号副本

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

信号副本

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

虚拟总线

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

非虚拟总线

创建总线数组的副本。

该模块无法将总线数组转换为非虚拟或虚拟总线。要从总线数组中提取一个总线,请使用 Selector 模块。

信号副本

编程用法

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

参数: ConversionOutput
值: 'Signal copy' (默认) | 'Virtual bus' | 'Nonvirtual bus'

示例: set_param(gcb,'ConversionOutput','Virtual bus')

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

  • Inherit: auto - 从上游模块继承数据类型。例如,从上游 Bus Creator 模块继承 Simulink.Bus 对象数据类型。

  • Bus: <object name><data type expression> - 指定与输入总线的层次结构匹配的 Simulink.Bus 对象。如果上游 Bus Creator 模块指定总线对象,请指定相同的总线对象。

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

依存关系

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

编程用法

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

参数: OutDataTypeStr
值: 'Inherit: auto' (默认) | 'Bus: <object name>' | '<data type expression>'

示例: set_param(gcb,'OutDataTypeStr','Bus: myBusObj')

默认情况下,当输入信号的元素占据连续内存区域时,软件会从编译的模型中消除此模块以作为优化。有关详细信息,请参阅模块简化

要防止从编译的模型中消除此模块,请选择此参数。

对此参数的更改将在下次编译模型时生效。

依存关系

要启用此参数,请将输出设置为信号副本

编程用法

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

参数: OverrideOpt
值: 'off' (默认) | 'on'

示例: set_param(gcb,'OverrideOpt','on')

模块特性

数据类型

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

直接馈通

多维信号

可变大小信号

过零检测

替代配置

全部展开

Signal Copy 模块与 Signal Conversion 模块只有名称不同。

库:
Simulink / Quick Insert / Signal Attributes

To Virtual Bus 模块将输出设置为虚拟总线

库:
Simulink / Quick Insert / Signal Attributes

To Nonvirtual Bus 模块将输出设置为非虚拟总线

库:
Simulink / Quick Insert / Signal Attributes

扩展功能

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

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

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

版本历史记录

在 R2006a 之前推出