Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:jroboplc:modules:arcsvr [2021/08/23 09:15]
denis [Алгоритм архивации сообщений версии 2]
doc:jroboplc:modules:arcsvr [2021/11/05 13:36] (текущий)
denis [Алгоритм архивации сообщений версии 2]
Строка 397: Строка 397:
 Данная команда,​ посылаемая модулю с именем ''​arcmes'',​ удаляет все записи старше 2016 года включительно. Данная команда,​ посылаемая модулю с именем ''​arcmes'',​ удаляет все записи старше 2016 года включительно.
  
-===== Алгоритм архивации сообщений ​версии 2 =====+===== Алгоритм архивации сообщений ​V2 =====
 Для работы по данному алгоритму необходимо пересоздать базу сообщений. Для работы по данному алгоритму необходимо пересоздать базу сообщений.
  
-В таблице ''​MESSAGES''​ добавлены поля ''​DTEND''​ и ''​DTACK'' ​типа timestamp.+В таблице ''​MESSAGES''​ добавлены поля ''​DTEND''​ и ''​DTACK''​:
 <code sql> <code sql>
 CREATE TABLE MESSAGES ( CREATE TABLE MESSAGES (
Строка 421: Строка 421:
  
 При работе в режиме ''​version:​ 2''​ поля дат имеют следующее назначение:​ При работе в режиме ''​version:​ 2''​ поля дат имеют следующее назначение:​
-  ''​DT''​ - дата наступления события +  ​''​DT''​ - дата наступления события 
-  ''​DTEND''​ - дата ухода события (перестает быть актуальным) +  ​''​DTEND''​ - дата ухода события (перестает быть актуальным). Если ''​null'',​ то сообщение считается актуальным. 
-  ''​DTACK''​ - дата подтверждения+  ​''​DTACK''​ - дата подтверждения. Если ''​null'',​ то сообщение считается не подтвержденным.
   ​   ​
-При наступлении события в ''​MESSAGES''​ создается запись,​ где ''​DT''​ содержит дату, а ''​DTEND''​ и ''​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>​
  
-При уходе события в ''​MESSAGES''​ находится запись,​ созданная при наступлении события,​ и прописывается ''​DTEND''​. ​ 
  
  
  
doc/jroboplc/modules/arcsvr.1629699323.txt.gz · Последние изменения: 2021/08/23 09:15 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0