Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:jroboplc:modules:arcsvr [2020/06/18 08:17]
denis [Общие параметры]
doc:jroboplc:modules:arcsvr [2021/11/05 13:36] (текущий)
denis [Алгоритм архивации сообщений версии 2]
Строка 37: Строка 37:
 |**schema**| ​ '''' ​ |Имя схемы (для firebird это префикс имен метаданных). ​ |  |**schema**| ​ '''' ​ |Имя схемы (для firebird это префикс имен метаданных). ​ | 
 |**place**| ​ ''​имя модуля'' ​ |Название места сообщения по умолчанию. Может быть перекрыто в сообщениях при необходимости. ​ |  |**place**| ​ ''​имя модуля'' ​ |Название места сообщения по умолчанию. Может быть перекрыто в сообщениях при необходимости. ​ | 
-|**<​del>​tagsources</​del>​**| ​ '''' ​ |<​html><​span style="​color:​red">​Данный ​параметр более не актуален! </span><​/html>​Список модулей,​ предоставляющих теги устройств. Требуется в случае,​ если архивируемые теги не находятся непосредственно в системе,​ а импортируются посредством другого модуля,​ например,​ [[doc:​jroboplc:​modules:​rpclient]] ​ |+|**<​del>​tagsources</​del>​**| ​ '''' ​ |//​Deprecated! Определения модулей источников тегов полностью ​автоматизировано.// \\ <del>​Список модулей,​ предоставляющих теги устройств. Требуется в случае,​ если архивируемые теги не находятся непосредственно в системе,​ а импортируются посредством другого модуля,​ например,​ [[doc:​jroboplc:​modules:​rpclient]]</​del> ​ |
  
 ===== Теги модуля ===== ===== Теги модуля =====
Строка 111: Строка 111:
           - SCR.Device1_Temperature           - SCR.Device1_Temperature
  
-    tagsources: 
-      - rpcl_zlak 
-      - rpcl_resurs 
   ​   ​
 </​code>​ </​code>​
Строка 121: Строка 118:
 ===== Параметры архивации тегов ===== ===== Параметры архивации тегов =====
 ^  Параметр ​ ^  Умолчание ​ ^  Описание ​ ^ ^  Параметр ​ ^  Умолчание ​ ^  Описание ​ ^
-|**arcval.robo**| ​ '''' ​ |Список atg-файлов из roboplant-проекта. В нескольких файлах может использоваться одно и то же имя архивной таблицы (например,​ ARC_2SEC и ARC_4SEC), при этом значения размера и периода архивирования будут взяты из последнего. Формат atg-файла [[doc:​jroboplc:​modules:​arcsvr_atg|здесь]]. |+|**arcval.robo**| ​ '''' ​ |Список atg-файлов из roboplant-проекта. В нескольких файлах может использоваться одно и то же имя архивной таблицы (например,​ ARC_2SEC и ARC_4SEC), при этом значения размера и периода архивирования будут взяты из последнего. Привязка выполнения записи ко времени,​ кратному period_ms, выполняется при указании period_ms>​=60000. Формат atg-файла [[doc:​jroboplc:​modules:​arcsvr_atg|здесь]]. |
 |**arcval.regex**| ​ '''' ​ |Набор описаний архивных таблиц с использованием regex-выражений. Внутри данного параметра содержатся имена архивных таблиц. Внутри имени архивной таблицы,​ содержится описание архива. Имя таблицы не должно использоваться другими архивами. ​  | |**arcval.regex**| ​ '''' ​ |Набор описаний архивных таблиц с использованием regex-выражений. Внутри данного параметра содержатся имена архивных таблиц. Внутри имени архивной таблицы,​ содержится описание архива. Имя таблицы не должно использоваться другими архивами. ​  |
-^  **Описание архивной таблицы** ​ ^^^+^  **Описание архивной таблицы ​для arcval.regex**  ^^^
 |**mode**| ​ ''​period'' ​ |Режим архивирования:​ ''​period''​ и ''​change'' ​ | |**mode**| ​ ''​period'' ​ |Режим архивирования:​ ''​period''​ и ''​change'' ​ |
-|**type**| ​ ''​int16'' ​ |Тип поля данных:<​html><​br>​int16 - SMALLINT<​br>​int32 - INTEGER<​br>​float - FLOAT<​br>​double - DOUBLE PRECISION</​html> ​ |+|**type**| ​ ''​int16'' ​ |Тип поля данных:<​html><​br>​ 
 +int16 - SMALLINT<​br>​ 
 +int32 - INTEGER<​br>​ 
 +int64 - BIGINT<​br>​ 
 +float - FLOAT<​br>​ 
 +double - DOUBLE PRECISION 
 +</​html> ​ |
 |**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**| ​ '''' ​ |Список регулярных выражения,​ задающих правила отбора тегов. Соответствие определяется ​ в заданной списком последовательности. Символ ''​~''​ обозначает исключающее правило. ​  |
  
Строка 171: Строка 174:
     place: ​     Крупоцех     place: ​     Крупоцех
  
-    tagsources: 
-      - rpcl_zlak 
-      - rpcl_resurs 
-  ​ 
     arcmes.robo:​     arcmes.robo:​
       - projects/​NRMEL.ams;​ Элеватор       - projects/​NRMEL.ams;​ Элеватор
Строка 234: Строка 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). ​  |
Строка 396: Строка 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.1592457461.txt.gz · Последние изменения: 2020/06/18 08:17 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0