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

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

Ejemplo en Ladder

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);
|
|---|