Добрый вечер. Суть вопроса такая 40 датчиков температуры и 40 клапанов к каждому. Есть фиксированная температура уставки, соответственно опрашивается каждый датчик, и если T[i] превышает Ust, то клапан V[i] открывается до стабилизации темп-ры. И при этом, вот в этом и затык у меня почему-то, если хотя бы одна T[i]>Ust, то должно сигнализироваться (грубо говоря лампочка горит). Код на ST вот так выглядит (для простоты пока выбрал массив не из 40, а из 3 элементов), но вот хоть убей, клапана отрабатывают нормально, а вот лампочка загорается/гаснет, только когда выполняется условия для третьего клапана. Не могу понять, в чём дело? Понимаю, что задача фигня, но вот ступор какой-то. Особо программированием не занимался, если что, познаю сейчас.

PROGRAM PLC_PRG
VAR
Ust: REAL:=5;//Температура уставки
Temp: ARRAY [1..3] OF REAL;//Измеренная температура
Valve: ARRAY [1..3] OF BOOL;//Клапан
lamp: BOOL;//Сигнальная лампа
i: BYTE;
END_VAR

Тело программы

FOR i:=1 TO 3 DO;
IF Temp[i] > UST THEN
lamp:=TRUE;
Valve[i]:=TRUE;

ELSE
Valve[i]:=FALSE;
lamp:=FALSE;

END_IF
END_FOR