Через триггер окна.
Еще можно посмотреть тут: Открытие всплывающего окна по состоянию тэга
И тут: Открытие всплывающего окна в клиенте визуализации по заданному параметру проекта
Через триггер окна.
Еще можно посмотреть тут: Открытие всплывающего окна по состоянию тэга
И тут: Открытие всплывающего окна в клиенте визуализации по заданному параметру проекта
Добрый день!
Открыть окно через триггер я понимаю как сделать.
Не могу понять как привязывать одно всплывающее окно к разным переменным.
ПРИМЕР:
Вот несколько примитивов, при вызове контекстного меню из них открывается всплывающее окно, в котором есть две кнопки. При нажатии на эти кнопки, они должны передать в параметр привязанный к этому значение, которое установлено на кнопку (на каждой кнопке свое значение).
болид2.png
Соответственно при клике на "Раздел 1" значение с кнопок должно передаться только в "управление разделом 1". Если всплывающее окно открыто с "Раздел 3", то значения должны передаться только в переменную "Управление разделом 3":
болид.png
Можно сделать всплывающее окно для каждого раздела, но это ИМХО неверный путь.
Это как раз верный путь.
Создать в библиотеке объект "Раздел" - с переменными, окнами, сообщениями, блэкджеком...
А потом в проект добавить нужное количество экземпляров библиотечного объекта "Раздел" со своими привязками к внешним тегам (сервис восстановления внешних связей может несколько упростить жизнь в процессе копирования)
Может я не так понял...
ТС хочет универсальное окно с динамической привязкой, такое как в FactoryTalk или SimpleScada. И это как раз правильный путь.
Не знаю как тут, но в FactoryTalk лицензируется количество разработанных в проекте окон, а вот в WinCC, например, количество внешних тэгов...
И данная привязка к тэгам влечет низкую ответственность разработчиков в своем творении. Встречал проекты на WinCC, где количество окон за 300... А там, где можно сделать на универсальном окне, то хватает 30-40 окон для объекта с 1000 механизмов.
Я в курсе про сименсовскую возможность, но разработчики не парились. Часть сделали через эту штуку, часть через индивидуальные окна...
Вот, кстати: 2222222.png
Здравствуйте!
Накидал пример: PopupWindow.zip
Другой вариант - делать свой компонент.