Skip to content

Карты атрибутов

Данный материал описывает функционал внешнего модуля Карты атрибутов — Формирование карт атрибутов для логирования событий из моделей XLS.

Ожидаемый результат: Пользователь ознакомлен с базовым функционалом модуля и способен самостоятельно пользоваться его функционалом.

Внешний модуль системы Uniplant Atomix, предназначенный для автоматизированного формирования и актуализации карт атрибутов в проекте alpha.DevStudio на основе данных из модели AplhaAlarms.xls и шаблонов каналов в файлах OBJTYPE. Модуль обеспечивает точное соответствие параметров логирования (архивации, уровней тревог, звуковых сигналов) между типовым описанием объекта и его реализацией в проекте.

Внешний вид модуля в Uniplant Atomix

Section titled “Внешний вид модуля в Uniplant Atomix”

Внешний вид модуля Карты атрибутов в Uniplant Atomix

Карточка внешнего модуля «Карты атрибутов» в Uniplant Atomix

  • Автоматическое сравнение значений атрибутов каналов в проекте DevStudio с эталонными значениями из AplhaAlarms.xls.
  • Создание или обновление карт атрибутов в приложении IOS_App для переопределения значений атрибутов.
  • Гарантия соответствия уровня аварии (alarmLevel) и его параметров (период архивации, звук, квитирование) по всему проекту.
  • Поддержка гибкой настройки — позволяет изменить уровень тревоги для конкретного канала без создания нового объекта или изменения библиотечных типов.
  • Модель ПЛК (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).

В файле задаётся ключ уровня аварии (alarmLevel в столбце key) и набор атрибутов DevStudio для каждой строки: логирование, важность, звук, стратегия квитирования, описание уровня.

Пример заполнения AplhaAlarms.xls

Пример таблицы в AplhaAlarms.xls: уровни Alarm, Fire, WarningHi, WarningLo и соответствующие атрибуты (LogIsActive, Severity, Sound, AckStrategy, description)

Столбец (смысл)Назначение
key / alarmLevelИмя уровня аварии (должно совпадать со значением в OBJTYPE)
Необходимость логированияLogIsActive
ВажностьSeverity
ЗвукSound
Необходимость квитированияAckStrategy
Наименование уровня аварийdescription (для справки)
  1. Сканирование модели ПЛК — модуль находит все объекты с указанным OBJTYPENAME и Template.
  2. Извлечение alarmLevel — для каждого канала извлекается значение alarmLevel из соответствующего листа шаблона в OBJTYPE.
  3. Сопоставление с AplhaAlarms.xls — модуль находит строку, где alarmLevel совпадает, и извлекает соответствующие атрибуты DevStudio.
  4. Проверка текущих значений — модуль проверяет, соответствуют ли текущие значения атрибутов в проекте DevStudio эталонным значениям из AplhaAlarms.xls.
  5. Создание или обновление карты атрибутов — если значения не совпадают, модуль создает или обновляет запись в карте атрибутов для переопределения значений.

Важные проверки перед запуском

Section titled “Важные проверки перед запуском”

Перед генерацией модуль проверяет:

  • выбран ли целевой IOS Application в настройках;
  • валидны ли данные AplhaAlarms.xls;
  • найден ли объект ПЛК, указанный в текущей модели;
  • загружены ли карты атрибутов выбранного IOS Application.

Если одна из проверок не пройдена, модуль записывает причину в лог и завершает работу без частичного обновления.

Что важно в поведении при обновлении

Section titled “Что важно в поведении при обновлении”
  • Перед записью новых значений модуль очищает карты атрибутов выбранного IOS Application от старых записей текущего ПЛК, чтобы не оставались устаревшие переопределения.
  • Каналы без имени в VS:DevStudioName пропускаются.
  • Если объект или канал не найден в DevStudio, модуль продолжает обработку остальных каналов и фиксирует предупреждение в логе.
  • Если значение атрибута уже совпадает с базовым (DefaultValue), новая запись в карту не создаётся.

Интерфейс модуля Карты атрибутов

Рисунок 1 – “Интерфейс модуля Карты атрибутов”

Модель ПЛК:

  • Объект P0_85_020_JF_CA_1004_PUMP1 с OBJTYPENAME = "PUMP" и Template = "4_20mA_R3"

OBJTYPE (PUMP.xls):

  • Лист 4_20mA_R3, колонка alarmLevel = 2

AplhaAlarms.xls:

  • Строка с alarmLevel = 2:
    • LogIsActive = true
    • Severity = "Warning"
    • Sound = "Alarm"
    • AckStrategy = "Manual"

Модуль создаст или обновит карту атрибутов для канала P0_85_020_JF_CA_1004_PUMP1, установив:

  • LogIsActive = true
  • Severity = "Warning"
  • Sound = "Alarm"
  • AckStrategy = "Manual"

Карта атрибутов

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

Переопределенные значения

Рисунок 3 – “Переопределенные значения в карте атрибутов”

Модуль использует следующие параметры:

  • Путь к модели ПЛК — указывается в настройках проекта 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).