Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: DenMarino от 22 Ноября 2017, 11:44:56

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

Заранее Спасибо!!!
Название: Re: Расписание и управление
Отправлено: Simple-Scada от 22 Ноября 2017, 12:07:15
Здравствуйте.

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

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

И расписание снова начинает работать.
Название: Re: Расписание и управление
Отправлено: DenMarino от 22 Ноября 2017, 15:09:39
Благодарю за ответ. Все получилось!
Название: Re: Расписание и управление
Отправлено: vFix от 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.
Заранее спасибо!
Название: Re: Расписание и управление
Отправлено: Simple-Scada от 03 Июня 2018, 11:53:18
vFix, здравствуйте. Исправим в ближайшем обновлении.