This is an old revision of the document!


Функциональные теги

Функциональный тег является вычисляемым тегом по заданной функции и значениям другого тега (одного или нескольких). Любой из модулей может иметь любое количество функциональных тегов.

Функция усреднения значения тега за период времени.

plugin.peripherial:

  module.W1: 
    descr:    promauto.gelios.flow
    type:     modbus
    tags:
      - name:          CurFlow
        address:       0x1002
        type:          int32
        access:        ro
        
    func.tags:
      CurFlowAvg:
        func:          avg
        type:          long
        input:         CurFlow
        period:        30_000

В данном примере создается функциональный тег с именем CurFlowAvg, в котором будет вычислятся среднее значение тега CurFlow за последние 30 секунд. При каждом выполнении в задаче происходит следующее:

  • входное значение добавляется в массив накопления
  • из массива накопления удаляются старые элементы, время жизни которых больше period
  • результат деления суммы всех значений массива накопления на количество элементов в массиве записывается в тег результата
  • если в тег результата записать ноль извне, то массив накопления очищается
Параметр Умолчание Описание
func avg - идентификатор функции
type INT Тип тега результата. Возможные значения:
  • INT
  • LONG
  • DOUBLE
input Ссылка на тег входных данных, см. Формат записи ссылки на тег
period 0 Период усреднения в миллисекундах
distinct off В данном режиме происходит накопление значений по изменению

Другие функции будут создаваться по заявкам пользователей

  • doc/jroboplc/functags.1772180355.txt.gz
  • Last modified: 2026/02/27 11:19
  • by denis