SA0037: Accesso in scrittura alla variabile di ingresso
Rileva le variabili di input (VAR_INPUT
) a cui si accede con autorizzazione di scrittura all'interno della POU
Motivazione: Secondo la norma IEC 61131-3 una variabile di ingresso non può essere modificata all'interno di un POU. Questo tipo di accesso è anche causa di errori e rende il codice difficilmente gestibile. Questa è un'indicazione che una variabile viene utilizzata sia come variabile di input che come variabile ausiliaria. Questo tipo di duplice uso dovrebbe essere evitato.
Importanza: Media
Esempio 47. Esempio
VAR_GLOBAL g_xGlob AT %QX0.0 : BOOL; END_VAR
PROGRAM PLC_PRG VAR_INPUT xVarIn1 : BOOL; xVarIn2 : BOOL; END_VAR VAR iCondition : INT; END_VAR
iCondition := iCondition + INT#1; CASE iCondition OF INT#1: g_xGlob := xVarIn1; INT#2: g_xGlob := xVarIn2; ELSE g_xGlob := FALSE; xVarIn1 := FALSE; // SA0037 END_CASE
Uscita in Messaggi vista:
SA0037: Accesso in scrittura alla variabile di ingresso 'xVarIn1'