Создание динамических элементов
Динамические элементы создаются на основе типов во вкладке «Типы» проекта HMI. Такие объекты могут создаваться как в виде самостоятельных графических элементов, так и на основе уже существующих визуальных объектов.
Для создания нового типа необходимо щелкнуть ПКМ по вкладке «Типы» и в контекстном меню выбрать пункт Создать → Графический объект. Задайте имя «AI_Type».

Графический объект
Нарисовать динамический элемент с помощью стандартных инструментов. Для удобства в структуре объекта можно произвольно назвать элементы графического объекта.

Структура объекта
Далее требуется создать элементы данных и источник:
Создать необходимое количество элементов в структуре объекта в соответствии с сигналами блока AI сервера.
На вкладке «Путь» указать суффикс имени тега.

Вкладка «Путь»
Источник элементов AP будет ссылаться на локальный источник ApSource. Сам ApSource будет иметь родительский источник Global.ApSource_Main, значение пути которого определяется уведомляющим string «TAG». Использование уведомляющего string необходимо для присвоения уникального тега каждому динамическому элементу мнемосхемы.

String «TAG»
Логика отображения данных реализуется следующим образом:
-
Каждому динамическому элементу проекта присваивается уникальный TAG.
-
Сервер ввода-вывода формирует вывод данных по шаблону: «TAG.[Путь элемента AP]».
Для привязки динамических данных к визуальным элементам в свойстве текста AI_Name необходимо задать вычисляемое значение, соответствующее уведомляющему string «AI_NAME». Это позволяет присвоить элементу уникальное статическое имя.

String «AI_NAME»
В свойствах Value указать конструкцию «String.ToString("%.2f", AP_Value)». Данная конструкция необходима, поскольку параметр типа Float преобразуется в текстовый формата STRING. Требуется преобразование Float → String, где "%.2f" задает формат вывода (количество знаков после запятой), а AP_Value – это элемент AP, указывающий на значение.

Свойство Value
В тексте «EUnit» будет отображаться инженерная единица измерения данного элемента AI.

«EUnit»
Далее необходимо создать цветовую индикацию. В свойствах прямоугольника для AI_NAME указать вычисляемое значение типа «Формула по условию».

Цветовая индикация
Если качество сигнала Ap_Value меньше 192 или срабатывает Ap_Error – заливка фиолетового цвета.
Если срабатывает Авария HH или LL – заливка красного цвета.
Если срабатывает Авария HI или LO – заливка жёлтого цвета.
Данный набор условий скопировать в прямоугольник со значением.

Value_Rect
Далее добавить на мнемосхему динамические элементы, заполнить их свойства в соответствии с данными на сервере.

Свойства динамических элементов
После запуска формы в среде разработки результат работы данной логики отображается на экране.

Результат работы
Состояние переменных на сервере представлено на рисунке ниже.

Состояние переменных