doc:jroboplc:modules:arctrm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
doc:jroboplc:modules:arctrm [2026/07/22 21:46] denisdoc:jroboplc:modules:arctrm [2026/08/01 11:25] (current) – [События] denis
Line 1: Line 1:
 ====== arctrm ====== ====== arctrm ======
  
-Модуль ''arctrm'' предназначен для периодического архивирования температурных значений в базе данных Firebird. Значения считываются из тегов модулей ''promauto.termo5''.+Модуль ''arctrm'' предназначен для периодического архивирования температурных значений в базе данных Firebird. На текущий момент значения считываются только из тегов модулей ''promauto.termo5''. В дальнейшем возможно расширение поддержки других модулей термометрии.
  
 Модуль сохраняет: Модуль сохраняет:
  
-  * температурные срезы по каждой подвеске;+  * температурные срезы по подвескам с актуальными данными;
   * сведения о подвесках;   * сведения о подвесках;
-  * события запуска архива и изменения состояния связи с устройствами.+  * события запуска архиваизменения состояния связи с устройствами и потери актуальности данных подвесок.
  
-Сам модуль не выполняет обмен с оборудованием. Данные и состояние связи он получает через ссылки ''Ref'' на теги других модулей.+Сам модуль не выполняет обмен с оборудованием. Данные и состояние связи он получает из тегов других модулей.
  
 [[doc:jroboplc:modules:arctrm_dev]] [[doc:jroboplc:modules:arctrm_dev]]
Line 59: Line 59:
 <deviceName>:Pdv<podvesNum>.T<sensorCount-1> <deviceName>:Pdv<podvesNum>.T<sensorCount-1>
 </code> </code>
 +
 +Актуальность данных подвески определяется по тегу:
 +
 +<code text>
 +<deviceName>:Pdv<podvesNum>.Time
 +</code>
 +
 +Данные считаются актуальными, если ссылка на тег существует, а его значение находится в диапазоне от ''0'' до ''600'' включительно.
  
 Состояние связи с устройством определяется по тегу: Состояние связи с устройством определяется по тегу:
Line 76: Line 84:
   - записывает событие запуска архива.   - записывает событие запуска архива.
  
-На каждом рабочем цикле модуль считывает текущие значения датчиков. Время берётся с сервера базы данных и округляется вниз до границы периода ''period''.+На каждом рабочем цикле модуль сначала проверяет ''Pdv<podvesNum>.Time'' каждой подвески. Значения датчиков считываются только для подвесок с актуальными данными. Время архивного среза берётся с сервера базы данных и округляется вниз до границы периода ''period''.
  
-Если наступил новый период, в ''TEMPER'' записывается по одной строке для каждой подвески. При превышении лимита ''size'' удаляются строки с наименьшими значениями ''ID''.+Если наступил новый период, в ''TEMPER'' записывается по одной строке для каждой подвески с актуальными данными. Для подвески с отсутствующим тегом ''Time'' или значением вне диапазона ''0...600'' строка не создаётся. При превышении лимита ''size'' удаляются строки с наименьшими значениями ''ID''.
  
 ===== База данных ===== ===== База данных =====
Line 85: Line 93:
 | ''PODVES'' | Справочник подвесок: имя и описание. | | ''PODVES'' | Справочник подвесок: имя и описание. |
 | ''TEMPER'' | Архив температурных срезов. Содержит ''PODVES_ID'', ''DT'' и динамические колонки ''T0...Tn''. | | ''TEMPER'' | Архив температурных срезов. Содержит ''PODVES_ID'', ''DT'' и динамические колонки ''T0...Tn''. |
-| ''EVENTLOG'' | Журнал запуска архива и изменения состояния связи с устройствами. |+| ''EVENTLOG'' | Журнал запуска архиваизменения состояния связи с устройствами и потери актуальности данных подвесок. |
  
 Основные связи: Основные связи:
Line 100: Line 108:
  
 ^ Значение ^ Состояние ^ ^ Значение ^ Состояние ^
-| ''3000'' | Тег датчика не найден — ''NOLINK''. | +| ''3010'' | Значение ниже допустимого диапазона — короткое замыкание. | 
-| ''3010'' | Значение ниже допустимого диапазона — обрыв датчика. | +| ''3011'' | Значение выше допустимого диапазона — обрыв. | 
-| ''3011'' | Значение выше допустимого диапазона — короткое замыкание. |+| ''3013'' | Тег датчика не найден — ''NOLINK''. |
  
 Допустимый диапазон обычного значения: от ''-1000'' до ''2000'' включительно. Допустимый диапазон обычного значения: от ''-1000'' до ''2000'' включительно.
Line 109: Line 117:
  
 ^ Код ^ Событие ^ ^ Код ^ Событие ^
-| ''0''Инициализация архива. | +| ''0''Ссылка на ''SYSTEM.ErrorFlag'' не найдена. | 
-| ''1'' | Связь с устройством установлена. | +| ''1'' | Связь с устройством потеряна: ''SYSTEM.ErrorFlag = true''. | 
-| ''2'' | Связь с устройством потеряна''SYSTEM.ErrorFlag = true''. | +| ''3'' | Данные подвески неактуальны: ссылка на ''Pdv<podvesNum>.Time'' не найдена или значение находится вне диапазона ''0...600''. | 
-''3'' | Ссылка на ''SYSTEM.ErrorFlag'' не найдена. |+| ''99'' | Связь с устройством установлена. | 
 +''100'' | Инициализация архивации. | 
 + 
 +Для событий состояния устройства в поле ''MESSAGE'' записывается имя устройства, для события неактуальных данных — имя подвески в формате ''<deviceName>.<podvesNum>''для события инициализации — пустая строка.
  
-Событие состояния устройства записывается только при изменении его состояния.+Событие состояния устройства записывается только при изменении его состояния. Событие неактуальных данных формируется при первой потере актуальности, записывается при наступлении следующего архивного периода и не повторяется до восстановления актуальности и её следующей потери.
  
 ===== Теги модуля ===== ===== Теги модуля =====
  • doc/jroboplc/modules/arctrm.1784745981.txt.gz
  • Last modified: 2026/07/22 21:46
  • by denis