Bloque que realiza una subrutina programada por el propio usuario.
Representación Ladder

Estructura del Bloque
Tipo de Variable |
Nombre |
Tipo de Dato |
Descripción |
VAR_INPUT |
EN |
BOOL |
Habilitación del bloque |
INPUT |
Conforme programação do usuário |
Entradas del bloque |
|
VAR_OUTPUT |
ENO |
BOOL |
Fin de operación |
OUTPUT |
Conforme programação do usuário |
Salidas del bloque |
|
VAR_IN_OUT |
IN_OUT |
Conforme programação do usuário |
Variables de entrada y salida del bloque |
VAR |
MYUSERFB_INST_0 |
MYUSERFB |
Instancia de acceso a la estructura del bloque |
Operación
Este bloque, cuando tiene un valor TRUE en EN, actualiza los valores de los campos internos con las variables de entrada, ejecuta la rutina Ladder programada por el usuario y actualiza los valores de las salidas luego de finalizada la rutina.
Cuando EN tiene valor FALSE, las salidas permanecen inalteradas.
El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.
|
¡NOTA! Para más informaciones consulte la sección Trabajando con USERFBs. |
Compatibilidad
Equipo |
Versión |
PLC300 |
1.50 o superior |
SCA06 |
2.00 o superior |
Diagrama de Flujo del Bloque

Ejemplo en Ladder
En el siguiente ejemplo, el bloque de funciones de usuario 'MYUSERFB' se utiliza para encapsular un programa Ladder que calcula la suma de las variables de entrada VALOR1 y VALOR2, almacenando el resultado final en RESULTADO.

Ejemplo en ST
Los siguientes ejemplos muestran las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.
Ejemplo para el POU 'USERFB':
VAR VAR_IN1 : SINT := 70; VAR_IN2 : SINT := 30; VAR_OUT : SINT; MYUSERFB_INST_0 : MYUSERFB; END_VAR
MYUSERFB_INST_0( EN:=TRUE, VALUE1:=VAR_IN1, VALUE2:=VAR_IN2, RESULT=>VAR_OUT);
|
|---|
Ejemplo para el POU 'MYUSERFB':
VAR_INPUT VALUE1, VALUE2 : SINT; END_VAR VAR
END_VAR VAR_OUTPUT RESULT : SINT; END_VAR
RESULT := FB_ADD(Value1:=VALUE1, Value2:=VALUE2);
|
|---|