Table of Contents

Расчёт интеграторов

Совет

В базе знаний есть примеры по настройке расчёта интеграторов для приборов без интегральных архивов.

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

Расчёт включается в свойствах точки учёта.

Есть два варианта расчёта интеграторов.

По потреблению

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

Для расчёта требуется наличие "опорного" интегратора на начало суток или часа. Если есть часовое потребление, то можно восстановить интеграторы на каждый час. Если есть суточное, то можно восстановить интеграторы на каждые сутки. В этом случае опорный интеграторы так же должен совпадать с началом суток.

Например:

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

Дата Считанный интегратор Потребление Рассчитанный интегратор
01.01.2022 1000 3 -
02.01.2022 - 4 1003
03.01.2022 - 2 1007
04.01.2022 - 5 1009
05.01.2022 - 1 1014

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

Интерполяция

Расчет интеграторов путем интерполяции по имеющимся является приблизительным. Разность интеграторов не обязательно равняется потреблению.

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

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

Пример интерполяции интеграторов

Даны текущие значения интеграторов на метки времени t' = 15.04.2014 01:08:00 и t'' = 15.04.2014 04:08:00, между которыми находятся метки времени 15.04.2014 02:00:00, 15.04.2014 03:00:00 и 15.04.2014 04:00:00

Значение интегратора M1' = 10000 на метку времени 15.04.2014 01:08:00

Значение интегратора M1'' = 10360 на метку времени 15.04.2014 04:08:00

t'' - t' = 15.04.2014 04:08:00 - 15.04.2014 01:08:00 = 10800 сек

Надо рассчитать значения интегратора M1 на метки времени 15.04.2014 02:00:00, 15.04.2014 03:00:00 и 15.04.2014 04:00:00

Для метки времени 15.04.2014 02:00:00 получаем:

Δt = 15.04.2014 02:00:00 - 15.04.2014 01:08:00 = 3120 сек

M1 = M1' + (M1'' - M1') * Δt / (t'' - t') = 10000 + (10360 - 10000) * 3120 / 10800 = 10104

Для метки времени 15.04.2014 03:00:00 получаем:

Δt = 15.04.2014 03:00:00 - 15.04.2014 01:08:00 = 6720 сек

M1 = M1' + (M1'' - M1') * Δt / (t'' - t') = 10000 + (10360 - 10000) * 6720 / 10800 = 10224

Для метки времени 15.04.2014 04:00:00 получаем:

Δt = 15.04.2014 04:00:00 - 15.04.2014 01:08:00 = 10320 сек

M1 = M1' + (M1'' - M1') * Δt / (t'' - t') = 10000 + (10360 - 10000) * 10320 / 10800 = 10344