SA0018: Accessi bit insoliti
Rileva l'accesso bit alle variabili firmate. Tuttavia, lo standard IEC 61131-3 consente solo operazioni di accesso ai bit e spostamento di bit sui campi di bit.
Vedi anche le regole severe SA0147 e SA0148.
Motivo: i tipi di dati con segno non devono essere utilizzati come campi di bit e viceversa. La norma IEC 61131-3 non prevede tale accesso, quindi è necessario seguire questa regola se si desidera scrivere codice portatile.
Importanza: Media
Suggerimento
Eccezione per le enumerazioni flag: se un'enumerazione utilizza l'attributo pragma {attribute 'flags'}
è dichiarato come flag, viene utilizzato per gli accessi ai bit con le operazioni OR
, AND
o NOT
l'errore SA0018
non speso.
PROGRAM PLC_PRG VAR iTemp1 : INT; diTemp3 : DINT; uliTemp4 : ULINT; siTemp5 : SINT; usiTemp6 : USINT; byTemp2 : BYTE; END_VAR
iTemp1.3 := TRUE; //SA0018 diTemp3.4 := TRUE; //SA0018 uliTemp4.18 := FALSE; //no error because this is an unsigned data type siTemp5.2 := FALSE; //SA0018 usiTemp6.3 := TRUE; //no error because this is an unsigned data type byTemp2.5 := FALSE; //no error because the byte is a bitfield
Uscita in Messaggi vista:
SA0018: Accesso bit insolito