Rileva le conversioni esplicite da un tipo di dati più grande a un tipo di dati più piccolo.
Giustificazione: Un numero elevato di conversioni di tipo può indicare che sono stati scelti tipi di dati sbagliati per le variabili. Per questo motivo, esistono linee guida di programmazione che richiedono una giustificazione esplicita per le conversioni dei tipi di dati.
Importanza: Basso
Esempio
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: Explicit narrowing conversion from type 'LINT' to type 'SINT' --> SA0133: Explicit narrowing conversion from type 'DINT' to type 'BYTE' --> SA0133: Explicit narrowing conversion from type 'DWORD' to type 'SINT' --> SA0133: Explicit narrowing conversion from type 'LREAL' to type 'UINT' --> SA0133: Explicit narrowing conversion from type 'LWORD' to type 'REAL'