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

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

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

SergioAli

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


pan2000

  • Постоялец
  • ***
  • Сообщений: 210
    • Просмотр профиля
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 »