
Сообщение от
capzap
это не верно, а косомсу со своим решением тоже самое, наверное неверно, по окончании когда ТТ станет равным нулю, QQ тоже будет равно нулю
Почему???
Вот вполне себе рабочий вариант:
Код:
PROGRAM PLC_PRG
VAR
TT : INT := 100;
QQ : INT;
INIT_VAR : BOOL := 1;
END_VAR
IF INIT_VAR THEN
QQ := TT;
INIT_VAR := 0;
END_IF
IF DI1 AND TT >0 THEN
TT := TT - 1;
ELSIF DI1 AND TT = 0 THEN
TT :=0;
ELSE
TT := QQ;
END_IF
Но, к сожалению, это только для лабораторных работ. Проблема в том, что если переменная TT берет значения откуда-то, то при первом же цикле, еще ДО присвоения данных ТТ "снаружи", QQ становится равно ТТ, и не меняется. А при старте ТТ = 0.
Думаю дальше...