SA0148: Unüblicher Bitzugriff - strikt

Funktion

Ermittelt Bitzugriffe, die nicht auf Bitfeld-Datentypen (BYTE, WORD, DWORD, LWORD) erfolgen.

Begründung

Die Norm IEC 61131-3 erlaubt nur Bitzugriffe auf Bitfeld-Datentypen. Der TwinCAT 3 Compiler erlaubt jedoch auch Bitzugriffe auf nicht vorzeichenbehaftete Datentypen.

Wichtigkeit

Niedrig

SA0148: Unüblicher Bitzugriff - strikt 1:

Sehen Sie auch die nicht strikte Regel SA0018: Unübliche Bitzugriffe.

Beispiele:

PROGRAM MAIN
VAR
    nINT      : INT;
    nDINT     : DINT;
    nULINT    : ULINT;
    nSINT     : SINT;
    nUSINT    : USINT;
    nBYTE     : BYTE;
END_VAR
nINT.3    := TRUE;               // => SA0148
nDINT.4   := TRUE;               // => SA0148
nULINT.18 := FALSE;              // => SA0148
nSINT.2   := FALSE;              // => SA0148
nUSINT.3  := TRUE;               // => SA0148
nBYTE.5   := FALSE;              // no error because BYTE is a bitfield