Здраствуйте, я реализую задержку также как и Партизан(если я его правельно понял), вот моя функция:

Код:
tmrZ(In:=start_tmr,pt:=T#1450MS);
IF ACP_get_zapros=1 THEN 
	start_tmr:=FALSE;
	//выполняю первую процедуру
	ACP_get_zapros:=7;
	start_tmr:=TRUE;
END_IF
IF ACP_get_zapros=7 AND tmrZ.Q=TRUE THEN 
	start_tmr:=FALSE;
	//выполняю вторую процедуру
	ACP_get_zapros:=0;
	start_tmr:=TRUE;
END_IF
Где tmrZ:TON

Проблема в том что tmrZ, get_zapros и start_tmr приходится обьявлять как Глобальные переменные, потому что обьявлять внутри функции както боязно. Как можно их локализовать(кроме конечно ACP_get_zapros управляющая функцией) и гарантировать их жизнь? Потому как подобных процедур у меня много, а плодить стока переменных совсем не хочется.

И какие ещё есть методы реализации зодержки?