Rileva le istanze di blocco funzione dichiarate come variabili temporanee. Ciò riguarda
le istanze dichiarate in un metodo o in una funzione o come VAR_TEMP, che quindi vengono reinizializzate in ogni ciclo di elaborazione o per ogni chiamata
POU.
Giustificazione: I blocchi funzione hanno uno stato che di solito viene mantenuto per più cicli del PLC. Un'istanza sullo stack esiste solo per la durata della chiamata di funzione. Pertanto, raramente ha senso creare un'istanza come variabile temporanea. In secondo luogo, le istanze dei blocchi funzione sono spesso di grandi dimensioni e richiedono molto spazio sullo stack (che di solito è limitato ai controllori). In terzo luogo, l'inizializzazione e spesso anche la programmazione di un blocco funzionale possono richiedere molto tempo.
Importanza: Medio
Esempi
PROGRAM PLC_PRG
VAR
END_VAR
VAR_TEMP
yafb: AFB;
END_VAR
FUNCTION Fun : INT
VAR_INPUT
END_VAR
VAR
funafb: AFB;
END_VAR
METHOD METH : INT
VAR_INPUT
END_VAR
VAR
methafb: AFB; // SA0167
END_VAR
--> SA0167: Temporary function block instance: 'methafb'