Main Content

Mux

Combinar señales de entrada del mismo tipo de datos y complejidad en un vector virtual

  • Mux block

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

Descripción

El bloque Mux combina entradas con el mismo tipo de datos y complejidad en un vector virtual. Puede usar varios bloques Mux para crear una señal mux en etapas, pero el resultado es plano, como si usara un bloque único Mux.

Lo ideal es usar bloques Mux para agrupar únicamente señales de llamada a función.

Mientras que un bloque Mux puede crear un vector virtual a partir de señales que tienen el mismo tipo de datos y complejidad, otros bloques agrupan señales de forma que proporcionan más flexibilidad y eficiencia.

  • Para agrupar señales o mensajes, use un bloque Bus Creator en lugar de un bloque Mux. El bloque Bus Creator crea buses virtuales, que ofrecen la flexibilidad para agrupar elementos de diferentes tipos de datos y complejidad. Los buses virtuales también permiten acceder a elementos por su nombre en lugar de por el índice. Si un bloque requiere un vector virtual en lugar de un bus virtual, la compilación de modelo convierte el bus en un vector.

  • Para concatenar señales de entrada, use un bloque Vector Concatenate en lugar de un bloque Mux. El bloque Vector Concatenate crea un vector no virtual, que mejora la eficiencia del código generado.

Para ver una comparación de señales mux, buses virtuales y señales concatenadas, consulte Explore Composite Interfaces.

Puertos

Entrada

expandir todo

Señal de entrada que se desea incluir en la señal mux, especificada como escalar o vector.

Las señales de entrada de un bloque Mux pueden ser cualquier combinación de escalares y vectores, pero deben tener el mismo tipo de datos y complejidad o ser señales de llamada a función.

Tipos de datos: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | image
Soporte de números complejos:

Salida

expandir todo

Señal de salida mux compuesta por la combinación de señales de entrada, devueltas como un vector.

Los elementos de la señal de salida mux toman su orden del orden de los puertos de las señales de entrada. Para ver una descripción del orden de los puertos de varias orientaciones de bloque, consulte Identify Port Location on Rotated or Flipped Block.

Tipos de datos: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | image

Parámetros

expandir todo

Número de señales de entrada, especificado como un escalar, un vector, un arreglo de celdas o una lista de nombres de señales separados por comas. Algunos de estos formatos permiten especificar los nombres de señales y los tamaños, como se describe en esta tabla.

FormatoComportamiento del bloque

Escalar

Número de entradas al bloque Mux.

Cuando usa este formato, el bloque acepta señales de escalar o de vector de cualquier tamaño. El software asigna a cada entrada el nombre signalN, donde N es el número del puerto de entrada.

Vector

La longitud del vector especifica el número de entradas. Cada elemento especifica el tamaño de la entrada correspondiente.

Un valor positivo especifica que el puerto correspondiente solo puede aceptar vectores de ese tamaño. Por ejemplo, [2 3] especifica dos puertos de entrada de tamaños 2 y 3, respectivamente. Si la anchura de una señal de entrada no se corresponde con la anchura esperada, aparece un mensaje de error. Un valor de -1 especifica que el puerto correspondiente puede aceptar escalares o vectores de cualquier tamaño.

Arreglo de celdas

La longitud del arreglo de celdas especifica el número de entradas. El valor de cada celda especifica el tamaño de la entrada correspondiente.

Un valor escalar N especifica un vector de tamaño N. Un valor de -1 significa que el puerto correspondiente puede aceptar señales de escalares o de vectores de cualquier tamaño.

Lista de nombres de señales separados por comas

Lista de nombres de señales separados por comas. El software asigna cada nombre al puerto y a la señal correspondientes. Por ejemplo, si introduce position,velocity, el bloque Mux tiene dos entradas denominadas position y velocity.

Sugerencias

Si especifica un escalar para el parámetro Number of inputs y todos los puertos de entrada están conectados, cuando representa una nueva línea de conexión cerca del lado de la entrada de un bloque Mux, el software añade un puerto y actualiza el parámetro.

Uso programático

Para establecer el valor del parámetro de bloque de forma programática, use la función set_param.

Parámetro: Inputs
Valores: '2' (predeterminado) | scalar in quotes | vector in quotes | cell array in quotes | comma-separated list of signal names in quotes
Tipos de datos: char | string

Ejemplo: set_param(gcb,'Inputs','5')

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

Ejemplo: set_param(gcb,'Inputs','{3}')

Ejemplo: set_param(gcb,'Inputs','position,velocity')

Aspecto del icono de bloque, especificado como bar, signals o none.

  • bar: no muestra texto

  • signals: muestra los nombres de las señales de entrada

  • none: muestra el tipo de bloque (Mux)

Redimensione el bloque según sea necesario para que el texto encaje en el icono de bloque.

Uso programático

Para establecer el valor del parámetro de bloque de forma programática, use la función set_param.

Parámetro: DisplayOption
Valores: 'bar' (predeterminado) | 'signals' | 'none'

Ejemplo: set_param(gcb,'DisplayOption','signals')

Características del bloque

Tipos de datos

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

Paso directo

Señales multidimensionales

no

Señales de tamaño variable

no

Detección de cruce por cero

no

Capacidades ampliadas

Generación de código PLC
Genere código de texto estructurado mediante Simulink® PLC Coder™.

Historial de versiones

Introducido antes de R2006a