Differenze tra una funzione e un blocco funzione
Una funzione:
oè una POU (Program Organization Unit) che restituisce un risultato immediato
oviene richiamata direttamente con il proprio nome (e non tramite un'istanza)
onon ha uno stato persistente da una chiamata all'altra
opuò essere utilizzata come operando in altre espressioni.
Esempi: operatori booleani (AND), calcoli, conversione (BYTE_TO_INT)
Un blocco funzione:
oè una POU (Program Organization Unit) che restituisce uno o più risultati
odeve essere richiamato da un'istanza (copia del blocco funzione con un nome e variabili dedicati)
oogni 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: