Bloque que replica para la salida el valor de una de las variables de entrada (Value0 o Value1) de acuerdo con la selección de Selector.
Representación Ladder

Estructura del Bloque
Tipo de Variable |
Nombre |
Tipo de Dato |
Descripción |
VAR_INPUT |
EN |
BOOL |
Habilitación del bloque |
Selector |
BOOL |
Variable que selecciona la entrada |
|
Value0 |
BYTE USINT SINT WORD UINT INT DWORD UDINT DINT REAL STRING |
Entrada multiplexada número 1 |
|
Value1 |
BYTE USINT SINT WORD UINT INT DWORD UDINT DINT REAL STRING |
Entrada multiplexada número 2 |
|
VAR_OUTPUT |
ENO |
BOOL |
Fin de operación |
Result |
BYTE USINT SINT WORD UINT INT DWORD UDINT DINT REAL STRING |
Valor de salida seleccionado |
Operación
Este bloque, cuando tiene un valor TRUE en EN, replica para la variable Result el valor de Value0 en caso de que Selector sea FALSE, o que el valor de Value1, en Selector, sea TRUE.
Cuando EN tiene valor FALSE, Result 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 utiliza la variable SELECTOR como selector del canal de multiplexación. Cuando ésta se encuentra en nivel FALSE, la salida RESULT recibe el valor de VALUE0. El bloque finaliza exitosamente y la salida ENO es activada.

El ejemplo de arriba utiliza la variable SELECTOR como selector del canal de multiplexación. Cuando ésta se encuentra en nivel FALSE, la salida RESULT recibe el valor de VALUE0. El bloque finaliza exitosamente y la salida ENO es activada. Observe que el estándar binario fue mantenido, a pesar de que la representación decimal esté corrompida, dado que DWORD no acepta valores negativos.

El ejemplo de arriba utiliza la variable SELECTOR como selector del canal de multiplexación. Cuando ésta se encuentre en nivel TRUE, la salida RESULT recibirá el valor de VALUE1. El bloque finalizará exitosamente y la salida ENO será activada. Observe que el estándar binario fue mantenido, a pesar de que la representación decimal esté corrompida, dado que DWORD no acepta valores negativos.
Ejemplo en ST
El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.
VAR SELECTOR : BOOL := FALSE; VALUE0 : SINT := -52; VALUE1 : INT := -985; RESULT : INT; END_VAR
RESULT := FB_SEL( EN:=DI1, Selector:=SELECTOR, Value0:=VALUE0, Value1:=VALUE1, ENO=>DO1);
|
|---|