Rileva se una variabile di enumerazione è usata come condizione e non tutti i valori
di enumerazione sono trattati come rami CASE.
Giustificazione: La programmazione difensiva richiede l'elaborazione di tutti i possibili valori di un'enumerazione. Se un'azione non è richiesta per un particolare valore dell'enumerazione, è necessario aggiungere un commento per indicarlo esplicitamente. Per il lettore del codice è chiaro che il valore non è stato semplicemente dimenticato.
Importanza: Basso
Esempio
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 --> SA0076: Missing enumeration constant 'black' in CASE statement