En FBD, LD, y en IL se pueden utilizar las funciones y bloques de función EN/ENO, para condicionar la ejecución de código. EN se utiliza como condición de entrada habilitada y ENO para salida habilitada.
En el editor ST no existen funciones ni bloques de función EN/ENO. En su lugar utilizar una sentencia IF o CASE, para controlar la ejecución de la función o del bloque de función.Todas las funciones y bloques de función IEC están disponibles con y sin EN/ENO.
A una entrada EN se puede conectar una variable de entrada Booleana o el resultado Booleano de una expresión lógica.
Si la entrada EN está a TRUE
Se procesa la función o el bloque de función. Si la ejecución se ha realizado sin errores, la correspondiente salida ENO pasa a TRUE. Si la entrada EN de la siguiente función o bloque de función está conectada a la salida ENO, solo se ejecutará si la salida ENO está a TRUE.
Si la entrada EN está a FALSE
La función o el bloque de función no se procesa, el resultado de la función no se modifica y la variable conectada mantiene su valor.
Lenguaje de programación |
EN = FALSE Þ ENO = FALSE |
EN = TRUE Þ ENO = TRUE |
LD |
![]() |
![]() |
FBD |
![]() |
![]() |
IL |
![]() |
![]() |
Las funciones y bloques de función de usuario se pueden crear con o sin EN/ENO. Están disponibles las siguientes opciones:
seleccionar Con EN/ENO cuando se crea una nueva POU ( )
seleccionar Con EN/ENO en ...
seleccionar [Con EN/ENO] cuando se inserta una instrucción
Valor de la salida ENO
Si no se especifica explícitamente la salida ENO dentro del cuerpo de una función o bloque de función de usuario, tomará el mismo valor que la entrada EN.
Si la salida ENO se pone a FALSE dentro del cuerpo de una función o bloque de función de usuario, los valores de las variables de salida no se transmitirán a las salidas.
Establecer EN a TRUE antes de procesar la POU. Una vez que se ha procesado correctamente la POU, la salida correspondiente ENO pasa a TRUE. Si ENO no pasa a TRUE, puede que se haya producido un error durante la ejecución.