
Сообщение от
Jolly
2:
external_event:=FALSE;
myTON.IN:=FALSE;
END_CASE
Смысл такой: при входе в CASE переменные PL1, PL2, MN1, MN2 принимают значения TRUE, FALSE, TRUE, FALSE соответственно на 3 секунды, потом все переходят в FALSE. В другой части программы они меняют свои значения. При повторном входе в CASE они опять принимают нужные значения TRUE, FALSE, TRUE, FALSE соответственно на 3 секунды, но в FALSE уже не переходят. Не могу разобраться в чем проблема...
Скорее всего, проблема в том, что вместо myTON.IN:=FALSE; нужно написать myTON(IN:=FALSE); -- иначе таймер так и не знает, что "ему нужно начать новый отсчёт времени".
А вообще, конечно, тема пересекается с идеей пауз.
Там это было бы:
Код:
PL1:=TRUE;
PL2:=FALSE;
MN1:=TRUE;
MN2:=FALSE;
ПАУЗА t#3s;
PL1:=FALSE;
PL2:=FALSE;
MN1:=FALSE;
MN2:=FALSE;