SA0133 : Conversions restrictives explicites
Détecte les conversions explicites d'un type de données plus grand vers un type de données plus petit
Justification : Un grand nombre de conversions de type peut indiquer que vous avez choisi les mauvais types de données pour les variables. Pour cette raison, il existe des directives de programmation qui exigent une justification explicite des conversions de types de données.
Importance : faible
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
Sortie dans le messages voir:
SA0133 : Conversion restrictive explicite du type « LINT » au type « SINT »
SA0133 : Conversion restrictive explicite du type « DINT » au type « BYTE »
SA0133 : conversions restrictives explicites du type « DWORD » vers le type « SINT »
SA0133 : Conversion restrictive explicite du type « LREAL » au type « UINT »
SA0133 : conversion restrictive explicite du type « LWORD » vers le type « REAL »