Skip to main content

SA0016 : Lacunes dans les structures

Détecte les lacunes dans les structures ou les blocs fonctionnels qui sont causées par les exigences d'alignement du système cible actuellement défini. Si possible, vous devez supprimer les lacunes en regroupant les éléments de structure ou en les remplissant avec un élément factice. Si cela n'est pas possible, vous pouvez désactiver la règle pour les structures concernées à l'aide de la analysis pragmatique.

Justification : En raison des différentes exigences d'alignement sur différentes plates-formes, il peut y avoir une disposition différente dans la mémoire pour ces types de structures. Ensuite, le code peut fonctionner différemment, selon la plate-forme.

Importance : Faible

Exemple 29. Exemple
TYPE Unpadded_Structure :
STRUCT
    xTest : BOOL;
    iTest : INT;    // SA0016
    byTest : BYTE;
    wTest : WORD;
END_STRUCT
END_TYPE
PROGRAM PLC_PRG
VAR
    myStruct : Unpadded_Structure;
END_VAR
myStruct.iTest := 0;

Sortie dans le messages voir:

  • sa_icon_message.png SA0016 : La structure 'Unpadded_Structure' doit être complétée (pack-mode=8)