From OpenSCADAWiki
Jump to: navigation, search

Суворої структури категорії та тексту повідомлення не передбачається та користувач, для власних повідомлень, може формувати їх довільно, але варто враховувати структуру системних повідомлень та повідомлень, визначених стандартними бібліотеками 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 та ідентифікатору об'єкту контролеру DAQCntr модуля DAQ.DAQGate, який може бути безпосередньо використано у фільтрі категорії для визначення суто архіву віддалених повідомлень цього джерела.
  • Уніфіковані структури із джерелом даних у категорії, генеруються джерелом даних або його процедурами за допомогою функції messSet() API OpenSCADA та користувацького API:
КАТЕГОРІЯ: визначає ID-адресу джерела порушення у форматі "{ID}{ModId}:{CntrId}[.{PrmId}][:{SpecPrms}]", де:
  • ID — двосимвольний ідентифікатор структури;
  • ModId — ідентифікатор модуля;
  • CntrId — ідентифікатор об'єкту контролера;
  • PrmId — ідентифікатор параметру;
  • SpecPrms — специфічні параметри структури ID.
КАТЕГОРІЯ: визначає 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: таке саме як і за структури "Дії користувача-оператора".
  • Дії користувача-оператора, генеруються процедурою віджетів при визначені дій користувача-оператору, які мають бути зафіксовано у протоколі користувача-оператору:
КАТЕГОРІЯ: визначає користувача та характерне джерело (зазвичай параметр підсистеми "Збір даних") для якого здійснено дії, у форматі "OP:{user}:{src}", наприклад — "OP:roman:РС_КРТ1", де:
  • "OP:*" — типовий шаблон-ознака повідомлення дії користувача-оператору на основі двох перших символів слова "operator", який може бути безпосередньо використано у фільтрі категорії для визначення суто архіву дій оператору;
  • user — користувач OpenSCADA;
  • src — характерне джерело, зазвичай параметр підсистеми "Збір даних", за потреби доповнений ієрархією DAQ-параметрів до об'єкту контролеру.
ТЕКСТ: опис дії у форматі "{src} : {name} : [{oldVal}] : {newVal}", наприклад — "'РС_КРТ1'. Завдання : Регулятор тиску на вході КС : 6.0 : 5.8", де:
  • src — назва джерела, зазвичай об'єкту параметру з деталізацією, та за потреби доповнений ієрархією DAQ-параметрів до об'єкту контролеру;
  • name — назва джерела, зазвичай об'єкту параметру;
  • oldVal — старе значення, може бути відсутнє;
  • newVal — нове значення або дія.
КАТЕГОРІЯ: визначає 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".