1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Как сменить цвет стрелки/текста ?

Модератор: специалисты Weintek

Ответить

Автор темы
UdJ1n
здесь недавно
здесь недавно
Сообщения: 2
Зарегистрирован: 22 июл 2020, 10:41
Имя: Евгений
Страна: Россия
город/регион: Киров

Как сменить цвет стрелки/текста ?

Сообщение UdJ1n »

Добрый день. Возникла необходимость в процессе работы ПЛК на панели Weintek изменять цвет линий (и/или)текста. Думаю реализовать данную функцию при помощи макроса. Как запрашивать изменение тега в ПЛК представляю, а вот как назначать смену цвета линии даже не представляю:

macro_command main()
int tag
GetData(tag, "Siemens S7-1200 (Ethernet)", "Data_Block[DB01]-Tag_On", 1)
if tag==1 then
*RED
else
*Black
end if
end macro_command

* - под данным символом должны быть указана неизвестная мне функция.
По аналогии в таком макросе можно менять цвет/силь/символы текста.....
Может быть кто-то сталкивался с такой проблемой? Есть идеи?
Аватара пользователя

vodav
освоился
освоился
Сообщения: 277
Зарегистрирован: 28 авг 2014, 09:30
Имя: Воднев Александр Васильевич
Страна: РФ
город/регион: Томск
Благодарил (а): 22 раза
Поблагодарили: 28 раз

Как сменить цвет стрелки/текста ?

Сообщение vodav »

Создаете индикатор на необходимое число состояний для Вашего объекта. В каждом состоянии индикатора прорисовываете объект с нужными свойствами. Затем в макросе меняете состояние индикатора.
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 17573
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 824 раза
Поблагодарили: 1651 раз

Как сменить цвет стрелки/текста ?

Сообщение Jackson »

Если значение переменной, по которой надо менять цвет, имеет ограниченное число состояний и вменяемых значений, то и макрос никакой не нужен. Например, если значение возможно "0" и "1", то создать индикатор с 2 состояниями и просто указать эту же переменную в качестве источника. Если источник данных панели - всего один контроллер, то прямо на адрес контроллера и сослаться.

В настройках проекта только не забыть включить "быстрое отображение окон", иначе при потере связи с устройством панель будет спотыкаться на каждом таком элементе, пытаясь контроллер опросить (задержка длиной в тайм-аут на каждом элементе)
По вопросам работы Форума можно обратиться по этим контактам.

Автор темы
UdJ1n
здесь недавно
здесь недавно
Сообщения: 2
Зарегистрирован: 22 июл 2020, 10:41
Имя: Евгений
Страна: Россия
город/регион: Киров

Как сменить цвет стрелки/текста ?

Сообщение UdJ1n »

Спасибо за информацию. Проблема только в том, что у меня в проекте линии разные (длины и типы) и их штук 20-30 в разных окнах , хотел макросом менять их цвет. А если делать как изображение, тогда их надо подгонять все в каком-то редакторе изображений. Хотел сделать проще: написать макрос, который бы вызывался по смене состояния бита))).
Думаю, что тема закрыта, прочитал всякую инфу и послушал разных людей - сдела вывод, что макросом данное действие никто не реализовывал. Все предлагают через индикатор изображения.

VanMo
специалист по WEINTEK
специалист по WEINTEK
Сообщения: 120
Зарегистрирован: 05 фев 2014, 12:22
Имя: Иван Николаевич
Поблагодарили: 21 раз

Как сменить цвет стрелки/текста ?

Сообщение VanMo »

Менять цвет объектов в рантайме нельзя. Исключение - объект Динамический рисунок.
Макрос взаимодействует с внешним миром только через регистровую память, если объект способен меняться через привязанный регистр, то с ним можно взаимодействовать из макроса через этот регистр.
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 17573
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 824 раза
Поблагодарили: 1651 раз

Как сменить цвет стрелки/текста ?

Сообщение Jackson »

Я кажется понимаю.

Подобным образом я раскрашивал шины (электрические). Фоном лежит статичная графика, а поверх лежат числовые индикаторы с фигурой "линия", каждое состояние своим цветом. Состояния вычисляются макросом, только макрос не по событию крутится а постоянно в цикле (участков шин много).
По вопросам работы Форума можно обратиться по этим контактам.
Ответить

Вернуться в «WEINTEK (операторские панели)»