Это старая версия документа.


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

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

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

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

Пример:

  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 
doc/jroboplc/modules/peripherial/wessvr_adapter.1606221833.txt.gz · Последние изменения: 2020/11/24 15:43 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0