SA0076 : Constante d'énumération manquante
Détermine si chaque constante d'énumération est utilisée ou non comme condition dans CASE
déclarations et interrogé dans un CASE
bifurquer.
Justification : La programmation défensive nécessite le traitement de toutes les valeurs possibles d'une énumération. Si une action n'est pas requise pour une valeur d'énumération particulière, vous devez ajouter un commentaire pour l'indiquer explicitement. Il est alors clair pour le lecteur du code que la valeur n'a pas simplement été oubliée.
Importance : faible
Exemple 83. Exemple
TYPE My_Enum : ( red := 1, blue := 2, green := 3, black := 4 ); END_TYPE
PROGRAM PLC_PRG VAR iVar : My_Enum; xTemp : BOOL; END_VAR
iVar := My_Enum.black; CASE iVar OF My_Enum.red: xTemp := FALSE; My_Enum.blue, My_Enum.green: xTemp := TRUE; ELSE xTemp := NOT xTemp; END_CASE
Sortie dans le messages voir:
SA0076 : constante d'énumération manquante "noire" dans l'instruction CASE