Доброе время суток!
Уважаемые профессионалы, прошу помочь в такой проблеме:
Задача:
Необходимо выполнять переключение 2-х групп реле через определенный промежуток времени. Т.е. необходимо, чтобы по нажатию кнопки "PWR", включалась 1-я группа реле, а через определенное время включалась 2-я группа реле и так в цикле 1-2-1-2-1-2.... до выключения кнопки "PWR".

Программу переключения вручную я без проблем сделал. Но с таймерами не могу разобраться. Все начинает переключаться хаотично (таймеры при этом стоят).
Я так понимаю, у меня не получается изменить вход "IN" с TRUE на FALSE на таймерах, после первого события. (Я так понял, что команды выполняются не последовательно и я постоянно присваиваю переменным разные значения...)

WHILE pwr=TRUE
DO
IF ADS=TRUE THEN
CicleADSL(IN:= STARTL, PT:= CicleTime, Q=>ADS_L, ET=>TimeSee);
ADS:=FALSE;
STARTL:=FALSE;
STARTR:=TRUE;
END_IF;
IF ADS=FALSE THEN
CicleADSR(IN:= STARTR, PT:= CicleTime, Q=>ADS_R, ET=> TimeSee);
ADS:=TRUE;
STARTR:=FALSE;
STARTL:=TRUE;
END_IF
END_WHILE;

По моему видению, при нажатии кнопки "PWR" если ADS=TRUE, то запускается таймер, при его истечении меняется ADS на FALSE, входной сигнал таймера сбрасывается и подается сигнал на другой таймер... Но такая программа точно не работает.
Объясните пожалуйста.
Пишу на ST