Una funzione:
è una POU (Program Organization Unit) che restituisce un risultato immediato.
viene richiamata direttamente con il proprio nome (e non tramite un'istanza)
non è istanziata.
può essere utilizzata come operando in altre espressioni.
Esempi: operatori booleani (AND
), calcoli, conversione (BYTE_TO_INT
)
Blocco funzione
è una POU (Program Organization Unit) che restituisce una o più uscite.
deve essere chiamato da un'istanza (copia blocco funzione con variabili e nome dedicati).
ogni istanza ha uno stato persistente (risultati e variabili interne) da una chiamata all'altra eseguita da un blocco funzione o da programma.
Esempi: timer, contatori
Nell'esempio, Timer_ON
è un'istanza del blocco funzione TON
: