Skip to content

Список тегов

Данный материал описывает функционал внутреннего модуля Список тегов и алгоритм работы вкладки UserTagTree.

Ожидаемый результат: Пользователь понимает, какие объекты попадают в список, как выполняется сопоставление с мнемосхемами HMI, как работать с окном ненайденных, окном автозаполнения, фильтрами и сохранением выбора.

Модуль Список тегов предназначен для сопоставления объектов проекта DevStudio (по атрибуту SystemTag) с мнемосхемами проекта HMI. Основной интерфейс модуля — вкладка UserTagTree: таблица тегов, выбор мнемосхемы для каждого объекта, фильтрация и автозаполнение неоднозначных привязок.

Модуль открывается из бокового меню Uniplant Atomix — пункт «Список тегов». Для автозаполнения используется структура экранов из модуля Дерево мнемосхем.

Окно модуля состоит из верхней панели инструментов, центральной таблицы тегов, строки состояния под таблицей и панели Лог в нижней части.

Вкладка UserTagTree, общий вид

Рис. 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. Меняется через «Обзор пути».

Основная область — таблица со списком объектов и результатом сопоставления. Столбцы:

СтолбецСодержание
Init_AP_TagЗначение тега инициализации (_init_AP_Tag) на выбранной мнемосхеме.
SystemTagЗначение атрибута SystemTag объекта в DevStudio.
DescriptionОписание объекта (атрибут из DevStudio).
DevStudioTypeТип объекта в DevStudio (например, DIProc1_PLC).
IusPathПолный путь к объекту в дереве DevStudio.
SymbolИмя графического символа на мнемосхеме.
Имя мнемосхемыВыбранная или предложенная мнемосхема HMI; для неоднозначных строк выбирается вручную из списка.
IDУникальный идентификатор записи (GUID).
AccessРежим доступа к мнемосхеме (например, CWTMnemo).

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

Под таблицей отображается сводка по текущему фильтру, например: «977 записей найдено из 1083» — сколько строк видно в таблице из общего числа загруженных объектов.

В нижней части окна — журнал операций модуля. Панель инструментов лога:

  • Автоскролл — автоматическая прокрутка к новым сообщениям.
  • Очистить — очистка списка сообщений.
  • Фильтры уровней: Base, Debug, Info, Warn, Error, Fatal.
  • Поле поиска и фильтр Источник — отбор сообщений по тексту и источнику.

Столбцы журнала: ID, УРОВЕНЬ, ВРЕМЯ, ИСТОЧНИК, СООБЩЕНИЕ. Сообщения уровня Error (например, «Дублирующийся объект» при совпадении имён) выделяются цветом; по ним можно отследить проблемы загрузки и сопоставления.

Окно ненайденных открывается кнопкой «Показать ненайденные» на верхней панели. В нём отображаются объекты DevStudio с заполненным SystemTag, для которых при сопоставлении не найдено ни одной мнемосхемы HMI (значение _init_AP_Tag на экранах не совпало с ObjectName).

Вернуться в главное окно — той же кнопкой переключения (в режиме ненайденных она подписана «Показать найденные»).

Окно ненайденных, общий вид

Рис. 3 — Окно ненайденных: 1 — вкладки «Главная» и «Лог»; 2 — панель инструментов; 3 — таблица объектов без привязки к мнемосхеме; 4 — строка состояния

  • Главная — таблица объектов без найденной мнемосхемы.
  • Лог — журнал операций (аналогично панели лога в главном окне).

Состав кнопок тот же, что на верхней панели главного окна. Отличия в режиме ненайденных:

  • Показать ненайденные / Показать найденные — переключение обратно в главное окно; счётчик на кнопке показывает число объектов в целевом списке.
  • Скрыть применённые — не влияет на отображение: все строки в этом окне уже без привязанной мнемосхемы.
  • Автозаполнение — не применимо: для ненайденных объектов нет кандидатов мнемосхем.

В отличие от главного окна, таблица содержит только данные из DevStudio — без столбцов мнемосхемы, символа и режима доступа:

СтолбецСодержание
ObjectNameИмя объекта в DevStudio — по нему выполняется поиск совпадения на мнемосхемах.
SystemTagЗначение атрибута SystemTag. Пустое или отсутствующее значение может отображаться как . — такой объект не участвует в сопоставлении.
DescriptionОписание объекта; при отсутствии — ..
DevStudioTypeТип объекта (например, UnetClient, int4_rw_PLC, bool_r_PLC).
IosPathПолный путь к объекту в дереве DevStudio (например, root.DCS.ALG.F2_1.L0395S01A_Regim).

У заголовков столбцов доступна фильтрация (иконка воронки в заголовке).

Отображает общее число записей в текущем списке, например: «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. Не найдено ни одной — объект попадает в окно ненайденных; в главной таблице такие строки не показываются (их количество видно на кнопке «Показать ненайденные»).


1. При сохранении выбор по каждому тегу пишется в файл и при следующем запуске восстанавливается.

2. Восстановление срабатывает только если сохранённая мнемосхема всё ещё есть среди доступных для этого объекта.

3. Кнопка «Сбросить мнемосхемы» очищает выбор у объектов с несколькими вариантами и делает резервную копию предыдущего файла выбора.


  • Переключатель «Скрыть применённые» на панели инструментов скрывает строки, где мнемосхема одна (то есть уже определена автоматически).
  • Сортировка всегда по имени тега.

Окно «Автозаполнение» открывается кнопкой «Автозаполнение» на верхней панели главного окна. В нём обрабатываются только объекты, для которых найдено больше одной подходящей мнемосхемы — для каждого нужно выбрать одну привязку или применить автоматический подбор по дереву экранов.

Окно «Автозаполнение», общий вид

Рис. 4 — Окно автозаполнения: 1 — панель «Работа с мнемосхемами»; 2 — дерево UserTree; 3 — таблица тегов с выбором мнемосхемы; 4 — строка состояния

  • Главная — дерево экранов, таблица тегов и команды применения подбора.
  • Лог — журнал операций окна автозаполнения.

Панель «Работа с мнемосхемами»

Section titled “Панель «Работа с мнемосхемами»”

Сформировать заново — пересчитывает предложения мнемосхем для всех строк таблицы с учётом выбранной ветки UserTree (см. Алгоритм подбора).

Применить ко всем — принимает предложенную мнемосхему из столбца Примененная мнемосхема для всех строк таблицы.

Применить к выделенным — то же, только для выделенных строк.

Откатить ко всем — отменяет последнее применение автозаполнения по всем строкам.

Откатить выделенные — отменяет применение только по выделенным строкам.

Очистить ко всем — сбрасывает выбранную и применённую мнемосхему у всех строк окна.

Очистить выделенные — сбрасывает выбор только у выделенных строк.

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

Слева отображается иерархия экранов проекта HMI (например, Блок-схема технологических установок, Причинно-следственные диаграммы, Журналы и Тренды). Выделите ветку, в пределах которой должны искаться мнемосхемы-кандидаты: перед подбором список сужается до экранов, входящих в выбранную ветку. Структура дерева формируется модулем Дерево мнемосхем.

СтолбецСодержание
TagИмя тега / объекта (ObjectName).
DescriptionОписание из DevStudio.
DevStudioTypeТип объекта.
IosPathПуть к объекту в DevStudio.
SymbolИмя символа на мнемосхеме.
Имя мнемосхемыВыпадающий список всех кандидатов; можно выбрать мнемосхему вручную.
Примененная мнемосхемаМнемосхема, предложенная автозаполнением или принятая после «Применить»; перед применением сверяйте с кандидатами в Имя мнемосхемы.
  • Слева — число записей в таблице, например: «184 записей найдено из 184».
  • Справа — время последней операции, например: «Затрачено времени 00:00:00».

1. В окно попадают только объекты, у которых больше одной подходящей мнемосхемы.

2. Перед подбором список кандидатов сужается до мнемосхем, которые входят в выбранную ветку дерева UserTree.

3. Из оставшихся выбирается самая глубоко вложенная мнемосхема в дереве экранов; результат отображается в столбце Примененная мнемосхема.

4. Если на самом глубоком уровне оказались две разные мнемосхемы — автозаполнение для этого объекта не выполняется, в лог выводится предупреждение о дубликатах; мнемосхему нужно выбрать вручную в столбце Имя мнемосхемы.