Карты атрибутов
Данный материал описывает функционал внешнего модуля Карты атрибутов — Формирование карт атрибутов для логирования событий из моделей XLS.
Ожидаемый результат: Пользователь ознакомлен с базовым функционалом модуля и способен самостоятельно пользоваться его функционалом.
Введение
Section titled “Введение”Внешний модуль системы Uniplant Atomix, предназначенный для автоматизированного формирования и актуализации карт атрибутов в проекте alpha.DevStudio на основе данных из модели AplhaAlarms.xls и шаблонов каналов в файлах OBJTYPE. Модуль обеспечивает точное соответствие параметров логирования (архивации, уровней тревог, звуковых сигналов) между типовым описанием объекта и его реализацией в проекте.
Внешний вид модуля в Uniplant Atomix
Section titled “Внешний вид модуля в Uniplant Atomix”
Карточка внешнего модуля «Карты атрибутов» в Uniplant Atomix
Как работает модуль
Section titled “Как работает модуль”Ключевые функции
Section titled “Ключевые функции”- Автоматическое сравнение значений атрибутов каналов в проекте DevStudio с эталонными значениями из
AplhaAlarms.xls. - Создание или обновление карт атрибутов в приложении
IOS_Appдля переопределения значений атрибутов. - Гарантия соответствия уровня аварии (
alarmLevel) и его параметров (период архивации, звук, квитирование) по всему проекту. - Поддержка гибкой настройки — позволяет изменить уровень тревоги для конкретного канала без создания нового объекта или изменения библиотечных типов.
Источники данных
Section titled “Источники данных”- Модель ПЛК (
JSC\Usr\Prj\Conf\Models\PLC\Logic\{Имя_ПЛК}.xlsx) — содержит экземпляры объектов с указаниемOBJTYPENAMEиTemplate. - Модели OBJTYPE (
JSC\Conf\Models\ObjTypes\{Имя_Типа}.xls) — на листах шаблонов (например,4_20mA_R3) указан параметрalarmLevel. - Файл
AplhaAlarms.xls(JSC\Conf\Models\System\Events\Alpha\AplhaAlarms.xls) — содержит таблицу соответствияalarmLevel→ атрибуты DevStudio (например,LogIsActive,Severity,Sound,AckStrategy).
Пример заполнения AplhaAlarms.xls
Section titled “Пример заполнения AplhaAlarms.xls”В файле задаётся ключ уровня аварии (alarmLevel в столбце key) и набор атрибутов DevStudio для каждой строки: логирование, важность, звук, стратегия квитирования, описание уровня.

Пример таблицы в AplhaAlarms.xls: уровни Alarm, Fire, WarningHi, WarningLo и соответствующие атрибуты (LogIsActive, Severity, Sound, AckStrategy, description)
| Столбец (смысл) | Назначение |
|---|---|
key / alarmLevel | Имя уровня аварии (должно совпадать со значением в OBJTYPE) |
| Необходимость логирования | LogIsActive |
| Важность | Severity |
| Звук | Sound |
| Необходимость квитирования | AckStrategy |
| Наименование уровня аварий | description (для справки) |
Алгоритм работы
Section titled “Алгоритм работы”- Сканирование модели ПЛК — модуль находит все объекты с указанным
OBJTYPENAMEиTemplate. - Извлечение
alarmLevel— для каждого канала извлекается значениеalarmLevelиз соответствующего листа шаблона в OBJTYPE. - Сопоставление с
AplhaAlarms.xls— модуль находит строку, гдеalarmLevelсовпадает, и извлекает соответствующие атрибуты DevStudio. - Проверка текущих значений — модуль проверяет, соответствуют ли текущие значения атрибутов в проекте DevStudio эталонным значениям из
AplhaAlarms.xls. - Создание или обновление карты атрибутов — если значения не совпадают, модуль создает или обновляет запись в карте атрибутов для переопределения значений.
Важные проверки перед запуском
Section titled “Важные проверки перед запуском”Перед генерацией модуль проверяет:
- выбран ли целевой
IOS Applicationв настройках; - валидны ли данные
AplhaAlarms.xls; - найден ли объект ПЛК, указанный в текущей модели;
- загружены ли карты атрибутов выбранного
IOS Application.
Если одна из проверок не пройдена, модуль записывает причину в лог и завершает работу без частичного обновления.
Что важно в поведении при обновлении
Section titled “Что важно в поведении при обновлении”- Перед записью новых значений модуль очищает карты атрибутов выбранного
IOS Applicationот старых записей текущего ПЛК, чтобы не оставались устаревшие переопределения. - Каналы без имени в
VS:DevStudioNameпропускаются. - Если объект или канал не найден в
DevStudio, модуль продолжает обработку остальных каналов и фиксирует предупреждение в логе. - Если значение атрибута уже совпадает с базовым (
DefaultValue), новая запись в карту не создаётся.

Рисунок 1 – “Интерфейс модуля Карты атрибутов”
Пример использования
Section titled “Пример использования”Исходные данные
Section titled “Исходные данные”Модель ПЛК:
- Объект
P0_85_020_JF_CA_1004_PUMP1сOBJTYPENAME = "PUMP"иTemplate = "4_20mA_R3"
OBJTYPE (PUMP.xls):
- Лист
4_20mA_R3, колонкаalarmLevel = 2
- Строка с
alarmLevel = 2:LogIsActive = trueSeverity = "Warning"Sound = "Alarm"AckStrategy = "Manual"
Результат
Section titled “Результат”Модуль создаст или обновит карту атрибутов для канала P0_85_020_JF_CA_1004_PUMP1, установив:
LogIsActive = trueSeverity = "Warning"Sound = "Alarm"AckStrategy = "Manual"

Рисунок 2 – “Карта атрибутов”

Рисунок 3 – “Переопределенные значения в карте атрибутов”
Настройка
Section titled “Настройка”Модуль использует следующие параметры:
- Путь к модели ПЛК — указывается в настройках проекта Uniplant Atomix.
- Путь к OBJTYPE — указывается в настройках проекта Uniplant Atomix.
- Путь к
AplhaAlarms.xls— указывается в настройках проекта Uniplant Atomix.
Дополнительная информация
Section titled “Дополнительная информация”
Рисунок 4 – “Атрибуты канала в DevStudio”
Модуль работает с атрибутами каналов в DevStudio, которые определяют поведение системы логирования событий:
LogIsActive— включено ли логирование для данного канала.Severity— уровень серьезности события (Info, Warning, Error, Critical).Sound— звуковой сигнал при возникновении события.AckStrategy— стратегия квитирования события (Manual, Automatic, None).
Связанные разделы
Section titled “Связанные разделы”- Логирование и уровни аварий — модель
AplhaAlarms.xls, параметрыalarmLevel - Карта OPC-адресов — использует
AplhaAlarms.xlsпри формировании карты