Цитата Сообщение от 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.

Думаю дальше...