Это старая версия документа.
Содержание
wessvr.adapter
Модуль-адаптер для для связывания периферийного модуля источника, имеющего счетчики, с устройством Standard
модуля wessvr.
Основная задача адаптера транслировать значения тегов источника в свои теги, имена которых понятны устройству Standard
модуля wessvr
. Определение (сопоставление) имен тегов задается в карте тегов tags
, где обязательно должен быть определен хотя бы один тег счетчиков - SumWeight
и/или SumNum
. Остальные теги определяются по необходимости. Если тег не определен, то используется значение 0.
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: SumWeightHihg, SumWeightLow
По мере необходимости возможна разработка и дополнение вариантов сложных тегов.
Определение тегов по умолчанию
Автоматически в карту тегов добавляются следующие теги:
Адаптер | Источник |
---|---|
SYSTEM.ErrorFlag | SYSTEM.ErrorFlag |
SYSTEM.UpdateTime | SYSTEM.UpdateTime |
Данные теги прописывать не нужно.
Тег WesSvrState
Тег WesSvrState
обнуляется через 10 секунд, если в него не производить запись.
Crc32
Расчет значения выполняется по алгоритму Crc32. Исходный для расчета буфер данных формируется из 8-байтного представления следующих тегов в приведенной последовательности, указанной в разделе теги.
Теги
Список всех тегов модуля:
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