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 Карта тегов:
  • SumWeight
  • SumNum
  • CurWeight
  • LastWeight
  • LastTime
  • Status1
  • Status2
  • Status3
  • Status4
  • Status5
  • Output
См. «Определение тегов»

Определение тегов

Для определения тега нужно указать в качестве значения имя одного из тегов, который содержится в модуле источнике. Также в значении можно указать тег любого модуля, а не только того, что прописан в качестве модуля источника. Для этого значение имени тега записывается через двоеточие в формате:

<имя модуля>:<имя тега>

Пример:

  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-байтного представления следующих тегов в приведенной последовательности, указанной в разделе теги.

Теги

Список всех тегов модуля:

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 
doc/jroboplc/modules/peripherial/wessvr_adapter.txt · Последние изменения: 2023/03/07 07:02 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0