Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
doc:jroboplc:modules:wessvr [2021/12/09 18:28] denis [Параметры] |
doc:jroboplc:modules:wessvr [2025/05/12 09:37] (текущий) vitaly [Переходный импорт данных] |
||
|---|---|---|---|
| Строка 6: | Строка 6: | ||
| ^Название в wesclient^Название в БД^Периферийный модуль^ | ^Название в wesclient^Название в БД^Периферийный модуль^ | ||
| - | |Akkont 908 |akkont 908 | - | | + | |**Standard** |standard |[[doc:jroboplc:modules:peripherial:wessvr_adapter]] | |
| - | |Atara |atara | - | | + | |
| |Gelios |gelios |[[doc:jroboplc:modules:peripherial:promauto_gelios_flow]] | | |Gelios |gelios |[[doc:jroboplc:modules:peripherial:promauto_gelios_flow]] | | ||
| |Gelios.Maslo2v2 |gelios.maslo2v2|[[doc:jroboplc:modules:peripherial:promauto_gelios_maslo2v2]] | | |Gelios.Maslo2v2 |gelios.maslo2v2|[[doc:jroboplc:modules:peripherial:promauto_gelios_maslo2v2]] | | ||
| - | | - |mercury |[[doc:jroboplc:modules:peripherial:mercury_m230]] | | ||
| - | |**Standard** |standard |[[doc:jroboplc:modules:peripherial:wessvr_adapter]] | | ||
| - | |TenzoM_TB009 |tenzom_tb009 |[[doc:jroboplc:modules:peripherial:tenzom_tb09]] | | ||
| + | Рекоммендуется во всех случаях использовать универсальный модуль [[doc:jroboplc:modules:peripherial:wessvr_adapter]]. | ||
| + | В системе может быть более одного одновременно работающих модулей wessvr с разными svrnamе. Один модуль может содержать несколько устройств. Устройства - это весы и прочи | ||
| + | ее оборудование, данные которых подлежат архивации. Список устройств и их конфигурация содержится в базе данных (таблица ''MODULES''). | ||
| + | |||
| + | Как и в старом wessvr значения счетчиков накапливаются в оперативных таблицах ''MAIN'' и ''MAINHR'', после чего сбрасываются в архивы STAT и STATHR по одному из событий: | ||
| + | * наступление нового периода (смена или час) | ||
| + | * изменение в таблице MODULES одного из значений IDPROD, IDBRIG или IDBATCH. | ||
| + | * откат счетчиков | ||
| + | |||
| + | ===== Основные отличия от старого wessvr ===== | ||
| + | |||
| + | * Уменьшено количество транзакций на цикл. Выборочно устанавливается режим одна транзакция на цикл, либо подтверждение после обработки каждого устройство (параметр ''singleTransaction''). | ||
| + | * Отображение отката счетчиков в архивах ''STAT'' и ''STATHR'' отдельной записью и пометкой в поле ''SETBACK''. Пример ситуации:<code> | ||
| + | Диапазон счетчика веса = 1000. | ||
| + | Значение SWEND откатывается с 950 на 50. | ||
| + | Расчет веса при откате: 100 = 1000 - 950 + 50. | ||
| + | |||
| + | | SWBEG| SWEND| WES|SETBACK| | ||
| + | +-------+-------+-------+-------+ | ||
| + | | 750| 950| 200| 0| | ||
| + | | 950| 50| 100| 1| | ||
| + | | 50| 450| 400| 0| | ||
| + | </code>Реальный пример:<html><br></html>{{:doc:jroboplc:modules:wessvr_setback_case.png?direct&200|}} | ||
| + | |||
| + | * Настраиваемые таблицы архивирования. Помимо стандартных MAIN/STAT и MAINHR/STATHR можно сделать архивацию через любое количество минут. | ||
| + | * В ''MAIN''ы добавлено поле ''PERIOD''. | ||
| + | * Возможность отключать передачу значения в WesSvrState устройства. | ||
| + | * Автоматическое создание базы данных при ее отсутствии. | ||
| + | |||
| + | |||
| + | ===== Конфигурация ===== | ||
| <code yaml> | <code yaml> | ||
| Строка 44: | Строка 71: | ||
| </code> | </code> | ||
| - | |||
| - | В системе может быть более одного одновременно работющих модулей wessvr с разными svrnamе. Один модуль может содержать несколько устройств. Устройства - это весы и прочи | ||
| - | ее оборудование, данные которых подлежат архивации. Список устройств и их конфигурация содержится в базе данных (таблица ''MODULES''). | ||
| - | |||
| - | Как и в старом wessvr значения счетчиков накапливаются в оперативных таблицах ''MAIN'' и ''MAINHR'', после чего сбрасываются в архивы STAT и STATHR по одному из событий: | ||
| - | * наступление нового периода (смена или час) | ||
| - | * изменение в таблице MODULES одного из значений IDPROD, IDBRIG или IDBATCH. | ||
| - | * откат счетчиков | ||
| - | |||
| - | ===== Основные отличия от старого wessvr ===== | ||
| - | |||
| - | * Уменьшено количество транзакций на цикл. Выборочно устанавливается режим одна транзакция на цикл, либо подтверждение после обработки каждого устройство (параметр ''singleTransaction''). | ||
| - | * Отображение отката счетчиков в архивах ''STAT'' и ''STATHR'' отдельной записью и пометкой в поле ''SETBACK''. Пример ситуации:<code> | ||
| - | Диапазон счетчика веса = 1000. | ||
| - | Значение SWEND откатывается с 950 на 50. | ||
| - | Расчет веса при откате: 100 = 1000 - 950 + 50. | ||
| - | |||
| - | | SWBEG| SWEND| WES|SETBACK| | ||
| - | +-------+-------+-------+-------+ | ||
| - | | 750| 950| 200| 0| | ||
| - | | 950| 50| 100| 1| | ||
| - | | 50| 450| 400| 0| | ||
| - | </code>Реальный пример:<html><br></html>{{:doc:jroboplc:modules:wessvr_setback_case.png?direct&200|}} | ||
| - | |||
| - | * Настраиваемые таблицы архивирования. Помимо стандартных MAIN/STAT и MAINHR/STATHR можно сделать архивацию через любое количество минут. | ||
| - | * В ''MAIN''ы добавлено поле ''PERIOD''. | ||
| - | * Возможность отключать передачу значения в WesSvrState устройства. | ||
| - | * Автоматическое создание базы данных при ее отсутствии. | ||
| Строка 81: | Строка 80: | ||
| |**singleTransaction**| ''on'' |Одна транзакция на цикл ''on'' или подтверждение после каждого устройства ''off'' | | |**singleTransaction**| ''on'' |Одна транзакция на цикл ''on'' или подтверждение после каждого устройства ''off'' | | ||
| |**wesSvrStateEnabled**| ''on'' |Разрешение записи в теги WesSvrState устройств | | |**wesSvrStateEnabled**| ''on'' |Разрешение записи в теги WesSvrState устройств | | ||
| + | |**ignoreZeroStat**| ''off'' |Игнорировать нулевые записи в таблицы типа Stat при изменении у модуля ''IDPROD'', ''IDBRIG'', ''IDBATCH''. Нулевые записи - те у которых вес и кол-во навесок равны нулю | | ||
| |**<del>tagsources</del>**| '''' |//Deprecated! Определения модулей источников тегов полностью автоматизировано.// \\ <del>Список модулей, предоставляющих теги устройств. Требуется в случае, если архивируемое устройство не находится непосредственно в системе, а импортируется посредством другого модуля, например, [[doc:jroboplc:modules:rpclient]]</del> | | |**<del>tagsources</del>**| '''' |//Deprecated! Определения модулей источников тегов полностью автоматизировано.// \\ <del>Список модулей, предоставляющих теги устройств. Требуется в случае, если архивируемое устройство не находится непосредственно в системе, а импортируется посредством другого модуля, например, [[doc:jroboplc:modules:rpclient]]</del> | | ||
| |**arctables**| '''' |Список параметров таблиц архивирования. По умолчанию настроены стандартные для старого wessvr пары MAIN/STAT и MAINHR/STATHR. Если данных параметр используется, то умолчание перекрывается новой конфиграцией | | |**arctables**| '''' |Список параметров таблиц архивирования. По умолчанию настроены стандартные для старого wessvr пары MAIN/STAT и MAINHR/STATHR. Если данных параметр используется, то умолчание перекрывается новой конфиграцией | | ||
| Строка 142: | Строка 142: | ||
| * 99 - старт архивации | * 99 - старт архивации | ||
| * 100 - архивация отключена | * 100 - архивация отключена | ||
| - | |||
| - | |||
| - | ^Модуль ^STATUS1 ^STATUS2 ^STATUS3 ^STATUS4 ^STATUS5 ^ | ||
| - | |akkont 908 | - | StageNum | - | - | - | | ||
| - | |atara | - | - | - | - | - | | ||
| - | |gelios | State | ErrorCode | - | - | - | | ||
| - | |gelios.dozkkorm| State | ErrorCode | - | - | - | | ||
| - | |gelios.maslo2v2| State | ErrorCode | StopCode | - | - | | ||
| - | |mercury | - | - | - | - | - | | ||
| - | |tenzom_tb009 | - | - | - | - | - | | ||
| Строка 256: | Строка 246: | ||
| Другой способ перехода - использовать старую базу. При этом потребуется добавить поле ''PERIOD'' типа ''integer'' в таблицы ''MAIN'' и ''MAINHR''. | Другой способ перехода - использовать старую базу. При этом потребуется добавить поле ''PERIOD'' типа ''integer'' в таблицы ''MAIN'' и ''MAINHR''. | ||
| + | Перенос нестандартной таблицы для энергоучета | ||
| + | <code> | ||
| + | wessvr:import dbold uvkrec_stat stat300 | ||
| + | </code> | ||
| ===== Удаление старых STAT-записей ===== | ===== Удаление старых STAT-записей ===== | ||
| В архивных таблицах ''STAT'' и ''STATHR'' данные сохраняются без циклической перезаписи, и таким образом постоянно накапливаются. Для удаления ненужных данных используется команда ''w:sweep <year>''. Пример использования: | В архивных таблицах ''STAT'' и ''STATHR'' данные сохраняются без циклической перезаписи, и таким образом постоянно накапливаются. Для удаления ненужных данных используется команда ''w:sweep <year>''. Пример использования: | ||
| Строка 363: | Строка 357: | ||
| OUTWES0 double precision, ... OUTWES9 double precision) | OUTWES0 double precision, ... OUTWES9 double precision) | ||
| </code> | </code> | ||
| + | |||
| + | |||
| + | ==== Предотвращение миллионов при физической замене устройства ==== | ||
| + | Иногда работающий в учете весовой блок выходит из строя, и на его место ставят другой блок с таким же сетевым адресов, но с совершенно другими значениями суммарных счетчиков. Как результат, через некоторое время в отчетах появляются некорректные данные - "миллионы". | ||
| + | |||
| + | Данную ситуацию можно предотвратить, если у периферийного устройства, есть серийный (уникальный) номер, и если он меняется в процессе работы, то ''wessvr'' расценивает это как замену устройства, сбрасывает накопленные данные в STAT и меняет состояние текущих счетчиков в MAIN. Серийный номер отслеживается в теге ''SYSTEM.SN'' типа ''STRING'' в следующих устройствах: | ||
| + | |||
| + | * [[doc:jroboplc:modules:peripherial:wessvr_adapter]] | ||
| + | * [[doc:jroboplc:modules:peripherial:promauto_gelios_flow]] | ||
| + | |||
| + | |||
| + | Помимо серийного номера в данных устройствах отслеживается тег ''Replacement'' типа ''BOOL'', при установке которого ''wessvr'' действует аналогичным образом, как при изменении серийного номера. | ||
| + | |||
| + | Записи STAT, которые образовались в результате данной ситуации, имеют в поле ''SETBACK'' значение 2. | ||
| + | |||