====== wessvr.adapter ======
Модуль-адаптер для для связывания периферийного модуля источника, имеющего счетчики, с устройством ''Standard'' модуля [[doc:jroboplc:modules:wessvr]].
plugin.peripherial:
module.WFMAN:
type: wessvr.adapter
module: pfman
tags:
SumWeight: cntWeight
SumNum: cntNumHigh, cntNumLow
# CurWeight:
# LastWeight: Неиспользуемые теги определять не обязательно
# LastTime:
Status1: mode
Status2: err
# Status3:
# Status4:
# Status5:
Output: output
module.pfman:
portnum: 1
netaddr: 2
type: modbus
tags:
- name: mode
address: 0
- name: err
address: 1
- name: output
address: 5
- name: cntNumHigh
address: 6
- name: cntNumLow
address: 7
- name: cntWeight
address: 8
type: uint32
plugin.task:
module.task:
period: 1000
modules:
- pfman
- wfman
===== Параметры =====
^ Параметр ^ Умолчание ^ Описание ^
|**type**| '''' |''wessvr.adapter'' |
|**module**| '''' |Имя модуля источника |
|**MaxWeight**| ''0x1_0000_0000'' |Размер счетчика веса (макс.возможное значение + 1). Если 0, то счетчик безразмерный. Безразмерный счетчик используется в случае, если счетчик устройства сбрасываемый. Еще раз обратить внимание на то, что это РАЗМЕР, а не максимально возможное значение счетчика (название тега не совсем удачное и может ввести в заблуждение) |
|**MaxNum**| ''0x1_0000_0000'' |Аналогично ''MaxWeight'' |
|**Mul**| ''1'' |Множитель тега ''SumWeight'' |
|**useNowForUpdateTime**| ''off'' |Использовать текущее время для тега ''SYSTEM.UpdateTime''. Необходимо в том случае, когда источник не имеет тега ''SYSTEM.UpdateTime'' |
|**outputPeriodS**| ''600'' |Период в секундах для расчета среднего значения производительности ''Output'' по ''SumWeight''. Расчет выполняется только, если не определен тег ''Output'' |
|**tags**| '''' |Карта тегов:
module.WFMAN:
type: wessvr.adapter
module: pfman
tags:
SumWeight: scrpg:pid1.SumVolume
Output: scrpg:pid1.FlowInpMh
===== Определение сложных тегов =====
В модуле источнике значение веса, счетчика и т.п. может состоять из двух тегов, каждый из которых есть двухбайтовое слово от 0 до 65535. В таком случае нужно в качестве значения прописать оба тега модуля источника через запятую, причем первым должен быть старший тег.
Пример:
module.WFMAN:
type: wessvr.adapter
module: pfman
tags:
SumWeight: SumWeightHigh, SumWeightLow
По мере необходимости возможна разработка и дополнение вариантов сложных тегов.
===== Определение тегов по умолчанию =====
Автоматически в карту тегов добавляются следующие теги:
^ Адаптер ^ Источник ^
|SYSTEM.ErrorFlag |SYSTEM.ErrorFlag |
|SYSTEM.UpdateTime |SYSTEM.UpdateTime |
Данные теги прописывать не нужно.
===== Тег WesSvrState =====
Тег ''WesSvrState'' обнуляется через 10 секунд, если в него не производить запись.
===== Crc32 =====
Расчет значения выполняется по алгоритму Crc32. Исходный для расчета буфер данных формируется из 8-байтного представления следующих тегов в приведенной последовательности, указанной в разделе [[doc:jroboplc:modules:peripherial:wessvr_adapter#теги]].
===== Теги =====
Список всех тегов модуля:
Crc32 LONG
MaxNum LONG
MaxWeight LONG
Mul INT
WesSvrState INT
--- crc32 begin ---
SumWeight LONG
SumNum LONG
CurWeight LONG
LastWeight LONG
LastTime LONG
Output INT
Status1 INT
Status2 INT
Status3 INT
Status4 INT
Status5 INT
SYSTEM.ErrorFlag BOOL
--- crc32 end ---
SYSTEM.UpdateTime INT