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_VARPROGRAM 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_CASEUscita in Messaggi vista:
SA0037: Accesso in scrittura alla variabile di ingresso 'xVarIn1'