SA0148: Accesso insolito ai bit - rigorosoPermalink

Rileva l'accesso ai bit che non viene effettuato ai tipi di dati bitfield (‎BYTE‎, ‎WORD‎, ‎DWORD‎ e ‎LWORD‎). Lo standard IEC 61131-3 consente solo l'accesso ai tipi di dati bitfield. Tuttavia, il compilatore CODESYS consente anche l'accesso in bit ai tipi di dati senza segno.

Esempio

PROGRAM PLC_PRG
VAR
	iTemp1 : INT;
	diTemp3 : DINT;
	uliTemp4 : ULINT;
	siTemp5 : SINT;
	usiTemp6 : USINT;
	byTemp2 : BYTE;
END_VAR

iTemp1.3 := TRUE;     // SA0148
diTemp3.4 := TRUE;    // SA0148
uliTemp4.18 := FALSE; // SA0148
siTemp5.2 := FALSE;   // SA0148
usiTemp6.3 := TRUE;   // SA0148
byTemp2.5 := FALSE;   // no error because BYTE is a bit field

--> SA0148: Unusual bit access - strict