Добрый день, необходимо написать программу для запуска подогревом, дизель генератором (ДГУ) и вентиляцией в зависимости от напряжения АКБ и температуры, большая проблема с счетчиками, не могу понять как задать цикл, и сброс.

Задача такова, необходимо запускать ДГУ при падении напряжения на аккумуляторе ниже 50В.
В зависимости от внешних условий.
1) Если летом температура с датчика больше 40 градусов, то необходимо включить вентилятор за 5 минут до включения ДГУ.
Выключение ДГУ произвести как напряжение на АКБ превысит 56В.

2) В зимнем режиме.
Перед формированием вкл.ДГУ необходимо вкл.обогрев на определенное время:
- при температуре от -5 до +5, время обогрева 45 минут;
- при температуре от -20 до -5, время обогрева 60 минут;
- при температуре от -30 до -20, время обогрева 75 минут.
После запуска обогрева проверить температуру через 15 минут, если она не увеличилась на 10 градусов (т.е. обогрев не включился), то сигнал обогрева выключить и включить заново, повторить 3 раза, если после 3х раз обогрев не включился, то ДГУ не включать, а сформировать сигнал тревоги.
По окончании подогрева, включить ДГУ пока напряжение на АКБ не превысит 56В, но не более чем на 120 минут.

Большая проблема с таймерами и их сбросом, если летнее условие выполняется я включаю вентиляцию, после завожу таймер на задержку включения для ДГУ, после 5 минут ДГУ включается, при заряде АКБ>56В выключаю вентиляцию и ДГУ, но при повторной просадке напряжения, включается вентиляция и одновременно с ней ДГУ, т.к. таймер не сбросился с прошлого раза.....

Кто чем может, буду рад помощи..