Библиотека типовых конфигураций

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

  • схемы подключения устройств к контроллеру (тип контроллера не важен, физический/виртуальный);
  • для каждой схемы подключения определяет состав параметров сбора и управления, основываясь на множестве параметров, которые определены для устройства в библиотеке устройств;
  • описывает вычислительные параметры, которые должны формироваться на базе измеряемых;
  • определяет расписания работы устройств (задает календарное и временное расписание изменения состояния устройств);
  • определяет правила работы уставок (описываются условия состояния измеряемых параметров, при которых требуется изменить состояние параметров).

Изменение в типовой конфигурации сказываются на всех связанных с ней контроллеров, поэтому важно выбирать точный баланс между типовостью настроек и обобщенностью схем подключения, чтобы в дальнейшем не требовалось частого изменения типовой конфигурации.
Типовых конфигураций может сколь угодно много. Режимов управления (расписаний) и правил в каждой типовой конфигурации может быть сколь угодно много.
Для контроллера назначается одна типовая конфигурация и одно типовое расписание (входит в типовую конфигурацию).
Ниже представлены основные разделы, которые описывают, что должно быть предварительно подготовлено для работы с типовой конфигурацией и действия по сборке конфигураций.
Следует придерживаться следующего порядка:

  • Сформировать библиотеку устройств, которые будут использоваться в схемах подключения типовой конфигурации. Правильное заполнение устройств потребует подтянуть справочники по единицам измерений.
  • Заполнить библиотеку иконок, которые могут быть назначены на параметры, для индикации статусов состояния параметров.
  • Заполнить справочник тегов. Теги не являются обязательным условием для работы с конфигурациями, их привязка к типовым параметрам не влечет необходимости перезаливать конфигурации на контроллеры.

При выполнении этих условий типовые конфигурации собираются в схемы, в которых прописываются устройства и для типовых параметров назначаются теги и иконки.

Устройства и каналы являются основными сущностями, которые описывают параметры физических устройств. Для того, чтобы начать создавать типовую конфигурацию сбора данных в платформу, предварительно нужно убедиться, что в библиотеке есть описание этих устройств. Если в библиотеке нет подходящих устройств, первым шагом необходимо их создать.

Для работы с устройствами необходимо в меню вызвать раздел в меню: Устройства

Выберите устройство для просмотра/редактирования его атрибутов. Для создания нового устройства нажмите значок «+». Для удаления устройств, выберите устройства и нажмите значок корзины.

Состав атрибутов Устройства

Атрибут Описание Тип
devicename Наименование устройства varchar 50
vendorname имя вендора varchar 50
productnumber продуктовый номер varchar 50
devicetopic Имя устройства в топике varchar 50
comment Примечание varchar 254

Пояснение!

Наиболее важным конфигурационным атрибутом является "Имя устройства в топике". По умолчанию, для адресации параметров используется семантика протокола MQTT. Имя устройства, которое вы зададите будет являться частью адреса топика параметра. Полное описание синтаксиса формирования топика приведено в разделе описание ПО контроллера. Имя следует задавать латинскими буквами, без пробелов. Например, milur305 (название и номер модели электросчетчика). Разные устройства могут иметь одинаковые имена топиков, но в рамках одной типовой 
конфигурации, полное имя топика, которое состоит из имени устройства и имени канала, должно быть уникальным.
В том случае, если устройство передает данные по другим протоколам (например http), это поле используется с учетом требований брокера передачи данных.       

Типы устройств

В платформе поддерживается несколько типов устройств, которые определяют способ взаимодействия с платформой.

Тип Пояснения
CONTROOLERОсновной тип используется для устройств, которые требуют подключения к контроллеру. Не имеет разницы, какой тип подключения: цифровой, аналоговый, wifi, если для сбора данных требуется подключение устройства к контроллеру, ему указывается тип CONTROLLER. При включении такого устройства в конфигурацию, его настройки будут отосланы на контроллер.
LORAWANТакой тип назначается устройству, которое будет взаимодействовать с платформой по сети LoraWAN. Настройки сети LoraWAN указываются в серверном модуле, взаимодействующем с сетью LoraWAN
METEOЭто специальное устройство, которое предназначено для получения метео-данных с помощью метео-сервиса платформы. Для устройства такого типа, названия каналов предопределены реализацией метео-сервиса:
температура для channeltopic = temperature (в градусах);
влажность для channeltopic = humidity (в процентах);
атмосферное давление для channeltopic = pressure (в гектапаскалях)

Каналы

Каналы являются сущностями, которые описывают параметры устройства и правила сбора значений параметра. Чтобы начать работать с каналами устройства, в разделе ссылок устройства нажмите на ссылку «Каналы».

Состав атрибутов Каналы

Атрибут Описание Тип
channelname Наименование параметра на канале varchar 100
channeltopic Имя канала в топике varchar 100
cfactor Калибровочный коэффициент float8
valuetype Тип значения параметра (сигнальный, мгновенное значение, нарастающий итог, счетчик импульсов, строковый) int4
avgpoints Количество отсчетов для усреднения текущего значения (имеет смысл только для параметра мгновенное значение int4
ctrability Возможность управления значением параметра (да, нет) bool
sensitivity Погрешность измерения параметра (цена деления шкалы измеряемого параметра) float8
recovery Допустимый интервал восстановления работоспособности канала (в секундах) int4
minLimit Минимальное значение параметра, имеющее физический смысл. Если значение от датчиков приходит меньше указанного minLimit, такой параметр получает статус недостоверного/сбойного double
maxLimit Максимальное значение параметра, имеющее физический смысл. Если значение от датчиков приходит ,больше указанного maxLimit, такой параметр получает статус недостоверного/сбойного double
manualinput Признак параметра, значения которого будут вносится вручную boolean
comment Примечание varchar 254

Пояснение!

1. Имя канала топика используется в полном имени параметра (см. пояснения для имени устройства). Задавайте имя только латинскими буквами. Например: Temperature, Hummidity,Total Consumption.
2. Калибровочный коэффициент - в текущей версии не используется.
3. Тип значения параметра влияет на его агрегацию/обработку. Платформа поддерживает следующие типы параметров:

СИГНАЛЬНЫЙпараметр, который может иметь только два значения: 0 или 1
МГНОВЕННЫЙчисловой параметр, который имеет стохастическую природу. Пример таких параметров: температура, напряжение, и.т.д.
НАРАСТАЮЩИЙ ИТОГчисловой параметр, который всегда передает значение нарастающим итогом (пример, электропотребление)
СЧЕТЧИК ИМПУЛЬСОВчисловой параметр, который передает свое значение в виде импульса, а каждый импульс калибруется коэффициентом (например, расход воды аналогового счетчика)
СТРОКОВЫЙстроковый параметр

4. Количество отсчетов позволяет убрать шум в том случае, если мгновенное значение имеет выбросы. Задайте количество точек, по которому будет определяться его среднее значение на интервале времени.
5. Погрешность измерения - определяет величину коридора, при выходе из которого контроллер обязательно передаст значение параметра.
6. Возможность управления - определяет способность устройства не только отдавать данные, но и принимать значения. Команды на отправку значения устройству принимаются только для параметров, у которых этот параметр отмечен в TRUE.
7. Допустимый интервал восстановления - определяет период времени, в течении которого платформа считает, что параметр «живой», даже если от него не приходят данные. При превышении этого интервала, платформа изменит состояние такого параметра, как «мертвый».
8. Верхние и нижние пределы определяют достоверные физические границы измерений. Если измерения будут выходить за пределы заданных границ, платформа определит этот параметр как недостоверный/сбойный.
9. Для тех параметров, для которых не предполагается сбор с помощью платформы, либо требуется вносить данные с внешних источников, устанавливается признак manualInput. Например, требуется внести некие плановые значения, либо выполнить импорт данных с внешнего источника.

Тип значения параметра выполняет важную роль при агрегации данных. Описание агрегации данных от типа параметра представлено в разделе [[admin:aggregation:агрегация_данных|Агрегация данных]]

Обычно к контроллеру может подключаться большое количество устройств, в том числе одинаковых по модели. Поэтому состав измеряемых параметров определяет схема подключения устройств. Для создания/редактирования схемы необходимо в правой панели типовой конфигурации в ссылках выбрать ссылку Схемы подключения устройств.

Описание Схемы подключения устройств

Имя Описание Тип
ключ Идентификатор подключения датчика int4
ключ Идентификатор типовой конфигурации int4
deviceid Идентификатор модели датчика (устройства) int4
portaddress Адресс порта, к которому подключен датчик varchar 6
connectname Наименование подключения varchar 50
comment Описание подключения varchar 254

Пояснения!

Адрес порта - указывается в том случае, если к контроллеру подключается несколько
одинаковых моделей устройств. Адрес порта участвует в построении топика, и его 
назначение позволяет точно определить топики для параметров одинаковых устройств. 
В типовой конфигурации нельзя задавать одинаковые адреса одним и тем же моделям
устройств.

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

Описание Измеряемых параметров

Имя Описание Тип
paramname Наименование параметра varchar 100
ключ Идентификатор подключения датчика int4
ключ Идентификатор канала датчика int4
ключ Идентификатор зоны int4
topic Имя топика для записи измеренных значений параметра (записывается полный путь) varchar 100
interval Период опроса значений параметра (в секундах) int4
urgent Признак срочности (TRUE -требуется немедленная доставка измененного значения, FALSE - не требуется) bool
notify Идентификатор сообщения об изменении значения параметра int4
ключ Идентификатор процедуры контроля int4

Пояснения!

1. Наименование параметра генерится автоматически и может быть изменено.
2. Идентификаторы подключения датчика и канала датчика генерятся автоматически.
3. Идентификатор зоны выполняет роль таргета, который может быть назначен дляпараметра. В дальнейшем зона может использоваться в дашбордах для группировки параметров по одинаковому таргету.
4. Имя топика создается автоматически.
5. Период опроса определяет обязательный период времени отсылки значений платформе. С учетом параметра погрешности измерения связанного с ним канала это значение может быть достаточно большим, например, 1 час. 
6. Признак срочности в основном применяется для сигнальных параметров. 
7. Идентификаторы сообщения и процедуры контроля описаны в главах "Контроль значений параметров" и "События и уведомления".

Механизм задания вычисляемых параметров предоставляет мощный и гибкий инструмент для расчета дополнительных параметров, которые необходимо постоянно рассчитывать по выборке измеряемых параметров.
С точки зрения обработки вычисляемых параметров они ничем не отличаются от измеряемых параметров. На вычисляемый параметр можно задать контрольную процедуру, формировать события либо вывести параметр в виджет.

Приведем пример использования вычисляемых параметров:

  • Два электросчетчика присылают показания энергопотребления, но пользователю важно получать общее энергопотребление. Для этого необходимо определить вычисляемый параметр, который будет рассчитывать их сумму по приходу значений от электросчетчиков.
  • В помещении установлено 10 температурных датчиков, но пользователю необходимо получать среднее значение. Для этого необходимо определить вычисляемый параметр, который будет рассчитывать среднее значение 10 параметров от датчиков.
  • Три считывателя меток beacon передают данные о расстоянии, но пользователю необходима информация о расположении метки на плане помещения. Для этого вводятся вычисляемые параметры, которые по результатам данных от считывателей рассчитывают координаты метки на плане помещений.

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

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

  • D<Id> - обозначение параметра, участвующего в формуле;
  • F(DR<id>) - обозначение параметра, участвующего в формуле.

Состав разрешенных операций для арифметических операций и их приоритеты приведены в разделе Арифметические и логические операции.

Описание Вычисляемых параметров

Имя Описание Тип
paramname Наименование параметра varchar
ключ Идентификатор типовой конфигурацииint4
ключ Идентификатор категории параметра int4
ключ Идентификатор зоны int4
expression Арифметическое выражение для вычисления значения параметраvarchar
ключ Идентификатор процедуры контроля int4

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

  • начало текущих суток;
  • начало текущей недели;
  • начало текущего месяца;
  • начало текущего квартала;
  • начало текущего года.
  • текущее время минус сутки;
  • текущее время минус неделя;
  • текущее время минус месяц;
  • текущее время минус квартал;
  • текущее время минус год.

Полное описание всех функций представлено в разделе Арифметические и логические операции.