Создание отчетов о потреблении

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

  • Расход электроэнергии (ватт-час)
  • Расход газа (кубические метры)
  • Время работы оборудования (часы)

Расчет энегопотребления

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

1. Создание статистического канала

Мы будем использовать модуль Контроль статистического процесса для расчета показателей потребления и обобщение их средних значений по часам/дням/неделям/месяцам.

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

Затем кликните на Параметрах. Вы увидите диалог параметров. Введите ссылку на желаемое поле как Выражение. Возможно, ваша перменная kW будет иметь одно поле с тем же именем (kW). Таким образом, текст выражения будет {kW}. Здесь вы можете выполнять любые конверсии, например, переводить киловатты в ватты, написав {kW} * 1000.

Это выражение рассчитывается при каждом изменении переменной (т.е. каждый раз при опросе устройства). Оно должно всегда иметь результатом число.

Поскольку kW - это счетчик потребляемой энергии, установите тип статистического канала на Счетчик.  Этот тип канала рассчитывает “скорость изменения” счетчика, поэтому значение канала будет измеряться в киловаттах в секунду. Больше информации о типах статистических каналов можно найти здесь.

Наконец, ваши опции каналов будут похожи на следующие:

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

2. Создание запроса о получении исходных данных для отчета о потреблении

Данный отчет о потреблении основан на запросе. Для создания отчета дважды кликните на узле Запросы в системном дереве. Давайте создадим запрос со следующим Текстом запроса:

SELECT

stats.statistics$context,

stats.statistics$end,

stats.statistics$average * 3600

FROM

utilities:statistics("users.admin.devices.counterDevice", "kW", null, "hour") as stats

Вот окно конфигурации запроса:

Этот запрос вызывает функцию статистика из контекста утилиты для получения статистических показателей потребления. Он передает функции следующие параметры:

  • "users.admin.devices.counterDevice" - путь к вашему устройству,

“kW” - имя статистического канала,

“null” - клавиша строки, не используется в данном случае,

“hour” - показатель агрегирования (запрос выдаст ненулевые результаты, если прошло больше одного часа, поскольку мы создали наш статистический канал, но чтобы отладить его и посмотреть результаты раньше, здесь можно временно использовать значение “минуты”).

Запрос выбирает три поля из результата функции:

stats.statistics$context - контекст устройства,

stats.statistics$end - конец временной метки каждого периода агрегации,

stats.statistics$average * 3600 - среднее посекундное значение потребления, умноженное на 3600 секунд в час.

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

3. Создание отчета потребления

Для создания отчета дважды кликните на узле отчеты в системном дереве. Введите Имя и Описание в открывшемся окне.

Затем кликните на кнопке ‘...’ для редактирования Выражения исходных данных.

Появится окно Редактор выражений. Теперь найдите ваш запрос kW в дереве Данных сервера в Users/admin/Queries. Разверните его, чтобы увидеть узел Выпонить запрос и дважды щелкните по нему. Вы получите строку {users.admin.queries.kW:execute()}, вставленную в выражение.

Это выражение будет выполнять запрос каждый раз при создании отчета. Кликните OK дважды, чтобы закрыть этот и родительский диалог.

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

Нажмите OK в обоих диалогах. После этого вам будет предложено отредактировать шаблон отчета - отклоните этот запрос, чтобы пропустить запуск Редактора отчетов.

Вот и все! Теперь можно запустить ваш отчет двойным нажатием на Системном дереве: