Skip to main content

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

Exemple 56. Exemple
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:

  • sa_icon_message.png SA0133 : Conversion restrictive explicite du type « LINT » au type « SINT »

  • sa_icon_message.png SA0133 : Conversion restrictive explicite du type « DINT » au type « BYTE »

  • sa_icon_message.png SA0133 : conversions restrictives explicites du type « DWORD » vers le type « SINT »

  • sa_icon_message.png SA0133 : Conversion restrictive explicite du type « LREAL » au type « UINT »

  • sa_icon_message.png SA0133 : conversion restrictive explicite du type « LWORD » vers le type « REAL »