Skip to main content

SA0134 : Conversions explicites signées/non signées

Détecte les conversions explicites de types de données signés en types de données non signés et inversement

Justification : L'utilisation excessive de conversions de types peut indiquer que des types de données incorrects pour les variables ont été sélectionnés. Pour cette raison, il existe des directives de programmation qui exigent une justification explicite des conversions de types de données.

Importance : Faible

Exemple 57. Exemple
PROGRAM PLC_PRG
VAR
    byVar :BYTE;
    udiVar : UDINT;
    uliVar : ULINT;
    lwVar : LWORD;
    wVar : WORD;
    siVar   : SINT;
    iVar    : INT;
    diVar : DINT;
    liVar   : LINT;
END_VAR
liVar := ULINT_TO_LINT(uliVar);
udiVar := DINT_TO_UDINT(diVar);
siVar := BYTE_TO_SINT(byVar);
wVar := INT_TO_WORD(iVar);
lwVar := SINT_TO_LWORD(siVar);

Sortie dans le messages voir:

  • sa_icon_message.png SA0134 : Conversion explicite signée/non signée du type « ULINT » vers le type « LINT »

  • sa_icon_message.png SA0134 : Conversion explicite signée/non signée du type 'DINT' au type 'UDINT'

  • sa_icon_message.png SA0134 : Conversion explicite signée/non signée du type 'BYTE' au type 'SINT'

  • sa_icon_message.png SA0134 : Conversion explicite signée/non signée du type 'INT' au type 'WORD'

  • sa_icon_message.png SA0134 : Conversion explicite signée/non signée du type 'SINT' au type 'LWORD'