Ermittelt explizit durchgeführte Konvertierungen von einem größeren auf einen kleineren Datentyp.
Begründung: Eine große Zahl von Typkonvertierungen kann bedeuten, dass man falsche Datentypen für Variablen gewählt hat. Es gibt daher Programmierrichtlinien die eine explizite Begründung für Datentypkonvertierungen fordern.
Wichtigkeit: Niedrig
Beispiel
PROGRAM SA0133 VAR siVar:SINT; diVar:DINT; liVar:LINT; byVar:BYTE; uiVar:UINT; dwVar:DWORD; lwVar:LWORD; rVar:REAL; lrVar:LREAL; END_VAR siVar := LINT_TO_SINT(liVar); // SA0133 byVar := DINT_TO_BYTE(diVar); // SA0133 siVar := DWORD_TO_SINT(dwVar); // SA0133 uiVar := LREAL_TO_UINT(lrVar); // SA0133 rVar := LWORD_TO_REAL(lwVar); // SA0133 --> SA0133: Explizite einschränkende Konvertierungen von Typ 'LINT' zu Typ 'SINT' --> SA0133: Explizite einschränkende Konvertierungen von Typ 'DINT' zu Typ 'BYTE' --> SA0133: Explizite einschränkende Konvertierungen von Typ 'DWORD' zu Typ 'SINT' --> SA0133: Explizite einschränkende Konvertierungen von Typ 'LREAL' zu Typ 'UINT' --> SA0133: Explizite einschränkende Konvertierungen von Typ 'LWORD' zu Typ 'REAL'