Всем добрый день!
Подскажите, можно ли в PCS7 (WinCC v7.2 upd7) вызвать faceplate регулятора при нажатии на объект, созданный пользователем (текст)?
Пытался сделать через с-скрипт с помощью функции PCS7_OpenGroupDisplay_V6 (как разработчик проекта делал на самих регуляторах), но при клике ничего не происходит. В apdiag посмотрел, вроде аргументы функции правильные присваивает. Может есть иной способ реализации. Документации пока не нашел по вопросу.
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
PCS7 вызвать faceplate по щелчку
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 12
- Зарегистрирован: 01 июн 2022, 15:51
- Имя: Иван
- Страна: Россия
- город/регион: Kazan
- Благодарил (а): 3 раза
-
- эксперт
- Сообщения: 1035
- Зарегистрирован: 31 мар 2018, 12:05
- Имя: Вячеслав
- Благодарил (а): 100 раз
- Поблагодарили: 141 раз
PCS7 вызвать faceplate по щелчку
IvanKondratyev, её работал с пцс, в винсиси я бы сделал так: поверх обьекта поставил какую то фигуру невидимую и по клику на неё сделал событие.
Это если у самого объекта нет вкладки events
Это если у самого объекта нет вкладки events
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
PCS7 вызвать faceplate по щелчку
в свойствах элемента, во вкладке events нужно два действия, присвоить по клику элементу picture_window требуемый вам экран (регулятор), второе действие сделать этот picture_window видимым.IvanKondratyev писал(а): ↑31 авг 2023, 15:51 вызвать faceplate регулятора при нажатии на объект, созданный пользователем (текст)
Это самое простое…но можно и уйти от классического способа winCC, а сделать по PCS-ному — нарисовать свою иконку в AS, синхронизировать AS и OS, тогда эта иконка появится сама на экране в выбранной иерархии
-
- здесь недавно
- Сообщения: 12
- Зарегистрирован: 01 июн 2022, 15:51
- Имя: Иван
- Страна: Россия
- город/регион: Kazan
- Благодарил (а): 3 раза
PCS7 вызвать faceplate по щелчку
Не могли бы, пожалуйста,немного подробнее расписать, где именно присваивать picture_window?megavolt86 писал(а): ↑01 сен 2023, 05:12в свойствах элемента, во вкладке events нужно два действия, присвоить по клику элементу picture_window требуемый вам экран (регулятор), второе действие сделать этот picture_window видимым.IvanKondratyev писал(а): ↑31 авг 2023, 15:51 вызвать faceplate регулятора при нажатии на объект, созданный пользователем (текст)
Это самое простое…но можно и уйти от классического способа winCC, а сделать по PCS-ному — нарисовать свою иконку в AS, синхронизировать AS и OS, тогда эта иконка появится сама на экране в выбранной иерархии
Я тоже немного раскрою вопрос. У меня есть существующий PID-регулятор в проекте,окошко faceplate которого может быть вызвано по клику на объект регулятора (customized object) с технологического экрана(мнемосхемы). Клик обрабатывается с-скриптом и вызывает окошко с помощью функции PCS7_OpenGroupDisplay_V6, которая получает параметры из customized object. Т.е для всех регуляторов вызываемый экран faceplate одинаковый, меняются только значения в нем (переменные присваиваются из свойств customized object).
Я создал новый экран(мнемосхему), на которую добавил текст (можно кнопку, не принципиально), при нажатии на который также должен открыться faceplate необходимого регулятора. Просто скопировать существующий объект регулятора не подходит, поскольку на новой мнемосхеме табличное представление информации, где должно быть только название регулятора. Свойства существующего объекта и обработчик копировал в новый объект, но почему-то окно не открывает, может что-то упустил.
Пробовал копировать существующий customized object регулятора и удалять лишние элементы отображения, оставляя только название, в таком случае все работает, по клику открывается нужный faceplate, но есть опасения, что это может повлиять на объекты регуляторов на существующих схемах, да и пцс ругнулся при удалении лишних свойств, поэтому хочется создать объект с нуля, без лишних параметров.
-
- здесь недавно
- Сообщения: 12
- Зарегистрирован: 01 июн 2022, 15:51
- Имя: Иван
- Страна: Россия
- город/регион: Kazan
- Благодарил (а): 3 раза
PCS7 вызвать faceplate по щелчку
Проблему решил. Faceplate регулятора можно открывать только по клику на customized object (судя по всему), так как должны присутствовать свойства объекта tagname, servername, tag, type, коих нет у обычных типов объектов.
Создал собственные customized object с нужными свойствами (свойства присваиваются из Output_value объектов IO_field внутри кастомизированного объекта, которые прописал вручную), в ивенты добавил с-скрипт по клику с функцией PCS7_OpenGroupDisplay_V6, все работает. Также можно скопировать существующие объекты и удалить у них лишние свойства и элементы отображения. Документации по вопросу не нашел, решил методом тыка, может есть более правильное решение.
Создал собственные customized object с нужными свойствами (свойства присваиваются из Output_value объектов IO_field внутри кастомизированного объекта, которые прописал вручную), в ивенты добавил с-скрипт по клику с функцией PCS7_OpenGroupDisplay_V6, все работает. Также можно скопировать существующие объекты и удалить у них лишние свойства и элементы отображения. Документации по вопросу не нашел, решил методом тыка, может есть более правильное решение.