Bloque que crea 16 nuevas variables BOOL a partir de la descomposición de una variable WORD.
Representación Ladder

Estructura del Bloque
Tipo de Variable |
Nombre |
Tipo de Dato |
Descripción |
VAR_INPUT |
EN |
BOOL |
Habilitación del bloque |
Word |
WORD UINT INT |
Variable de entrada de 16 bits |
|
VAR_OUTPUT |
ENO |
BOOL |
Fin de operación |
Bit0 – Bit15 |
BOOL |
Bit da posição correspondente de Word |
Operación
Este bloque, cuando tiene un valor TRUE en EN, descompone la variable de entrada Word en 16 valores booleanos almacenados en las variables Bit0 a Bit15. El Bit0 corresponde al LSB (bit menos significativo) y el Bit15 corresponde al MSB (bit más significativo).
Cuando EN tiene valor FALSE, las variables de salida permanecen inalteradas.
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 descompone el valor de MYWORD en valores booleanos, siendo almacenados en las variables de salida BIT0 a BIT15. 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 MYWORD : WORD := 45985; BIT0 : BOOL; BIT1 : BOOL; BIT2 : BOOL; BIT3 : BOOL; BIT4 : BOOL; BIT5 : BOOL; BIT6 : BOOL; BIT7 : BOOL; BIT8 : BOOL; BIT9 : BOOL; BIT10 : BOOL; BIT11 : BOOL; BIT12 : BOOL; BIT13 : BOOL; BIT14 : BOOL; BIT15 : BOOL; END_VAR
DO1 := FB_DEMUX( EN:=DI1, Word0:=MYWORD, Bit0=>BIT0, Bit1=>BIT1, Bit2=>BIT2, Bit3=>BIT3, Bit4=>BIT4, Bit5=>BIT5, Bit6=>BIT6, Bit7=>BIT7, Bit8=>BIT8, Bit9=>BIT9, Bit10=>BIT10, Bit11=>BIT11, Bit12=>BIT12, Bit13=>BIT13, Bit14=>BIT14, Bit15=>BIT15);
|
|---|