Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: niyaz от 24 Апреля 2020, 21:31:37

Название: Скрипт по времени
Отправлено: niyaz от 24 Апреля 2020, 21:31:37
Здравствуйте.
Как реализовать скрипт который работал каждые 48 часов, или каждые 3 дня, 7 дней и т.п. Скада система будет периодически закрываться. Спасибо.
Название: Re: Скрипт по времени
Отправлено: pan2000 от 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. Правила работы скрипта при повторном открытии Скада после остановки на время большее чем период.