Отображение компонента GUI В Ignition динамически с использованием Python/Jython Script

В настоящее время я показываю несколько определенных пользователем компонентов GUI (шаблонов) (давайте назовем его name: signal) в некоторых из моих основных окон. Эти компоненты графического интерфейса распространены вокруг окон и их довольно много (>50 на окно), и у меня есть несколько таких окон.

введите описание изображения здесь

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

введите описание изображения здесь

Мои вопросы:

  1. Как получить список GUI-компонента (шаблона) того же типа (сигнала), используя Ignition Python/Jython Сценарий?
  2. Как получить его пользовательские свойства (такие как customDisplayName)
  3. Как нарисовать GUI компонент (шаблон) динамически?

На данный момент я могу перетаскивать компоненты (делая точную копию отображаемых сигналов) в списке контейнеров, который я использую для отображения шаблона сигнала. Но так как возможно добавление нового сигнала в GUI, я ищу более автоматизированное решение (если оно есть).

1 ответ

Ignition поддерживает получение компонентов графического интерфейса .components из компонента типа контейнера с помощью Jython скрипт.

Итак, в конце концов, реализация моего решения для этого вопроса была:

for comp in rootcontainer.components: #looping through every component in the root container
    if 'MySignal' in comp.name: #check the name of the component, see if it matches
        #do the logic here
Другие вопросы по тегам