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

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

Автор Тема: Расписание и управление  (Прочитано 4936 раз)

DenMarino

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Расписание и управление
« : 22 Ноября 2017, 11:44:56 »
Добрый день.
Сейчас пишу проект для мониторинга и управления ДЭС.
Потребовалось запускать и останавливать ДГУ по расписанию.
В инструменте РАСПИСАНИЕ есть 2 состояние переменой, 1-1 состояние включено, 2-0 выключено.
По факту получается так, что если в расписании не задан интервал когда устройству нужно включиться, то в переменную постоянно вписывается значение 0 и нет возможности изменить эту переменную допустим с кнопки ПУСК.
Нужно что бы инструмент РАСПИСАНИЕ записывал только 1 и при простое не писал ничего в переменную, подскажите как это сделать?!

Заранее Спасибо!!!

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Расписание и управление
« Ответ #1 : 22 Ноября 2017, 12:07:15 »
Здравствуйте.

Расписание во время работы приводит значение переменной в соответствие с тем, что задано в расписании. Если время попадает в активную зону расписания, то переменной будет присвоено "значение вкл.", в ином случае "значение выкл.". Такие присвоения не выполняются только когда у компонента Расписания свойство "Доступен" (Enabled) выключено. Поэтому если в какие-то моменты Вам нужно отключать работу расписания, то нужно менять свойство Enabled в False. Обычно предусматривают ручной режим, т.е. оператор нажатием на какую-то кнопку переводит управление в ручной режим и в этот момент выполняется деактивация расписания:
Код
begin
  Schedule1.Enabled := False;
end.

После чего пользователь может менять значение переменной как угодно. Затем при выключении ручного режима выполняется код:
Код
begin
  Schedule1.Enabled := True;
end.

И расписание снова начинает работать.

DenMarino

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Расписание и управление
« Ответ #2 : 22 Ноября 2017, 15:09:39 »
Благодарю за ответ. Все получилось!

vFix

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Расписание и управление
« Ответ #3 : 01 Июня 2018, 23:35:33 »
Здравствуйте!
Хоть тема и давняя, но вопрос у меня по ней, поэтому добавлю его сюда)

Вы писали:
Код
begin
  Schedule1.Enabled := False;
end.
После чего пользователь может менять значение переменной как угодно.
Пробовал сделать по вашему совету - само поле расписания действительно становится не активным, но при этом программа выполняется - переменная связанная с расписанием - меняет свое значение. Я сейчас изменю скрипт, который будет менять мою конечную переменную проверяя активно расписание или нет. Но было бы неплохо мне разобраться, в чём я не прав.

Версия 2.2.9.1

Код: (delphi)
begin
  if PV1_Schedule_Enable.Value then
    Begin
      Schedule1.Enabled := True;
      Schedule1.Alpha := 255;
    End
  else
    Begin
    Schedule1.Enabled := False;
    Schedule1.Alpha := 50;
    End;
end.
Заранее спасибо!
« Изменён: 02 Июня 2018, 00:18:04 от vFix »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Расписание и управление
« Ответ #4 : 03 Июня 2018, 11:53:18 »
vFix, здравствуйте. Исправим в ближайшем обновлении.