Rileva i confronti con letterali che hanno sempre come risultato TRUE o FALSE, e che possono essere elaborati già in fase di compilazione.
Giustificazione: Un'operazione che produce costantemente TRUE o FALSE è indice di un errore di programmazione.
Importanza: Alto
Esempio
PROGRAM PLC_PRG
VAR
byTemp1 : BYTE;
END_VAR
WHILE byTemp1 <= 255 DO
byTemp1 := byTemp1 + 1;
END_WHILE;
--> SA0059: Relational operator '<=' always evaluates 'TRUE'