SA0133: Explizite einschränkende Konvertierungen

Funktion

Ermittelt explizit durchgeführte Konvertierungen von einem größeren auf einen kleineren Datentyp.

Begründung

Eine große Zahl von Typkonvertierungen kann bedeuten, dass falsche Datentypen für Variablen gewählt wurden. Es gibt daher Programmierrichtlinien, die eine explizite Begründung für Datentypkonvertierungen fordern.

Wichtigkeit

Niedrig

Beispiele:

PROGRAM MAIN
VAR
    nSINT    : SINT;
    nDINT    : DINT;
    nLINT    : LINT;
    nBYTE    : BYTE;
    nUINT    : UINT;
    nDWORD   : DWORD;
    nLWORD   : LWORD;
    fREAL    : REAL;
    fLREAL   : LREAL;
END_VAR
nSINT := LINT_TO_SINT(nLINT);    // => SA0133
nBYTE := DINT_TO_BYTE(nDINT);    // => SA0133
nSINT := DWORD_TO_SINT(nDWORD);  // => SA0133
nUINT := LREAL_TO_UINT(fLREAL);  // => SA0133
fREAL := LWORD_TO_REAL(nLWORD);  // => SA0133