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

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

Автор Тема: Отображение уровня  (Прочитано 1726 раз)

ASV56

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Отображение уровня
« : 13 Июля 2023, 08:40:48 »
Здравствуйте! В проекте задан объект "Уровень" со шкалой от -315 до 315. Заполнение индикатора от нижней границы к верхней. В обычном режиме всё отображается корректно (Фото 1 и 2).
НО. если данные перестают поступать от сервера (например, отключился опрашиваемый прибор), появляется маленький значок (!), а шкала уровня (Фото 3) заполняется от нижней границы до середины (в нашем случае это 0), что при беглом взгляде может быть воспринято оператором как Нормальное значение уровня.
Можно ли сделать, чтобы при отсутствии данных шакала уровня была пустой?
« Изменён: 13 Июля 2023, 16:28:42 от Simple_Scada »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1400
    • Просмотр профиля
Re: Отображение уровня
« Ответ #1 : 13 Июля 2023, 16:25:03 »
Здравствуйте.

При обрыве связи между ПЛК и OPC-сервером, скада будет отображать то значение и качество переменной, которое получит от OPC-сервера. Изменить это нельзя. При плохом качестве переменной можно менять цвет уровня на такой же, как цвет фона уровня - в этом случае уровень будет выглядеть пустым. Пример скрипта на событие "OnDataChange" уровня:
Код: (delphi)
begin
  if Sender is TM_Level then       // проверяем, что Sender это уровень
    with Sender as TM_Level do     // приводим Sender к типу "TM_Level"
      if Variable.IsGoodQuality = False then  // если переменная плохого качества, то
        Color := BackgroundColor   // изменить цвет уровня на такой же, как цвет фона уровня
      else                         // иначе
        SetInitialColor;           // вернуть уровню изначальный цвет
end.
Теперь при потере связи с ПЛК уровень будет выглядеть пустым. Данный скрипт универсальный и его можно назначить на событие "OnDataChange" всех уровней, для которых необходимо использовать эффект пустого уровня при обрыве связи с ПЛК. Также, для контроля связи с ПЛК/устройством можно воспользоваться перечисленными по ссылке способами и, например, выдавать предупреждение при потере связи.
« Изменён: 14 Июля 2023, 09:51:25 от Simple-Scada »

ASV56

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Отображение уровня
« Ответ #2 : 14 Июля 2023, 09:45:50 »
Спасибо! Проблема решена.