Функциональные теги
Функциональный тег является вычисляемым тегом по заданной функции и значениям другого тега (одного или нескольких). Любой из модулей может иметь любое количество функциональных тегов.
avg
Функция усреднения значения тега за период времени.
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 | Тип тега результата. Возможные значения:
|
input | Ссылка на тег входных данных, см. Формат записи ссылки на тег | |
period | 0 | Период усреднения в миллисекундах |
distinct | off | В данном режиме входное значение добавляется в массив накопления только тогда, когда оно отличается от последнего добавленного значения в массиве |
Другие функции будут создаваться по заявкам пользователей