Вопрос:
Готовый макрос циклического таймера существует?
Ответ:
"Циклические таймеры" - это не что иное, как автоматы состояний с времязадающей цепью. Проще всего их делать копипастом, это гораздо быстрее, чем искать нужный именно вас макрос.
Покажу на примере простейшего алгоритма: 300 секунд "работаем", 1 час "отдыхаем".
Для начала определимся со счётчиками. Интервал 300 сек легко посчитает обычный 16-тиразрядный счётчик, а вот час уже слишком велик для него, поэтому используем
32-хразрядный счётчик из библиотеки.
Для начала ставим два счётчика рядом. Ведь по условию, нужно отсчитать два интервала, 300 сек и 1 час. Два времени, два счётчика.
Затем связываем их в единый цикл. Сначала считает один счётчик, по окончанию счёта он запускает второй счётчик. А второй счётчик, в свою очередь, по окончанию своего счёта сбрасывает всю систему в исходное состояние.
В принципе, всё готово. Однако в жизни эту систему нужно уметь останавливать, поэтому оформляем сигнал разрешения работы, который банально снимает сигналы сброса с обоих счётчиков.