SA0037: Giriş değişkenine yazma erişimiPermalink

POU içinde yazma izniyle erişilen girdi değişkenlerini (VAR_INPUT) tespit eder

Gerekçe: IEC 61131-3 standardına göre, bir giriş değişkeni bir POU içinde değiştirilmemelidir. Bu tür bir erişim aynı zamanda hatalara neden olur ve kodun sürdürülebilirliğini zayıflatır. Bu, bir değişkenin hem girdi değişkeni hem de yardımcı değişken olarak kullanıldığının bir göstergesidir. Bu tür ikili kullanımlardan kaçınılmalıdır.

Önemliymiş: Orta

Örnek

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

--> SA0037: Write access to input variable 'xVarIn1'