Я вот скольки значную логику использую):
Код:
//Визуализация состояния механизмов
FOR Ind_03:= 1 TO 4 DO
	IF    NOT MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA                                                                                         THEN Ind_00X[Ind_03]:= 1;  Ind_00Y[Ind_03]:= FALSE; //"НЕ В ГОТОВНОСТИ"/""
	ELSIF     MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND NOT MEC[Ind_03].COM_OF  AND NOT MEC[Ind_03].INP_OF
                                                                  AND NOT MEC[Ind_03].COM_CR  AND NOT MEC[Ind_03].INP_CR                                  THEN Ind_00X[Ind_03]:= 2;  Ind_00Y[Ind_03]:= FALSE; //"В ГОТОВНОСТИ"/"ОСТАНОВЛЕН"
	ELSIF     MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND     MEC[Ind_03].COM_OF  AND     MEC[Ind_03].OUT_ALA                                 THEN Ind_00X[Ind_03]:= 3;  Ind_00Y[Ind_03]:= FALSE; //"ПРЕДПУСКОВАЯ СИГН-Я"/"ВПЕРЕД"
	ELSIF     MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND     MEC[Ind_03].COM_CR  AND     MEC[Ind_03].OUT_ALA                                 THEN Ind_00X[Ind_03]:= 4;  Ind_00Y[Ind_03]:= FALSE; //"ПРЕДПУСКОВАЯ СИГН-Я"/"НАЗАД"
	ELSIF     MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND     MEC[Ind_03].COM_OF  AND NOT MEC[Ind_03].INP_OF  AND     MEC[Ind_03].PAR_OF      THEN Ind_00X[Ind_03]:= 5;  Ind_00Y[Ind_03]:= FALSE; //"ЗАПУСКАЕТСЯ"/"ВПЕРЕД"
	ELSIF     MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND     MEC[Ind_03].COM_CR  AND NOT MEC[Ind_03].INP_CR  AND     MEC[Ind_03].PAR_CR      THEN Ind_00X[Ind_03]:= 6;  Ind_00Y[Ind_03]:= FALSE; //"ЗАПУСКАЕТСЯ"/"НАЗАД"
	ELSIF     MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND     MEC[Ind_03].COM_OF  AND     MEC[Ind_03].INP_OF  AND     MEC[Ind_03].PAR_OF      THEN Ind_00X[Ind_03]:= 7;  Ind_00Y[Ind_03]:= FALSE; //"В РАБОТЕ"/"ВПЕРЕД"
	ELSIF     MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND     MEC[Ind_03].COM_CR  AND     MEC[Ind_03].INP_CR  AND     MEC[Ind_03].PAR_CR      THEN Ind_00X[Ind_03]:= 8;  Ind_00Y[Ind_03]:= FALSE; //"В РАБОТЕ"/"НАЗАД"
	ELSIF     MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND NOT MEC[Ind_03].COM_OF  AND     MEC[Ind_03].INP_OF  AND     MEC[Ind_03].PAR_OF      THEN Ind_00X[Ind_03]:= 9;  Ind_00Y[Ind_03]:= FALSE; //"ОСТАНАВЛИВАЕТСЯ"/"ВПЕРЕД"
	ELSIF     MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND NOT MEC[Ind_03].COM_CR  AND     MEC[Ind_03].INP_CR  AND     MEC[Ind_03].PAR_CR      THEN Ind_00X[Ind_03]:= 10; Ind_00Y[Ind_03]:= FALSE; //"ОСТАНАВЛИВАЕТСЯ"/"НАЗАД"
	ELSIF NOT MEC[Ind_03].STA_REA AND     MEC[Ind_03].STA_ALA AND NOT MEC[Ind_03].STA_RUN                             AND     MEC_ALA_MEM_CON[Ind_03] THEN Ind_00X[Ind_03]:= 11; Ind_00Y[Ind_03]:= TRUE;  //"АВАРИЯ"/"НЕ В ГОТОВНОСТИ" - активная
	ELSIF NOT MEC[Ind_03].STA_REA AND     MEC[Ind_03].STA_ALA AND     MEC[Ind_03].STA_RUN AND     MEC[Ind_03].INP_OF  AND     MEC_ALA_MEM_CON[Ind_03] THEN Ind_00X[Ind_03]:= 12; Ind_00Y[Ind_03]:= TRUE;  //"АВАРИЯ"/"ВПЕРЕД"          - активная
	ELSIF NOT MEC[Ind_03].STA_REA AND     MEC[Ind_03].STA_ALA AND     MEC[Ind_03].STA_RUN AND     MEC[Ind_03].INP_CR  AND     MEC_ALA_MEM_CON[Ind_03] THEN Ind_00X[Ind_03]:= 13; Ind_00Y[Ind_03]:= TRUE;  //"АВАРИЯ"/"НАЗАД"           - активная
	ELSIF NOT MEC[Ind_03].STA_REA AND     MEC[Ind_03].STA_ALA AND NOT MEC[Ind_03].STA_RUN                             AND     MEC_ALA_CUR[Ind_03]     THEN Ind_00X[Ind_03]:= 14; Ind_00Y[Ind_03]:= FALSE; //"АВАРИЯ"/"НЕ В ГОТОВНОСТИ"
	ELSIF NOT MEC[Ind_03].STA_REA AND     MEC[Ind_03].STA_ALA AND     MEC[Ind_03].STA_RUN AND     MEC[Ind_03].INP_OF  AND     MEC_ALA_CUR[Ind_03]     THEN Ind_00X[Ind_03]:= 15; Ind_00Y[Ind_03]:= FALSE; //"АВАРИЯ"/"ВПЕРЕД"
	ELSIF NOT MEC[Ind_03].STA_REA AND     MEC[Ind_03].STA_ALA AND     MEC[Ind_03].STA_RUN AND     MEC[Ind_03].INP_CR  AND     MEC_ALA_CUR[Ind_03]     THEN Ind_00X[Ind_03]:= 16; Ind_00Y[Ind_03]:= FALSE; //"АВАРИЯ"/"НАЗАД"
	ELSE                                                                                                                                                   Ind_00X[Ind_03]:= 0;  Ind_00Y[Ind_03]:= FALSE; //"НЕ ОПРЕДЕЛЕНО"/"НЕ ОПРЕДЕЛЕНО"
	END_IF
END_FOR