Las variables se utilizan con el flanco ascendente de la entrada Execute
. Para modificar una variable, es necesario cambiar las variables de entrada y activar de nuevo el bloque de funciones.
Los bloques de funciones gestionados por una entrada Enable
se ejecutan cuando esta entrada es TRUE. Los valores de las entradas de los bloques de funciones pueden ser modificados continuamente y las salidas se actualizan también continuamente. Cuando la entrada Enable
es FALSE, la ejecución del bloque de funciones finaliza y se restablecen las salidas.
Según IEC 61131-3, si falta una variable de una entrada del bloque de funciones (= abierta), se utilizará el valor de la invocación anterior de esta instancia. En la primera invocación, se aplica el valor inicial.
Las salidas Done
, Error
, Busy
y CommandAborted
son mutuamente exclusivas, es decir, solo una de ellas puede ser TRUE en un bloque de funciones. Cuando la entrada Execute
es TRUE, una de estas salidas es TRUE.
En el flanco ascendente de la entrada Execute
, se configura la salida Busy
. Sigue establecida durante la ejecución del bloque de funciones y se restablece en el flanco ascendente de una de las otras salidas (Done
, Error
).
La salida Done
se establece cuando se completa correctamente la ejecución del bloque de funciones.
Si se detecta un error, el bloque de funciones finaliza estableciendo la salida Error
, y el código de error está contenido dentro de la salida ErrId
.
Las salidas Done
, Error
, ErrID
y CommandAborted
se establecen o restablecen con el flanco descendente de la entrada Execute
.
Se restablecen si la ejecución del bloque de funciones ha finalizado.
Se establecen para al menos un ciclo de tarea si la ejecución del bloque de funciones no ha finalizado.
Cuando una instancia de un bloque de funciones recibe una nueva entrada Execute
antes de finalizar (como una serie de comandos en la misma instancia), el bloque de funciones no devuelve información, como Done
, para la acción anterior.
Todos los bloques tienen dos salidas que pueden notificar la detección de un error durante la ejecución del bloque de funciones:
Error
= El flanco ascendente de este bit informa de que se ha detectado un error.
ErrID
= El código del error detectado.
Cuando se produce un Error
, se restablecen las demás señales de salida, como Done
.