[17726] Изменение алгоритма НС «Сброс интеграторов» для учета расхождения времени прибора и сервера

Продолжение темы: [17546] Неверная маркировка типа данных в НС «Сброс интеграторов»

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

Предлагается изменить алгоритм работы НС следующим образом:

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

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

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

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