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

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

Автор Тема: Взаимодействие поля с двумя тегами  (Прочитано 4618 раз)

ANDMAN

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
У меня есть поле которое отображает значение аналогового тега.
Дополнительно я хочу, чтобы по другому дискретному тегу поле меняло свой цвет на красный, когда он имеет значение TRUE.

Это возможно сделать?

deldemo

  • Старожил
  • ****
  • Сообщений: 308
    • Просмотр профиля
Re: Взаимодействие поля с двумя тегами
« Ответ #1 : 25 Января 2017, 09:47:55 »
Добавляем любой объект на схему и присваиваем ему дискретную переменную
К вновь добавленному объекту присваиваем скрипт OnDataChange

Код
begin
  if Дискретная переменная.AsInt = 1 then
    Имя Вашего поля с аналоговой переменной.Color := RGB(255,0,0)
  else
    Имя Вашего поля с аналоговой переменной.Color := RGB(255,255,255)
end.               
« Изменён: 25 Января 2017, 14:19:48 от deldemo »

ANDMAN

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Взаимодействие поля с двумя тегами
« Ответ #2 : 25 Января 2017, 10:57:58 »
Добавляем любой объект на схему и присваиваем ему дискретную переменную
К вновь добавленному объекту присваиваем скрипт OnDataChange

Дак ведь к нему уже ведь присвоена аналоговая переменная, для отображения значения, как еще можно присвоить?
« Изменён: 25 Января 2017, 11:04:39 от ANDMAN »

deldemo

  • Старожил
  • ****
  • Сообщений: 308
    • Просмотр профиля
Re: Взаимодействие поля с двумя тегами
« Ответ #3 : 25 Января 2017, 11:11:49 »
Цитировать
Добавляем любой объект на схему и присваиваем ему дискретную переменную
Этот объект добавляется помимо уже существующего поля с "аналоговым" тегом.
Объект с дискретной переменной можно сделать невидимым или поместить его на другую страницу.
Этот объект  нужен для выполнения скрипта OnDataChange при изменении дискретной переменной.

ANDMAN

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Взаимодействие поля с двумя тегами
« Ответ #4 : 25 Января 2017, 12:08:00 »
Дак, мне таких объектов много нужно, что под каждый свой скрипт писать и елемент на схеме создавать?

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Взаимодействие поля с двумя тегами
« Ответ #5 : 25 Января 2017, 13:38:12 »
ANDMAN, как и описал deldemo, сейчас для того чтобы объект отображал значение одной переменной и при этом реагировал на DataChange другой переменной придется добавлять скрытый объект, связывать его с переменной №2 и описывать OnDataChange-событие. Мы понимаем что это неудобно и уже некоторое время ведем разработку обновленной системы OnDataChange событий, чтобы в будущем такие задачи можно было решать значительно проще. Но, видимо, раньше февраля не успеем внедрить т.к. попутно нужно решать и другие задачи.

ANDMAN

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Взаимодействие поля с двумя тегами
« Ответ #6 : 25 Января 2017, 13:49:16 »
Ясно, спасибо за разъяснения.