Una función:
es una POU (Unidad de organización de programa) que devuelve un resultado inmediato.
Se le llama directamente por su nombre (y no a través de una instancia).
No tiene instancias creadas.
Se puede utilizar como un operando en otras expresiones.
Ejemplos: operadores booleanos (AND
), cálculos, conversión (BYTE_TO_INT
)
Un bloque de funciones:
Es una POU (Unidad de organización de programa) que devuelve una o más salidas.
Debe ser convocado por una instancia (copia del bloque de funciones con un nombre y variables específicos).
Todas las instancias tienen un estado persistente (salidas y variables internas) de una llamada a otra desde un bloque de funciones o programa.
Ejemplos: temporizadores, contadores
En el ejemplo, Timer_ON
es una instancia del bloque de funciones TON
: