Профили и журналы событий в СПОДЭС
Показания за период, срезы нагрузки и журналы событий хранятся в приборе однотипно — объектами класса «обобщённый профиль». Разобравшись с ним один раз, вы читаете и суточные показания, и журнал вскрытий одинаковым кодом.
Как устроен профиль
У профиля есть буфер записей и список захватываемых объектов — состав записи. Список отвечает на вопрос, что означает каждая колонка: обычно первым идёт объект времени, затем регистры энергии, напряжений или коды событий. Дополнительно у профиля есть период захвата и счётчик записей.
Поэтому чтение профиля — это всегда два шага: сначала состав записи, потом сам буфер. Без первого шага вы получите таблицу чисел без смысла.
Типовые профили
- Жүктеме профилі — срезы с фиксированным периодом, обычно 30 минут; основной источник для расчётов и балансов.
- Суточные показания — по записи на сутки, с показаниями по тарифам.
- Ежемесячные показания — для коммерческого учёта; именно они чаще всего нужны для выставления счетов.
- Профиль текущих значений — мгновенные величины, если прибор их архивирует.
Классификация профилей и требования к их содержимому заданы в приложениях СТО по категориям приборов, а прикладные функции чтения описаны в разделе 13 ГОСТ Р 58940-2020.
Выборочное чтение
Читать буфер целиком почти никогда не нужно и вредно: это лишний трафик и время. Профиль поддерживает выборочный доступ двумя способами:
- по диапазону значений — чаще всего по времени: «записи с 1 по 26 августа»;
- по номерам записей — «последние 50 записей», удобно для дочитывания после обрыва связи.
При выборке по времени учитывайте часовой пояс прибора и переход на летнее время: расхождение в час — самая частая причина «пустого» ответа на корректный, казалось бы, запрос.
Блочная передача
Ответ с сотнями записей не помещается в один пакет, поэтому прибор передаёт его блоками, а клиент должен их собрать. Если клиент не умеет собирать блоки или объявил слишком маленький размер PDU, чтение выглядит как обрыв связи на середине. В Конфигураторе СПОДЭС блочная передача в журнале обмена объединяется автоматически — видно и отдельные блоки, и собранный ответ целиком.
Журналы событий
Журнал — тот же профиль, только в записи хранится код события и время. Коды не произвольные: стандарт задаёт ссылочную таблицу событий, а также формат слов состояний, в которых прибор сообщает о своём текущем состоянии. Для клиента это означает, что расшифровку событий нужно вести по таблице стандарта, а не по документации отдельного производителя — иначе одно и то же событие у разных приборов будет называться по-разному.
Практический совет: журналы стоит забирать чаще, чем кажется нужным. Они кольцевые — при интенсивных событиях старые записи вытесняются, и восстановить их потом нельзя.
Что проверить при отладке
- совпадает ли количество колонок в записи с составом записи профиля;
- применён ли масштаб к значениям регистров;
- совпадает ли время прибора с временем сервера сбора и учтён ли часовой пояс;
- не обрезан ли ответ из-за размера PDU или отсутствия сборки блоков.
