Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: ASV56 от 13 Июля 2023, 08:40:48

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

При обрыве связи между ПЛК и OPC-сервером, скада будет отображать то значение и качество переменной, которое получит от OPC-сервера. Изменить это нельзя. При плохом качестве переменной можно менять цвет уровня на такой же, как цвет фона уровня - в этом случае уровень будет выглядеть пустым. Пример скрипта на событие "OnDataChange" (https://simple-scada.com/help/script/object-events.html) уровня:
Код: (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.
Теперь при потере связи с ПЛК уровень будет выглядеть пустым. Данный скрипт универсальный (https://simple-scada.com/help/script/universal-event.html) и его можно назначить на событие "OnDataChange" (https://simple-scada.com/help/script/object-events.html) всех уровней, для которых необходимо использовать эффект пустого уровня при обрыве связи с ПЛК. Также, для контроля связи с ПЛК/устройством можно воспользоваться перечисленными по ссылке (https://simple-scada.com/help/script/comm-control.html) способами и, например, выдавать предупреждение при потере связи.
Название: Re: Отображение уровня
Отправлено: ASV56 от 14 Июля 2023, 09:45:50
Спасибо! Проблема решена.