From OpenSCADAWiki
Строгой структуры категории и текста сообщения не предусматривается и пользователь, для собственных сообщений, может формировать их производно, но стоит учесть структуру системных сообщений и сообщений, определённых стандартными библиотеками OpenSCADA, чтобы исключить пересечение с ними, или предметно расширить:
- Системные, генерируются объектами-узлами OpenSCADA:
- КАТЕГОРИЯ: определяет типовой путь к узлу сообщения, например — "/sub_DAQ/mod_LogicLev/cntr_gen/", где:
- "/*/*" — типовой шаблон-признак системного сообщения на основе символа-разделителя элементов пути, который может быть непосредственно использован в фильтре категории для определения чисто архива системных сообщений.
- ТЕКСТ: содержит путь наименований узла сообщения и само сообщение в формате "{NodeNmPath}: {message}", например — "AGLKS > Сбор Данных > LogicLev > gen: Запуск контроллера.".
- Шлюзованные, сообщения, которые были получены из иерархически низшей станции OpenSCADA (вроде ПЛК) или передано высшей станцией:
- КАТЕГОРИЯ: в начало категории полученного сообщения добавляется идентификатор объекта контроллера модуля DAQ.DAQGate, который осуществил получение, например — "loop:alModBus:testTCP" или "TopStat(DAQCntr):alModBus:testTCP", где:
- "loop:*" — типовой шаблон-признак удалённого нижшего сообщения на основе идентификатора объекта контроллера модуля DAQ.DAQGate, который может быть непосредственно использован в фильтре категории для определения исключительно архива удалённых сообщений этого источника;
- "TopStat(DAQCntr):*" — типовой шаблон-признак удалённого высшего сообщения на основе названия проекта (или идентификатора) TopStat и идентификатора объекта контроллера модуля DAQ.DAQGate, который может быть непосредственно использован в фильтре категории для определения исключительно архива удалённых сообщений этого источника.
- Унифицированные структуры с источником данных в категории, генерируются источником данных или его процедурами с помощью функции messSet() API OpenSCADA и пользовательского API:
- КАТЕГОРИЯ: определяет ID-адрес источника нарушения в формате "{ID}{ModId}:{CntrId}[.{PrmId}][:{SpecPrms}]", где:
- ID — двухсимвольный идентификатор структуры;
- ModId — идентификатор модуля;
- CntrId — идентификатор объекта контроллера;
- PrmId — идентификатор параметра;
- SpecPrms — специфические параметры структуры ID.
- Нарушение, генерируется источником данных или его процедурами с помощью функции alarmSet() API OpenSCADA и пользовательского API:
- КАТЕГОРИЯ: определяет ID-адрес источника нарушения в формате "al{ModId}:{CntrId}[.{PrmId}]", например — "alLogicLev:gen.F_PP1", где:
- "al*" — типовой шаблон-признак сообщения нарушения на основе двух первых символов слова "alarm", который может быть непосредственно использован в фильтре категории для определения чисто архива сообщений.
- ТЕКСТ: "{CntrNm} > {PrmNm}: {MessText}", например — "Общестанционка > F_PP1: Расход газа через диафрагму PP1: НОРМА", где:
- CntrNm — название объекта контроллера;
- PrmNm — название параметра;
- MessText — текст сообщения, которое имеет подструктуру "{Viol}: {Value}[: {QuietTime}[: {NormTime}[: {Comment}]]]", где:
- Viol — описание нарушения, которое отдельные кадры, вроде Main.alarmsAct и Main.alarmsSt, могут расширять пользовательскими полями в форме "[[{CustFld0} => {CustFld1} => ... => {CustFldN}]]";
- Value — значение нарушения;
- QuietTime — время подтверждения (квитации);
- NormTime — время возврата к состоянию НОРМА, устанавливается тут после квитации-возврата сообщения уже в НОРМА;
- Comment — комментарий к этому случаю.
- Действия пользователя-оператора с источником данных, генерируются процедурой виджетов при определении действий пользователя-оператора, которые должны быть зафиксированы в протоколе пользователя-оператора и когда доступнен объект параметра источника данных:
- КАТЕГОРИЯ: определяет пользователя и характерный источник (обычно параметр подсистемы "Сбор данных") для которого осуществлено действия, в формате "OP{ModId}:{CntrId}[.{PrmId}]:{user}", например — "OPLogicLev:gen.PC_PCV1:roman", где:
- "OP*" — типовой шаблон-признак сообщения действия пользователя-оператора на основе двух первых символов слова "operator", который может быть непосредственно использован в фильтре категории для определения чисто архива действий оператора.
- TEXT: такое самое как и при структуре "Действия пользователя-оператора".
- КАТЕГОРИЯ: определяет ID-адрес источника нарушения в формате "{ID}{ModId}:{CntrId}[.{PrmId}][:{SpecPrms}]", где:
- Действия пользователя-оператора, генерируются процедурой виджетов при определении действий пользователя-оператора, которые должны быть зафиксированы в протоколе пользователя-оператора:
- КАТЕГОРИЯ: определяет пользователя и характерный источник (обычно параметр подсистемы "Сбор данных") для которого осуществлено действия, в формате "OP:{user}:{src}", например — "OP:roman:PC КРД1", где:
- "OP:*" — типовой шаблон-признак сообщения действия пользователя-оператора на основе двух первых символов слова "operator", который может быть непосредственно использован в фильтре категории для определения чисто архива действий оператора;
- user — пользователь OpenSCADA;
- src — характерный источник, обычно параметр подсистемы "Сбор данных", при необходимости дополненный иерархией DAQ-параметров до объекта контроллера.
- ТЕКСТ: описание действия в формате "{src} : {name} : [{oldVal}] : {newVal}", например — "'PC КРД1'. Задание : Регулятор давления на входе КС : 5.8 : 6.0", где:
- src — название источнике, обычно объекта параметра с детализацией, и при необходимости дополненный иерархией DAQ-параметров до объекта контроллера;
- name — название источника, обычно объекта параметра;
- oldVal — старое значение, может отсутствовать;
- newVal — новое значение или действие.
- Значение в сообщении — измеренные значения, которые введены вручную, что первично внедрено в кадре документа "Ручной отчёт месячных значений (docRepYear)":
- КАТЕГОРИЯ: определяет ID источника SrcID в формате "val{SrcID}", где:
- "val*" — типовой шаблон-признак значения, который может быть непосредственно использован в фильтре категорий для определения чисто значения в сообщениях;
- SrcID — идентификатор источника.
- ТЕКСТ: название Name и значение Value параметра в формате "{Name}: {Value}".
- Исполнение рецептов — генерирует сообщения действий в течении исполнения рецепта на предмет:
- КАТЕГОРИЯ: определяет идентификатор пользовательского рецепта-программы ProgNM в формате "uprg{ProgNM}", где:
- "uprg*" — типовой шаблон-признак пользовательского рецепта-программы, который может быть непосредственно использован в фильтре категории для определения чисто пользовательских рецептов-программ;
- ProgNM — имя рецепта-программы.
- ТЕКСТ: описание действия в формате "{ActDescr} "{ProgNM}" : {StartTm} : {ActTm}", где:
- ActDescr — описание действия:
- "Текущий узел отсутствует";
- "Прерванный пользователем сеанс программы";
- "Прерванный ошибкой сеанс программы";
- "Успешный сеанс программы".
- ProgNM — имя рецепта-программы;
- StartTm — время запуска рецепта-программы, в формате "2020-03-14 16:05:01";
- ActTm — время действия рецепта-программы, в формате "2020-03-14 16:05:52".