Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Расписание. Schedule  (Прочитано 57881 раз)

SergioAli

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Расписание. Schedule
« : 27 Апреля 2024, 15:02:31 »
Добрый день, всем.
Помогите с решением задачи.
Есть расписание, которое управляет освещением по заданным интервалам.
за 20 минут до отключения, необходимо сделать оповещение. ( изменить виртуальную переменную )
Как выдернуть из расписания начало и конец интервала активного дня?
Очень не хватает более развёрнутого доступа к свойствам расписания.
Или как это реализовать по другому?


pan2000

  • Постоялец
  • ***
  • Сообщений: 225
    • Просмотр профиля
Re: Расписание. Schedule
« Ответ #1 : 28 Апреля 2024, 18:07:15 »
  Здравствуйте.

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


SergioAli

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Расписание. Schedule
« Ответ #2 : 05 Мая 2024, 13:55:32 »
Большое спасибо! Огромное спасибо.
Но мне к сожалению это не подходит, у меня 555 групп освещения.
Жаль, что у родного шедулера нет доступа к границам интервала и дням недели, это бы сильно всё упростило.
У меня в ПЛК так же устанавливаются время включения и выключения ( делал как выбор управления освещением от скады или от плк), можно конечно использовать эти переменные, но тогда теряется весь юзер-френдли со свистелками и перделками (шедулер :)  )  и плюс ко всему использую контроллеры от EKF F100, а у них время за сутки отстаёт от на 10-15 секунд, как синхронизировать время на этом плк с сервером времени с какой то периодичностью я не нашёл (плохо искал), поэтому управление по умолчанию стоит от скады.
но еще раз БОЛЬШОЕ СПАСИБО )))
« Изменён: 05 Мая 2024, 14:09:15 от Simple_Scada »

AndrewNA

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Расписание. Schedule
« Ответ #3 : 13 Февраля 2026, 16:55:52 »
Автор: pan2000 отличная работа, а можете переделать проект что бы были ни дни недели а временные метки можно выставлять одного дня но временных меток множество

pan2000

  • Постоялец
  • ***
  • Сообщений: 225
    • Просмотр профиля
Re: Расписание. Schedule
« Ответ #4 : 14 Февраля 2026, 11:50:08 »
    Здравствуйте.

 Да, могу, но мне нужны подробности. Лучше типа ТЗ, или Ваше представление как всё это должно выглядеть.  :)

Добавлено 16.02.2026:
Пример 24-часового слайдера с разрешением 1 сек, довольно громоздкая штука. Весь диапазон разбит на 10-минутные интервалы с графическим представлением. Можно метить каждую секунду.
Метки могут хранятся в БД минимально парами - <временная метка>-<информация о событии>. Событие будет отображатся штрихом над секундной линейкой слайдера.
« Изменён: 16 Февраля 2026, 07:45:53 от pan2000 »

AndrewNA

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Расписание. Schedule
« Ответ #5 : 17 Февраля 2026, 15:29:56 »
Тут скорее отображение прогалов между этапами процесса в графическом виде в стиле айфоновского календаря которым тыкал меня директор))

Процессы ежедневные, состоящие из одинаковых временных этапов по технологии. Оператор запускает и завершает процессы кнопками, иногда он может завершить этап раньше соответственно, если он выгрузит продукт раньше появиться доп время напокурить