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
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:
SA0134: Explizite vorzeichenbehaftete/vorzeichenlose Konvertierungen von Typ 'ULINT' zu Typ 'LINT'
SA0134: Explizite vorzeichenbehaftete/vorzeichenlose Konvertierungen von Typ 'DINT' zu Typ 'UDINT'
SA0134: Explizite vorzeichenbehaftete/vorzeichenlose Konvertierungen von Typ 'BYTE' zu Typ 'SINT'
SA0134: Explizite vorzeichenbehaftete/vorzeichenlose Konvertierungen von Typ 'INT' zu Typ 'WORD'
SA0134: Explizite vorzeichenbehaftete/vorzeichenlose Konvertierungen von Typ 'SINT' zu Typ 'LWORD'