SA0133: Conversioni esplicite di restringimento
Determina le conversioni eseguite in modo esplicito da un tipo di dati più grande a uno più piccolo.
Giustificazione: Un numero elevato di conversioni di tipo potrebbe indicare che sono stati scelti tipi di dati errati per le variabili. Per questo motivo esistono linee guida di programmazione che richiedono una giustificazione esplicita per le conversioni del tipo di dati.
Importanza: Bassa
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
Uscita in Messaggi vista:
SA0133: Conversione di restringimento esplicita dal tipo 'LINT' al tipo 'SINT'
SA0133: Conversione di restringimento esplicita dal tipo 'DINT' al tipo 'BYTE'
SA0133: Conversioni di restringimento esplicite dal tipo "DWORD" al tipo "SINT"
SA0133: Conversione di restringimento esplicita dal tipo 'LREAL' al tipo 'UINT'
SA0133: Conversione di restringimento esplicita dal tipo "LWORD" al tipo "REAL"