Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

Mux

将相同数据类型和复/实性的输入信号合并为虚拟向量

  • Mux block

库:
Simulink / Commonly Used Blocks
Simulink / Signal Routing
HDL Coder / Commonly Used Blocks
HDL Coder / Signal Routing

描述

Mux 模块将具有相同数据类型和复/实性的输入合并为一个虚拟向量。您可以使用多个 Mux 模块分多个阶段创建复路信号,但结果是平面结构,就像您只使用一个 Mux 模块一样。

理想情况下,使用 Mux 模块仅对函数调用信号进行分组。

Mux 模块可以基于具有相同数据类型和复/实性的信号创建一个虚拟向量,但其他模块可以更灵活、更高效地对信号进行分组。

  • 要对信号或消息进行分组,请使用 Bus Creator 模块,而不是 Mux 模块。Bus Creator 模块会创建虚拟总线,让您能够灵活地将不同数据类型和复/实性的元素进行组合。虚拟总线还允许您按名称而不是索引来访问元素。如果模块需要虚拟向量而不是虚拟总线,模型编译会将总线转换为向量。

  • 要串联输入信号,请使用 Vector Concatenate 模块,而不是 Mux 模块。Vector Concatenate 模块创建一个非虚拟向量,这可提高生成代码的效率。

有关复路信号、虚拟总线和串联信号的比较,请参阅Explore Composite Interfaces

示例

端口

输入

全部展开

要包含在复路信号中的输入信号,指定为标量或向量。

Mux 模块的输入信号可以是标量和向量的任意组合,但它们必须具有相同的数据类型和复/实性或为函数调用信号。

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

输出

全部展开

由合并的输入信号组成的输出复路信号,以向量形式返回。

输出复路信号的元素按照输入信号的端口顺序排列。有关各种模块方向的端口顺序的描述,请参阅标识旋转或翻转模块上的端口位置

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

参数

全部展开

输入信号的数量,指定为标量、向量、元胞数组或以逗号分隔的信号名称列表。其中一些格式允许您指定信号名称和大小,如下表中所述。

格式模块行为

标量

Mux 模块的输入的数目。

使用此格式时,模块接受任何大小的标量或向量信号。软件为每个输入指定名称 signalN,其中 N 表示输入端口号。

向量

向量的长度指定输入的数目。每个元素指定对应输入的大小。

正值指定对应的端口只能接受该大小的向量。例如,[2 3] 指定两个大小分别为 23 的输入端口。如果输入信号的宽度与预期的宽度不匹配,则会显示错误消息。值 -1 指定对应的端口可以接受任意大小的标量或向量。

元胞数组

元胞数组的长度指定输入的数目。每个元胞的值指定对应输入的大小。

标量值 N 指定向量大小 N。值为 -1 意味着对应的端口可以接受任意大小的标量或向量信号。

以逗号分隔的信号名称列表

以逗号分隔的信号名称列表。软件将每个名称分配给对应的端口和信号。例如,如果输入 position,velocityMux 模块将有两个输入,名称分别为 positionvelocity

提示

如果您为输入的数目参数指定了标量,而所有输入端口都已连接,则当您在靠近 Mux 模块输入端的位置绘制新的信号线时,软件会添加一个端口并更新该参数。

编程用法

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

参数: Inputs
值: '2' (默认) | scalar in quotes | vector in quotes | cell array in quotes | comma-separated list of signal names in quotes
数据类型: char | string

示例: set_param(gcb,'Inputs','5')

示例: set_param(gcb,'Inputs','[2 3]')

示例: set_param(gcb,'Inputs','{3}')

示例: set_param(gcb,'Inputs','position,velocity')

模块图标外观,指定为竖线信号

  • 竖线 - 不显示文本

  • 信号 - 显示输入信号名称

  • - 显示模块的类型 (Mux)

根据需要调整模块的大小,以适合模块图标上的文本。

编程用法

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

参数: DisplayOption
值: 'bar' (默认) | 'signals' | 'none'

示例: set_param(gcb,'DisplayOption','signals')

模块特性

数据类型

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

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

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

版本历史记录

在 R2006a 之前推出