SA0038: Çıktı değişkenine okuma erişimiPermalink

POU içinde okuma izniyle erişilen çıktı değişkenlerini (VAR_OUTPUT) tespit eder

Gerekçe: IEC 61131-3 standardına göre, bir POU içindeki bir çıkışın okunması yasaktır. Bu, çıktının yalnızca bir çıktı olarak değil, aynı zamanda ara sonuçlar için geçici bir değişken olarak da kullanıldığının bir göstergesidir. Bu tür ikili kullanımlardan kaçınılmalıdır.

Önemliymiş: Düşük

Örnek

VAR_GLOBAL
	g_xGlob AT %QX0.0 : BOOL ; 
	g_iGlob AT %QW1 : INT ; 		
END_VAR

PROGRAM PLC_PRG
VAR_OUTPUT
	xVarOut1:BOOL;
	xVarOut2:INT;
	xVarOut3:INT;
END_VAR
VAR
	iCondition : INT;
END_VAR

iCondition := iCondition + INT#1;
CASE iCondition OF
	INT#1:
		xVarOut1 := g_xGlob;
		xVarOut2 := g_iGlob;
	INT#2:
		xVarOut3 := xVarOut2;  // SA0038
	ELSE     
		xVarOut1 := FALSE;	
		g_xGlob := xVarOut1;	 // SA0038
		xVarOut2 := INT#0;
		xVarOut3 := INT#-1;
END_CASE

--> SA0038: Read access to output variable 'xVarOUT2'
--> SA0038: Read access to output variable 'xVarOUT1'