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

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

Автор Тема: Скрипт по времени  (Прочитано 1659 раз)

niyaz

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Скрипт по времени
« : 24 Апреля 2020, 21:31:37 »
Здравствуйте.
Как реализовать скрипт который работал каждые 48 часов, или каждые 3 дня, 7 дней и т.п. Скада система будет периодически закрываться. Спасибо.

pan2000

  • Постоялец
  • ***
  • Сообщений: 226
    • Просмотр профиля
Re: Скрипт по времени
« Ответ #1 : 26 Апреля 2020, 01:08:39 »
     Здравствуйте.

Можно использовать виртуальную переменную dtNextStart типа DateTime с автоматическим восстановлением. В переменной хранится дата-время начала очередной работы скрипта. Скрипт " Прошла секунда/Прошел час".
Код: (delphi)
begin
  if dtNextStart.value < Now then exit;
  dtNextStart.value := IncHour(dtNextStart.value, 48);  // начало следующего цикла
// выполняемая часть
  . . .
end.
Для реального проекта необходимо определить:
1. Как получить начальное значение dtNextStart при первом запуске проекта.
2. Правила работы скрипта при повторном открытии Скада после остановки на время большее чем период.