Skip to main content

SA0134: Explizite vorzeichenbehaftete/vorzeichenlose Konvertierungen

Ermittelt explizit durchgeführte Konvertierungen von vorzeichenbehafteten auf vorzeichenlose Datentypen und umgekehrt.

Begründung: Ein übermäßiger Gebrauch 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

Beispiel 57. Beispiel
PROGRAM PLC_PRG
VAR
    byVar :BYTE;
    udiVar : UDINT;
    uliVar : ULINT;
    lwVar : LWORD;
    wVar : WORD;
    siVar   : SINT;
    iVar    : INT;
    diVar : DINT;
    liVar   : LINT;
END_VAR
liVar := ULINT_TO_LINT(uliVar);
udiVar := DINT_TO_UDINT(diVar);
siVar := BYTE_TO_SINT(byVar);
wVar := INT_TO_WORD(iVar);
lwVar := SINT_TO_LWORD(siVar);

Ausgabe unter Ansicht Meldungen:

  • sa_icon_message.png SA0134: Explizite vorzeichenbehaftete/vorzeichenlose Konvertierungen von Typ 'ULINT' zu Typ 'LINT'

  • sa_icon_message.png SA0134: Explizite vorzeichenbehaftete/vorzeichenlose Konvertierungen von Typ 'DINT' zu Typ 'UDINT'

  • sa_icon_message.png SA0134: Explizite vorzeichenbehaftete/vorzeichenlose Konvertierungen von Typ 'BYTE' zu Typ 'SINT'

  • sa_icon_message.png SA0134: Explizite vorzeichenbehaftete/vorzeichenlose Konvertierungen von Typ 'INT' zu Typ 'WORD'

  • sa_icon_message.png SA0134: Explizite vorzeichenbehaftete/vorzeichenlose Konvertierungen von Typ 'SINT' zu Typ 'LWORD'