Información general sobre la gestión de bloques de funciones

Gestión de variables de entrada

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.

Gestión de variables de salida

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.

Tratamiento de errores

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.