Это старая версия документа.
Содержание
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 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 SYSTEM.UpdateTime INT