Создание отчетов о потреблении
Этот урок объясняет, как создать отчет о потреблении на основе агрегированных значений метрик поребления. Такие отчеты суммируют результаты поребления ниже приведенных и подобных им метрик по часам/дням/неделям/месяцам/годам:
- Расход электроэнергии (ватт-час)
- Расход газа (кубические метры)
- Время работы оборудования (часы)
Расчет энегопотребления
Предположим, что у нас есть устройство с переменной 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 в обоих диалогах. После этого вам будет предложено отредактировать шаблон отчета - отклоните этот запрос, чтобы пропустить запуск Редактора отчетов.
Вот и все! Теперь можно запустить ваш отчет двойным нажатием на Системном дереве: