Differenze tra una funzione e un blocco funzione

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)

Blocco funzione

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:

G-SE-0004468.1.gif-high.gif