Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:jroboplc:modules:arcsvr [2021/04/21 10:05]
denis [Архивирование тегов]
doc:jroboplc:modules:arcsvr [2021/11/05 13:36] (текущий)
denis [Алгоритм архивации сообщений версии 2]
Строка 131: Строка 131:
 |**size**| ​ ''​604800'' ​ |Количество записей в архивной таблице ​ | |**size**| ​ ''​604800'' ​ |Количество записей в архивной таблице ​ |
 |**period_ms**| ​ ''​1000'' ​ |Период архивирования,​ мс. См.[[doc:​jroboplc:​modules:​arcsvr#​периодичность_архивирования|"​Периодичность архивирования"​]] ​  | |**period_ms**| ​ ''​1000'' ​ |Период архивирования,​ мс. См.[[doc:​jroboplc:​modules:​arcsvr#​периодичность_архивирования|"​Периодичность архивирования"​]] ​  |
-|**force_s**| ​ ''​0'' ​ |Период обязательной записи. Только для режима ''​change''​. ​  |+|**force_s**| ​ ''​60'' ​ |Период обязательной записи. Только для режима ''​change''​. ​  |
 |**period_align**| ​ ''​off'' ​ |Привязка выполнения записи ко времени,​ кратному period_ms или force_s для архивов режима ''​period''​ или ''​change''​ соответственно ​  | |**period_align**| ​ ''​off'' ​ |Привязка выполнения записи ко времени,​ кратному period_ms или force_s для архивов режима ''​period''​ или ''​change''​ соответственно ​  |
 |**tags**| ​ '''' ​ |Список регулярных выражения,​ задающих правила отбора тегов. Соответствие определяется ​ в заданной списком последовательности. Символ ''​~''​ обозначает исключающее правило. ​  | |**tags**| ​ '''' ​ |Список регулярных выражения,​ задающих правила отбора тегов. Соответствие определяется ​ в заданной списком последовательности. Символ ''​~''​ обозначает исключающее правило. ​  |
Строка 174: Строка 174:
     place: ​     Крупоцех     place: ​     Крупоцех
  
-    tagsources: 
-      - rpcl_zlak 
-      - rpcl_resurs 
-  ​ 
     arcmes.robo:​     arcmes.robo:​
       - projects/​NRMEL.ams;​ Элеватор       - projects/​NRMEL.ams;​ Элеватор
Строка 237: Строка 233:
 ===== Параметры архивации сообщений ===== ===== Параметры архивации сообщений =====
 ^  Параметр ​ ^  Умолчание ​ ^  Описание ​ ^ ^  Параметр ​ ^  Умолчание ​ ^  Описание ​ ^
 +|**version**| ​ ''​1'' ​ |Версия алгоритма архивации сообщений:​ 1 - старый вариант,​ 2 - новый (см. )  |
 |**arcmes.robo**| ​ '''' ​ |Список ams-файлов из roboplant-проекта. Имя файла указывается через точку с запятой с местом:<​code>​- путь_и_имя_ams-файла[;​место]</​code>​ В нескольких файлах может использоваться сообщения с одинаковыми MesId, при этом остальные параметры сообщения будут взяты из последнего файла. Формат ams-файла [[doc:​jroboplc:​modules:​arcsvr_ams|здесь]]. | |**arcmes.robo**| ​ '''' ​ |Список ams-файлов из roboplant-проекта. Имя файла указывается через точку с запятой с местом:<​code>​- путь_и_имя_ams-файла[;​место]</​code>​ В нескольких файлах может использоваться сообщения с одинаковыми MesId, при этом остальные параметры сообщения будут взяты из последнего файла. Формат ams-файла [[doc:​jroboplc:​modules:​arcsvr_ams|здесь]]. |
 |**arcmes.plain**| ​ '''' ​ |Список описаний простых сообщений (plain). ​  | |**arcmes.plain**| ​ '''' ​ |Список описаний простых сообщений (plain). ​  |
Строка 399: Строка 396:
   arcmes:​sweepmes 2016   arcmes:​sweepmes 2016
 Данная команда,​ посылаемая модулю с именем ''​arcmes'',​ удаляет все записи старше 2016 года включительно. Данная команда,​ посылаемая модулю с именем ''​arcmes'',​ удаляет все записи старше 2016 года включительно.
 +
 +===== Алгоритм архивации сообщений V2 =====
 +Для работы по данному алгоритму необходимо пересоздать базу сообщений.
 +
 +В таблице ''​MESSAGES''​ добавлены поля ''​DTEND''​ и ''​DTACK'':​
 +<code sql>
 +CREATE TABLE MESSAGES (
 +    IDM      INTEGER NOT NULL,
 +    DT       ​TIMESTAMP,​
 +    DTEND    TIMESTAMP,
 +    DTACK    TIMESTAMP,
 +    IDMSG    INTEGER,
 +    IDTAG    INTEGER,
 +    IDUSER ​  ​INTEGER,​
 +    IDPLACE ​ INTEGER,
 +    DATA     ​VARCHAR(128),​
 +    ACT      CHAR(1),
 +    CLB      INTEGER,
 +    CLF      INTEGER
 +)
 +</​code>​
 +
 +При работе в режиме ''​version:​ 1''​ поля ''​DTEND''​ и ''​DTACK''​ не используются.
 +
 +При работе в режиме ''​version:​ 2''​ поля дат имеют следующее назначение:​
 +  * ''​DT''​ - дата наступления события
 +  * ''​DTEND''​ - дата ухода события (перестает быть актуальным). Если ''​null'',​ то сообщение считается актуальным.
 +  * ''​DTACK''​ - дата подтверждения. Если ''​null'',​ то сообщение считается не подтвержденным.
 +  ​
 +При наступлении события в ''​MESSAGES''​ создается запись (сообщение),​ где ''​DT''​ содержит текущую дату, а ''​DTEND''​ и ''​DTACK''​ содержат null. 
 +
 +При уходе события в ''​MESSAGES''​ находится соответствующее актуальное сообщение с ''​DTEND''​ = null и прописывается текущая дата в ''​DTEND''​. ​
 +
 +В ''​DTACK''​ значение прописывает scada-клиент.
 +
 +Для удобства использования в scada-клиентах в базе данных имеются дополнительные метаобъекты:​
 +  * view MESMONITOR - выдает отсортированный список текущих сообщений (используется для мониторинга сообщений) <code sql>
 +CREATE VIEW MESMONITOR(
 +    IDM,
 +    ORD,
 +    DT,
 +    DTEND,
 +    DTACK,
 +    IDPLACE,
 +    PLACENAME,
 +    IDUSER,
 +    USERNAME,
 +    MESTEXT,
 +    TAGTEXT,
 +    DATA,
 +    FULLTEXT,
 +    CLB,
 +    CLF)
 +</​code>​
 +  * view MESVIEW - выдает отсортированный список всех сообщений (используется для просмотра архива) <code sql>
 +CREATE VIEW MESVIEW(
 +    IDM,
 +    DT,
 +    DTEND,
 +    DTACK,
 +    IDPLACE,
 +    PLACENAME,
 +    IDUSER,
 +    USERNAME,
 +    MESTEXT,
 +    TAGTEXT,
 +    DATA,
 +    FULLTEXT,
 +    CLB,
 +    CLF,
 +    ACT)
 +</​code>​
 +   
 +  * procedure SAVE_MESSAGE - сохраняет текстовое сообщение (используется для фиксации действий пользователя) <code sql>
 +create procedure SAVE_MESSAGE (
 +    MSGTEXT varchar(1024),​
 +    TAGTEXT varchar(1023),​
 +    DATATEXT varchar(128),​
 +    IDUSER integer,
 +    IDPLACE integer,
 +    CLB integer,
 +    CLF integer)
 +returns (
 +    IDM integer,
 +    IDMSG integer,
 +    IDTAG integer)
 +</​code>​
 +
 +
 +
  
doc/jroboplc/modules/arcsvr.1618988710.txt.gz · Последние изменения: 2021/04/21 10:05 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0