Здравствуйте.
Самодельный способ реализации зависит от количества интервалов, кванта интервала, способа хранения данных, вида отображения состояния и т.д, например:
- предполагая, что для интервалов достаточно точности в 1 мин, в качестве метки времени можно использовать целочисленное значение (при некотором увеличении количества вычислений можно и в секундах);
- хранение данных об интервалах БД (MySQL), файл, набор виртуальных переменных при малом числе интервалов;
- интервалы не перекрываются (оно конечно можно и перекрыванием разобраться, однако собственно управление может оказаться сложнее остального проекта). Включение осуществляется в начале минуты, а выключение в конце, что для смежных интервалов означает отсутствие провалов управления. Это актуально для смежных интервалов для разных суток (например, включили в среду, а выключили в пятницу).
- для каждого интервала можно установить своё оповещение в пределах 1-255 минут, значение 0 - без оповещения;
- использование графики объекта "Расписание" требует для отображения интервала одного объекта и еще одного объекта для ненулевого оповещения, в данном примере таких объектов 128, т.е. минимально 64 интервала - самое существенное ограничение.
Для управления используется таблица, заполняемая из БД. Для упрощения проекта (и снижения информативности) можно заменить графику объекта "Расписание" на группу окон с текущими параметрами.
Во вложении пример (и только пример без тщательной проверки) проекта на неделю, включающий три части: редактирование интервалов в БД, отображение процесса на основе графики объекта "Расписание" и получение текущих значений включения/выключения и оповещения.