Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: sidkurt от 09 Октября 2017, 20:04:07

Название: Цвет. Работа-стоп-авария по двум переменным.
Отправлено: sidkurt от 09 Октября 2017, 20:04:07
Вопрос простой но поиском не нашел.
Есть две битовые переменные: 1ая.-работа(1) - стоп(0); 2ая.- авария(1) - нет аварии(0).
Соответственно устройство может сигнализировать кроме всего прочего, что работает и находится в аварии одновременно. Нужна индикация изменения цвета изображения в следующем виде:
Работает без аварии - синий.
Работает с аварией- мигание синий/красный
Авария- мигает красный серый
Не работает - серый.
Пытался через доп переменную не получилось. Не могу связать две переменные.
Название: Re: Цвет. Работа-стоп-авария по двум переменным.
Отправлено: Simple-Scada от 09 Октября 2017, 20:31:57
Здравствуйте.

Нужно у изображения назначить основной переменной переменную "работа/стоп", а дополнительной переменную "авария/нет аварии". Затем в меню скриптов создать новый скрипт с типом события "Универсальный" с таким кодом:

Код
begin
  if not (Sender is TM_Object) then Exit;

  with Sender as TM_Object do
    if (Variable <> nil) and (VariableEx <> nil) then
    begin
      { работает / не работает }
      if Variable.AsBool = TRUE then
        Color := clDodgerBlue
      else
        Color := clNone;

      { авария / без аварии }
      if VariableEx.AsBool = TRUE then
        FlashColor := clRed
      else
        FlashColor := clNone;
    end;
end.

Теперь остается этот скрипт назначить изображению на события OnDataChange и OnDataChangeEx. Данный скрипт универсальный и подойдет любым другим изображениям, которые должны работать по тому же принципу.

Смотрите другие примеры скриптов в руководстве по скриптам (https://simple-scada.com/help/script/sample-scripts.html).