Camino:  Equipo (Dispositivos) > SCA06 > Ladder > Data Transfer >

MUX2

Multiplexor

Previous pageReturn to chapter overviewNext page

Bloque que crea una nueva variable DWORD a partir de la concatenación de 32 variables BOOL.

 

Representación Ladder

 

MUX2_block

 

Estructura del Bloque

 

Tipo de Variable

Nombre

Tipo de Dato

Descripción

VAR_INPUT

EN

BOOL

Habilitación del bloque

Bit0 – Bit31

BOOL

Bit de la posición correspondiente en la nueva palabra

VAR_OUTPUT

ENO

BOOL

Fin de operación

DWord

DWORD UDINT DINT

Nueva palabra formada a partir de los bits de entrada

 

Operación

 

Este bloque, cuando tiene un valor TRUE en EN, concatena los valores booleanos de las variables de entrada y almacena este valor en la variable DWord. El Bit0 corresponde al LSB (bit menos significativo) y Bit31 corresponde al MSB (bit más significativo).

 

Cuando EN tiene valor FALSE, Word permanece inalterado.

 

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

 

Diagrama de Flujo del Bloque

 

MUX2_flowchart

 

Ejemplo en Ladder

 

MUX2_example01

 

El ejemplo de arriba concatena los valores booleanos de los bits de entrada del bloque, formando la palabra de salida almacenada en MYDWORD. El bloque finaliza exitosamente y la salida ENO es activada.

 

Ejemplo en ST

 

 El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.

 

 

VAR

   ARRAY_BOOL : ARRAY[0..31] OF BOOL := [

      0, 1, 1, 0, 1, 0, 0, 0,

       0, 0, 0, 1, 1, 0, 1, 0,

       0, 0, 1, 0, 1, 0, 1, 1,

       0, 1, 1, 0, 1, 0, 1, 0];

  MYDWORD : DWORD;

END_VAR

 

MYDWORD := FB_MUX2(

   EN:=DI1,

   Bit0:=ARRAY_BOOL[0],

   Bit1:=ARRAY_BOOL[1],

   Bit2:=ARRAY_BOOL[2],

   Bit3:=ARRAY_BOOL[3],

   Bit4:=ARRAY_BOOL[4],

   Bit5:=ARRAY_BOOL[5],

   Bit6:=ARRAY_BOOL[6],

   Bit7:=ARRAY_BOOL[7],

   Bit8:=ARRAY_BOOL[8],

   Bit9:=ARRAY_BOOL[9],

   Bit10:=ARRAY_BOOL[10],

   Bit11:=ARRAY_BOOL[11],

   Bit12:=ARRAY_BOOL[12],

   Bit13:=ARRAY_BOOL[13],

   Bit14:=ARRAY_BOOL[14],

   Bit15:=ARRAY_BOOL[15],

   Bit16:=ARRAY_BOOL[16],

   Bit17:=ARRAY_BOOL[17],

   Bit18:=ARRAY_BOOL[18],

   Bit19:=ARRAY_BOOL[19],

   Bit20:=ARRAY_BOOL[20],

   Bit21:=ARRAY_BOOL[21],

   Bit22:=ARRAY_BOOL[22],

   Bit23:=ARRAY_BOOL[23],

   Bit24:=ARRAY_BOOL[24],

   Bit25:=ARRAY_BOOL[25],

   Bit26:=ARRAY_BOOL[26],

   Bit27:=ARRAY_BOOL[27],

   Bit28:=ARRAY_BOOL[28],

   Bit29:=ARRAY_BOOL[29],

   Bit30:=ARRAY_BOOL[30],

   Bit31:=ARRAY_BOOL[31],

   ENO=>DO1);