Список тегов
Данный материал описывает функционал внутреннего модуля Список тегов и алгоритм работы вкладки UserTagTree.
Ожидаемый результат: Пользователь понимает, какие объекты попадают в список, как выполняется сопоставление с мнемосхемами HMI, как работать с окном ненайденных, окном автозаполнения, фильтрами и сохранением выбора.
Введение
Section titled “Введение”Модуль Список тегов предназначен для сопоставления объектов проекта DevStudio (по атрибуту SystemTag) с мнемосхемами проекта HMI. Основной интерфейс модуля — вкладка UserTagTree: таблица тегов, выбор мнемосхемы для каждого объекта, фильтрация и автозаполнение неоднозначных привязок.
Модуль открывается из бокового меню Uniplant Atomix — пункт «Список тегов». Для автозаполнения используется структура экранов из модуля Дерево мнемосхем.
Интерфейс модуля
Section titled “Интерфейс модуля”Окно модуля состоит из верхней панели инструментов, центральной таблицы тегов, строки состояния под таблицей и панели Лог в нижней части.

Рис. 1 — Модуль «Список тегов»: 1 — панель «Работа с мнемосхемами»; 2 — панель «Работа с файлами»; 3 — таблица тегов; 4 — строка состояния; 5 — панель «Лог»
Верхняя панель инструментов
Section titled “Верхняя панель инструментов”Панель разделена на две группы: «Работа с мнемосхемами» (слева) и «Работа с файлами» (справа). Подписи групп расположены внизу соответствующих блоков кнопок.

Рис. 2 — Верхняя панель: слева — «Работа с мнемосхемами»; справа — «Работа с файлами» и поле пути к TagTree.json
Группа «Работа с мнемосхемами»
Section titled “Группа «Работа с мнемосхемами»”Сформировать заново — основная команда модуля (кнопка выделена цветом). Загружает объекты из выбранного приложения DevStudio, мнемосхемы из каталога HMI, выполняет сопоставление по ObjectName и _init_AP_Tag и обновляет таблицу. Нажимайте после изменения проектов DevStudio или HMI, а также после правки правил фильтрации мнемосхем.
Сбросить мнемосхемы — сбрасывает выбранные мнемосхемы у объектов, для которых было несколько вариантов. Перед сбросом создаётся резервная копия файла выбора (см. Запоминание выбора).
Автозаполнение — открывает окно автозаполнения для строк с несколькими кандидатами мнемосхем. Для объектов без найденной мнемосхемы не применяется.
Скрыть применённые — переключатель: скрывает в таблице строки, где мнемосхема уже однозначно определена (один кандидат или выбор сохранён). Удобно, чтобы сосредоточиться на неоднозначных привязках.
Показать ненайденные — кнопка-переключатель с счётчиком (например, «1083 шт.»). Открывает окно ненайденных: объекты DevStudio с SystemTag, для которых не найдено ни одной подходящей мнемосхемы. Число на кнопке — количество таких объектов. В окне ненайденных та же кнопка переключает обратно в главное окно (подпись меняется на «Показать найденные» с актуальным счётчиком).
Установить фильтр — открывает список правил отсечения мнемосхем по имени. Активные правила исключают мнемосхемы, в имени которых встречается заданный текст (см. Какие мнемосхемы отбрасываются).
Группа «Работа с файлами»
Section titled “Группа «Работа с файлами»”Обзор пути — выбор файла TagTree.json через диалог. В этом файле хранятся сохранённые привязки тегов к мнемосхемам; путь отображается в поле справа от кнопок.
Сохранить — записывает текущий выбор мнемосхем по всем тегам в файл, указанный в поле пути.
Поле пути — нередактируемое отображение полного пути к рабочему файлу, например: C:\Work\SVN\...\HMI\output\TagTree.json. Меняется через «Обзор пути».
Таблица тегов
Section titled “Таблица тегов”Основная область — таблица со списком объектов и результатом сопоставления. Столбцы:
| Столбец | Содержание |
|---|---|
| Init_AP_Tag | Значение тега инициализации (_init_AP_Tag) на выбранной мнемосхеме. |
| SystemTag | Значение атрибута SystemTag объекта в DevStudio. |
| Description | Описание объекта (атрибут из DevStudio). |
| DevStudioType | Тип объекта в DevStudio (например, DIProc1_PLC). |
| IusPath | Полный путь к объекту в дереве DevStudio. |
| Symbol | Имя графического символа на мнемосхеме. |
| Имя мнемосхемы | Выбранная или предложенная мнемосхема HMI; для неоднозначных строк выбирается вручную из списка. |
| ID | Уникальный идентификатор записи (GUID). |
| Access | Режим доступа к мнемосхеме (например, CWTMnemo). |
Строки с одной найденной мнемосхемой заполняются автоматически; строки с несколькими кандидатами остаются в основном списке до ручного выбора или автозаполнения.
Строка состояния
Section titled “Строка состояния”Под таблицей отображается сводка по текущему фильтру, например: «977 записей найдено из 1083» — сколько строк видно в таблице из общего числа загруженных объектов.
Панель «Лог»
Section titled “Панель «Лог»”В нижней части окна — журнал операций модуля. Панель инструментов лога:
- Автоскролл — автоматическая прокрутка к новым сообщениям.
- Очистить — очистка списка сообщений.
- Фильтры уровней: Base, Debug, Info, Warn, Error, Fatal.
- Поле поиска и фильтр Источник — отбор сообщений по тексту и источнику.
Столбцы журнала: ID, УРОВЕНЬ, ВРЕМЯ, ИСТОЧНИК, СООБЩЕНИЕ. Сообщения уровня Error (например, «Дублирующийся объект» при совпадении имён) выделяются цветом; по ним можно отследить проблемы загрузки и сопоставления.
Окно ненайденных
Section titled “Окно ненайденных”Окно ненайденных открывается кнопкой «Показать ненайденные» на верхней панели. В нём отображаются объекты DevStudio с заполненным SystemTag, для которых при сопоставлении не найдено ни одной мнемосхемы HMI (значение _init_AP_Tag на экранах не совпало с ObjectName).
Вернуться в главное окно — той же кнопкой переключения (в режиме ненайденных она подписана «Показать найденные»).

Рис. 3 — Окно ненайденных: 1 — вкладки «Главная» и «Лог»; 2 — панель инструментов; 3 — таблица объектов без привязки к мнемосхеме; 4 — строка состояния
Вкладки
Section titled “Вкладки”- Главная — таблица объектов без найденной мнемосхемы.
- Лог — журнал операций (аналогично панели лога в главном окне).
Панель инструментов
Section titled “Панель инструментов”Состав кнопок тот же, что на верхней панели главного окна. Отличия в режиме ненайденных:
- Показать ненайденные / Показать найденные — переключение обратно в главное окно; счётчик на кнопке показывает число объектов в целевом списке.
- Скрыть применённые — не влияет на отображение: все строки в этом окне уже без привязанной мнемосхемы.
- Автозаполнение — не применимо: для ненайденных объектов нет кандидатов мнемосхем.
Таблица объектов
Section titled “Таблица объектов”В отличие от главного окна, таблица содержит только данные из DevStudio — без столбцов мнемосхемы, символа и режима доступа:
| Столбец | Содержание |
|---|---|
| ObjectName | Имя объекта в DevStudio — по нему выполняется поиск совпадения на мнемосхемах. |
| SystemTag | Значение атрибута SystemTag. Пустое или отсутствующее значение может отображаться как . — такой объект не участвует в сопоставлении. |
| Description | Описание объекта; при отсутствии — .. |
| DevStudioType | Тип объекта (например, UnetClient, int4_rw_PLC, bool_r_PLC). |
| IosPath | Полный путь к объекту в дереве DevStudio (например, root.DCS.ALG.F2_1.L0395S01A_Regim). |
У заголовков столбцов доступна фильтрация (иконка воронки в заголовке).
Строка состояния
Section titled “Строка состояния”Отображает общее число записей в текущем списке, например: «1 083 записей найдено из 1 083» — все объекты с SystemTag из выбранного приложения DevStudio, для которых не подобрана мнемосхема.
Что попадает в список объектов
Section titled “Что попадает в список объектов”1. Берутся все объекты из выбранного приложения DevStudio.
2. Объект попадает в список, если у него есть атрибут SystemTag с непустым значением — напрямую или через ссылку на объект PLC.
3. Если встретились два объекта с одинаковым именем — в лог пишется ошибка «Дублирующийся объект», в работу берётся первый.
Как объект связывается с мнемосхемой
Section titled “Как объект связывается с мнемосхемой”1. Мнемосхемы загружаются из папки objects внутри указанного каталога HMI.
2. Внутри каждой мнемосхемы ищется блок инициализации тега (_init_AP_Tag).
3. Значение этого тега в мнемосхеме сравнивается с именем объекта (ObjectName) из DevStudio.
4. Сравнение строгое: с учётом регистра, без замены символов, без шаблонов.
5. SystemTag в самом сопоставлении не участвует — он нужен только чтобы объект вообще попал в список.
Какие мнемосхемы отбрасываются
Section titled “Какие мнемосхемы отбрасываются”1. Скрытые мнемосхемы (IsHidden) — не показываются никогда.
2. Мнемосхемы, имя которых содержит текст любого активного правила из списка фильтров (кнопка настройки фильтров).
3. Правила с пустым текстом игнорируются.
4. Если активных правил нет — фильтрация по имени не применяется.
Куда попадает объект после поиска
Section titled “Куда попадает объект после поиска”1. Найдена одна мнемосхема — она автоматически проставляется как выбранная.
2. Найдено несколько — объект показывается в основном списке; мнемосхему выбирают вручную в таблице или через окно автозаполнения.
3. Не найдено ни одной — объект попадает в окно ненайденных; в главной таблице такие строки не показываются (их количество видно на кнопке «Показать ненайденные»).
Запоминание выбора
Section titled “Запоминание выбора”1. При сохранении выбор по каждому тегу пишется в файл и при следующем запуске восстанавливается.
2. Восстановление срабатывает только если сохранённая мнемосхема всё ещё есть среди доступных для этого объекта.
3. Кнопка «Сбросить мнемосхемы» очищает выбор у объектов с несколькими вариантами и делает резервную копию предыдущего файла выбора.
Фильтр в таблице
Section titled “Фильтр в таблице”- Переключатель «Скрыть применённые» на панели инструментов скрывает строки, где мнемосхема одна (то есть уже определена автоматически).
- Сортировка всегда по имени тега.
Окно автозаполнения
Section titled “Окно автозаполнения”Окно «Автозаполнение» открывается кнопкой «Автозаполнение» на верхней панели главного окна. В нём обрабатываются только объекты, для которых найдено больше одной подходящей мнемосхемы — для каждого нужно выбрать одну привязку или применить автоматический подбор по дереву экранов.

Рис. 4 — Окно автозаполнения: 1 — панель «Работа с мнемосхемами»; 2 — дерево UserTree; 3 — таблица тегов с выбором мнемосхемы; 4 — строка состояния
Вкладки
Section titled “Вкладки”- Главная — дерево экранов, таблица тегов и команды применения подбора.
- Лог — журнал операций окна автозаполнения.
Панель «Работа с мнемосхемами»
Section titled “Панель «Работа с мнемосхемами»”Сформировать заново — пересчитывает предложения мнемосхем для всех строк таблицы с учётом выбранной ветки UserTree (см. Алгоритм подбора).
Применить ко всем — принимает предложенную мнемосхему из столбца Примененная мнемосхема для всех строк таблицы.
Применить к выделенным — то же, только для выделенных строк.
Откатить ко всем — отменяет последнее применение автозаполнения по всем строкам.
Откатить выделенные — отменяет применение только по выделенным строкам.
Очистить ко всем — сбрасывает выбранную и применённую мнемосхему у всех строк окна.
Очистить выделенные — сбрасывает выбор только у выделенных строк.
После применения изменений вернитесь в главное окно модуля и нажмите «Сохранить», чтобы записать привязки в TagTree.json.
Дерево UserTree
Section titled “Дерево UserTree”Слева отображается иерархия экранов проекта HMI (например, Блок-схема технологических установок, Причинно-следственные диаграммы, Журналы и Тренды). Выделите ветку, в пределах которой должны искаться мнемосхемы-кандидаты: перед подбором список сужается до экранов, входящих в выбранную ветку. Структура дерева формируется модулем Дерево мнемосхем.
Таблица тегов
Section titled “Таблица тегов”| Столбец | Содержание |
|---|---|
| Tag | Имя тега / объекта (ObjectName). |
| Description | Описание из DevStudio. |
| DevStudioType | Тип объекта. |
| IosPath | Путь к объекту в DevStudio. |
| Symbol | Имя символа на мнемосхеме. |
| Имя мнемосхемы | Выпадающий список всех кандидатов; можно выбрать мнемосхему вручную. |
| Примененная мнемосхема | Мнемосхема, предложенная автозаполнением или принятая после «Применить»; перед применением сверяйте с кандидатами в Имя мнемосхемы. |
Строка состояния
Section titled “Строка состояния”- Слева — число записей в таблице, например: «184 записей найдено из 184».
- Справа — время последней операции, например: «Затрачено времени 00:00:00».
Алгоритм подбора
Section titled “Алгоритм подбора”1. В окно попадают только объекты, у которых больше одной подходящей мнемосхемы.
2. Перед подбором список кандидатов сужается до мнемосхем, которые входят в выбранную ветку дерева UserTree.
3. Из оставшихся выбирается самая глубоко вложенная мнемосхема в дереве экранов; результат отображается в столбце Примененная мнемосхема.
4. Если на самом глубоком уровне оказались две разные мнемосхемы — автозаполнение для этого объекта не выполняется, в лог выводится предупреждение о дубликатах; мнемосхему нужно выбрать вручную в столбце Имя мнемосхемы.