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

Активный пункт меню

Ответить
Аватара пользователя

Автор темы
iluha
здесь недавно
здесь недавно
Сообщения: 36
Зарегистрирован: 27 июл 2020, 12:40
Имя: Илья
Страна: Узбекистан
город/регион: Ташкент
Благодарил (а): 1 раз
Поблагодарили: 7 раз

Активный пункт меню

Сообщение iluha »

Всем здрасьте.

Имеется:
- редактор WinCC v7.5 Graphic Designer.
- отрисованы с технологической красотой 6 окон/экранов .pdl
- в шапке каждого она есть кнопки-меню для переключения между экранами

Как оформить кнопку текущего активного окна?
По какому параметру/критерию/тегу можно изменять оформление кнопки на текущем экране?

Спасибо.

LexSL
осмотрелся
осмотрелся
Сообщения: 191
Зарегистрирован: 16 дек 2011, 15:13
Имя: Алексей
Страна: Россия
Благодарил (а): 59 раз
Поблагодарили: 44 раза

Активный пункт меню

Сообщение LexSL »

Обычно создаю тег int (screenNumber) и по нажатию кнопки присваиваю значение ему определенное.
А в свойствах Backround Color создаю скрипт (vb action), триггером которого является изменение указанного тега. В скрипте сравниваю значение тега с тем, которое присвоено кнопке и раскрашиваю BackColor нужным цветом.
sample.gif
Это самый простой путь.
А так - у меня Start.pdl стартовый экран, на котором лежит два Picture Window (один внизу - для кнопок с отдельной pdl - Toolbar.pdl,
второй picture Window практически во все окно - в нем отображаются pdl мнемосхемы).
Выглядит вот так:
3.png
По нажатию кнопки в Toolbar.pdl я скриптом добираюсь до ViewScreen.pdl и в нем открываю необходимый pdl.
А в качестве кнопок использую Faceplate, в котором есть кнопка и ряд тегов (например для индекса кнопки, имени окна которое откроет эта кнопка и проч).
У вас нет необходимых прав для просмотра вложений в этом сообщении.

stesl
эксперт
эксперт
Сообщения: 1002
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 87 раз
Поблагодарили: 126 раз

Активный пункт меню

Сообщение stesl »

iluha писал(а): 17 ноя 2021, 11:14 Как оформить кнопку текущего активного окна?
В каком смысле оформить?
iluha писал(а): 17 ноя 2021, 11:14 По какому параметру/критерию/тегу можно изменять оформление кнопки на текущем экране?
Да по всем доступным
Что конкретно Вы хотите реализовать?

makesstr
осмотрелся
осмотрелся
Сообщения: 192
Зарегистрирован: 19 сен 2019, 10:09
Имя: Макс
Страна: Россия
город/регион: Славянск-на-Кубани
Благодарил (а): 5 раз
Поблагодарили: 34 раза

Активный пункт меню

Сообщение makesstr »

LexSL писал(а): 17 ноя 2021, 15:14 Обычно создаю тег int (screenNumber) и по нажатию кнопки присваиваю значение ему определенное.
А в свойствах Backround Color создаю скрипт (vb action), триггером которого является изменение указанного тега. В скрипте сравниваю значение тега с тем, которое присвоено кнопке и раскрашиваю BackColor нужным цветом.
sample.gif
Это самый простой путь.
А так - у меня Start.pdl стартовый экран, на котором лежит два Picture Window (один внизу - для кнопок с отдельной pdl - Toolbar.pdl,
второй picture Window практически во все окно - в нем отображаются pdl мнемосхемы).
Выглядит вот так:
3.png
По нажатию кнопки в Toolbar.pdl я скриптом добираюсь до ViewScreen.pdl и в нем открываю необходимый pdl.
А в качестве кнопок использую Faceplate, в котором есть кнопка и ряд тегов (например для индекса кнопки, имени окна которое откроет эта кнопка и проч).
Что-то у вас очень сложно.
Почему например нельзя просто заливать нажатую кнопку синим цветом, а все остальные серым? Менять свойство PictureName "ОКНО КАДРА" при нажатии на ту или иную кнопку? Зачем вешать скрипты на свойства? Зачем нужно создавать теги?
WinCC 7.4 SP1 Upd15, Step5.6

ZuElecRu
освоился
освоился
Сообщения: 290
Зарегистрирован: 09 авг 2016, 13:49
Имя: Чистилин Андрей Анатольевич
Страна: Россия
город/регион: Малоярославец
Благодарил (а): 31 раз
Поблагодарили: 35 раз

Активный пункт меню

Сообщение ZuElecRu »

Насколько я знаю (я работал только с WinCC Flexible) у взрослого WinCC, эран и окна это разные вещи. У вас в каждом окне копии кнопок, или вы имеете в виду одельное окно с кнопками? типа меню бар? Если в каждом окне, как у меня в простых проектах (6 экранов это простой проект) то быстрее всего создать в каждом окне копии кнопок а соотвествующюю кнопку на соотвествущем экране вы потом просто "выделяете" изменяя или цвет или форму или окантовку и т.д. Если под кнопки у вас отдельное окно (toolbar) то рецепт выше уже дан.
Аватара пользователя

Автор темы
iluha
здесь недавно
здесь недавно
Сообщения: 36
Зарегистрирован: 27 июл 2020, 12:40
Имя: Илья
Страна: Узбекистан
город/регион: Ташкент
Благодарил (а): 1 раз
Поблагодарили: 7 раз

Активный пункт меню

Сообщение iluha »

LexSL писал(а): 17 ноя 2021, 15:14 Обычно создаю тег int (screenNumber) и по нажатию кнопки присваиваю значение ему определенное.
А в свойствах Backround Color создаю скрипт (vb action), триггером которого является изменение указанного тега. В скрипте сравниваю значение тега с тем, которое присвоено кнопке и раскрашиваю BackColor нужным цветом.
sample.gif
Это самый простой путь.
А так - у меня Start.pdl стартовый экран, на котором лежит два Picture Window (один внизу - для кнопок с отдельной pdl - Toolbar.pdl,
второй picture Window практически во все окно - в нем отображаются pdl мнемосхемы).
Выглядит вот так:
3.png
По нажатию кнопки в Toolbar.pdl я скриптом добираюсь до ViewScreen.pdl и в нем открываю необходимый pdl.
А в качестве кнопок использую Faceplate, в котором есть кнопка и ряд тегов (например для индекса кнопки, имени окна которое откроет эта кнопка и проч).
Да, вот этот путь уже исследую.

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

Но, как сказал makesstr, заливка нажатой кнопки в рамках одного экрана - да, а при переходе на другой экран!?

А так, да, спасибо за наводку :good:

LexSL
осмотрелся
осмотрелся
Сообщения: 191
Зарегистрирован: 16 дек 2011, 15:13
Имя: Алексей
Страна: Россия
Благодарил (а): 59 раз
Поблагодарили: 44 раза

Активный пункт меню

Сообщение LexSL »

iluha писал(а): 18 ноя 2021, 12:26 Но, как сказал makesstr, заливка нажатой кнопки в рамках одного экрана - да, а при переходе на другой экран!?
В том то и дело, что у меня под навигацию - отдельный pdl, на котором BackColor кнопки привязан на скрипт сравнения значения. И это значение я устанавливаю по Click.
makesstr писал(а): 18 ноя 2021, 08:00 Что-то у вас очень сложно.
Кому-как, а я структуру видеокадров один раз прорисовал, нужные кнопки расставил и все.
makesstr писал(а): 18 ноя 2021, 08:00 Почему например нельзя просто заливать нажатую кнопку синим цветом, а все остальные серым?
Например, нужно поменять цвет на всех кнопках - > по Вашему открывать все pdl, где есть навигация и там менять.
У меня же открывается один pdl. Да и то, цвет меняется вообще в одном месте - в скрипте, который назначен на все кнопки!
Ответить

Вернуться в «WinCC»