Differenze tra una funzione e un blocco funzione

Funzione

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

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: