Это старая версия документа.
Содержание
wessvr.adapter
Модуль-адаптер для для связывания периферийного модуля источника, имеющего счетчики, с устройством Standard
модуля wessvr.
Требует включения в одну задачу с источником (периферийным модулем, имеющим счетчики).
Основная задача адаптера транслировать значения тегов источника в свои теги, имена которых понятны устройству Standard
модуля wessvr
. Определение (сопоставление) имен тегов задается в карте тегов tags
, где обязательно должен быть определен хотя бы один тег счетчиков - SumWeight
и/или SumNum
. Остальные теги определяются по необходимости. Если тег не определен, то используется значение 0.
plugin.peripherial: wfman: type: wessvr.adapter module: pfman mul: 1 tags: SumWeight: cntWeight SumNum: cntNum # CurWeight: # LastWeight: Неиспользуемые теги определять не обязательно # LastTime: Status1: mode Status2: err0 Status3: err1 Status4: err2 Status5: err3 Output: output pfman: portnum: 1 netaddr: 2 type: modbus tags: - name: mode address: 0x1001 - name: err0 address: 0x1003 - name: err1 address: 0x1004 - name: err2 address: 0x1005 - name: err3 address: 0x1006 - name: output address: 0x1007 - name: cntNum address: 0x101A type: uint32 - name: cntWeight address: 0x101A 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 | Множитель веса |
useNowForUpdateTime | off | Использовать текущее время для тега SYSTEM.UpdateTime . Необходимо в том случае, когда источник не имеет тега SYSTEM.UpdateTime |
tags | | Карта тегов:
|
Определение тегов
Для определения тега нужно указать в качестве значения имя одного из тегов, который содержится в модуле источнике. Также в значении можно указать тег любого модуля, а не только того, что прописан в качестве модуля источника. Для этого значение имени тега записывается через двоеточие в формате:
<имя модуля>:<имя тега>
Пример:
module.WVZL1: type: wessvr.adapter module: vzl1 MaxWeight: 0 MaxNum: 0 tags: SumWeight: scrpg:pid1.SumVolume Output: scrpg:pid1.FlowInpMh
Определение сложных тегов
В модуле источнике значение веса, счетчика и т.п. может состоять из двух тегов, каждый из которых есть двухбайтовое слово от 0 до 65535. В таком случае нужно в качестве значения прописать оба тега модуля источника через запятую, причем первым должен быть старший тег.
Пример:
wfman: type: wessvr.adapter module: pfman tags: SumWeight: SumWeightHihg, SumWeightLow
Определение тегов по умолчанию
Автоматически в карту тегов добавляются следующие теги:
Адаптер | Источник |
---|---|
SYSTEM.ErrorFlag | SYSTEM.ErrorFlag |
SYSTEM.UpdateTime | SYSTEM.UpdateTime |
Данные теги прописывать не нужно.
Тег WesSvrState
Тег WesSvrState
обнуляется через 10 секунд, если в него не производить запись.
Crc32
Расчет значения выполняется по алгоритму Crc32. Исходный для расчета буфер данных формируется из 8-байтного представления следующих тегов в приведенной последовательности, указанной в разделе :
SumWeight SumNum CurWeight LastWeight LastTime Output Status1 Status2 Status3 Status4 Status5 SYSTEM.ErrorFlag
Теги
Список всех тегов модуля:
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