SA0167: Istanze di blocchi funzione temporanei
Il controllo rileva le istanze del blocco funzione dichiarate come variabili temporanee. Ciò influisce sulle istanze dichiarate in un metodo o in una funzione o come VAR_TEMP, e quindi vengono reinizializzati in ogni ciclo di elaborazione o per ogni chiamata POU.
Giustificazione:
I blocchi funzione hanno uno stato che viene solitamente mantenuto su più cicli del PLC. Un'istanza nello stack esiste solo per la durata della chiamata alla funzione. Pertanto, raramente ha senso creare un'istanza come variabile temporanea.
In secondo luogo, le istanze dei blocchi funzione sono spesso grandi e richiedono molto spazio nello stack (che di solito è limitato ai controller).
In terzo luogo, l'inizializzazione e spesso anche la programmazione di un blocco funzione possono richiedere molto tempo.
Importanza: Media
PROGRAM PLC_PRG
VAR
END_VAR
VAR_TEMP
yafb: AFB;
END_VARFUNCTION Fun : INT
VAR_INPUT
END_VAR
VAR
funafb: AFB;
END_VAR
METHOD METH : INT
VAR_INPUT
END_VAR
VAR
methafb: AFB; // SA0167
END_VARUscita in Messaggi vista:
SA0167: Istanza del blocco funzione temporaneo: 'methafb'