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

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

Автор Тема: Граничные значения переменной  (Прочитано 2706 раз)

Юрий

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Добрый день!

Вопрос в следующем, имеется поле с отображением значения переменной, поступающей из контроллера и имеются уставки мин и мах, которые также задаются с контроллера. Можно ли, при выходе значения переменной за уставки менять цвет поля, например на красный. Если можно, то как. Уставки могут меняться в любой момент с панели контроллера оператором вручную.
Пытался сделать запись граничный значений HighAlarm и LowAlarm с помощью секундного скрипта, но проблема тогда в следующем, пока значение переменной не изменится хотя бы один раз, граничные значения не устанавливаются.

deldemo

  • Старожил
  • ****
  • Сообщений: 308
    • Просмотр профиля
Re: Граничные значения переменной
« Ответ #1 : 25 Июня 2017, 22:15:04 »
Здравствуйте
Привязываем к полю скрипт, что ниже, по событию OnDataChange.
vREAL - переменная с текущем значением из ПЛК привязанная к полю Field1
vMAX - переменная с значением уставки MAX из ПЛК
vMIN - переменная с значением уставки MIN из ПЛК
Код
begin
  if vREAL.AsInt > vMAX.AsInt then    // сравниваем уставку MAX и текущие показания
    Field1.BorderColor := clRed       // меняем бордюр на красный цвет если больше
  else
    if vREAL.AsInt < vMIN.AsInt then  // сравниваем уставку MIN и текущие показания
      Field1.BorderColor := clYellow  // меняем бордюр на желтый цвет если меньше
    else
      Field1.BorderColor := clGray;   // если не выходим за границы то меняем цвет на серый
end.

Скрипт будет менять цвет бордюра поля. Если нужно менять цвет всего поля то вместо BorderColor нужно вписать Color
« Изменён: 26 Июня 2017, 14:04:12 от Simple-Scada »

Юрий

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Граничные значения переменной
« Ответ #2 : 27 Июня 2017, 17:59:58 »
Спасибо!!!