Счётчики электроэнергии серии MAP: таблица Modbus-регистров измеряемых и вычисляемых величин

Материал из Wiren Board
(перенаправлено с «Power Meter WB-MAP12H Measuring Registers»)

Это утверждённая версия страницы. Она же — наиболее свежая версия.

Детальное описание погрешностей: Счетчики WB-MAP: измеряемые параметры и погрешности, их названия в веб-интерфейсе Wiren Board.

Обозначения в шаблонах

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

Для энергий (AP, AN, RP, RN, S, NP, NN): первая буква (A, R, S, N) — тип энергии, второй — направление:

  • A — активная;
  • R — реактивная;
  • S — кажущаяся, вычисляется как URMS * IRMS;
  • N — неактивная.

Направление:

  • P — прямая (positive);
  • N — обратная (negative).

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

Примечания к названиям таблиц регистров

Таблицы регистров соответствуют шаблонам для счетчиков.


Версию прошивки счетчика можно проверить командой

echo  -e `modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a$mbusaddr -t0x03 -r250 -c 16 | grep Data | sed -e 's/0x00/\x/g' -e 's/Data://' -e 's/s//g'`|  xxd -r -p && echo ''

Здесь $mbusaddr — Modbus-адрес счетчика.

Порядок байт, широкие регистры, вычисление значения

Некоторые измеряемые счётчиками значения занимают больше 16 бит — размера одного регистра Modbus. Такие значения записываются в нескольких расположенных подряд регистрах: 32-битные в двух регистрах, а 64-битные — в четырёх. Некоторое стороннее ПО, например, ioBroker, воспринимают Signed 32 little endian, как signed 32 big endian word swap. Если у вас не сходятся расчётные результаты с показаниям в вашем софте — смените там тип.

В таблицах ниже для таких регистров указаны типы u32, u64 (без знака), s32 и s64 (со знаком). В качестве адреса в таблице указан адрес первого из идущих подряд регистров.

Порядок регистров при декодировании может быть прямым (big-endian) и обратным (little-endian). При этом порядок двух байт внутри одного 16-битного регистра всегда прямой, в соответствии со стандартом.

Пример: считываем четыре регистра 0x2200 – 0x2203:

Номер регистра
0x2200 0x2201 0x2202 0x2203
Содержимое регистра 0хb4df 0x0dff 0x0000 0x0000

Смотрим в таблицу регистров:

Modbus-регистры устройства
Адрес Параметры регистра Описание Значения FW
Dec Hex Тип Доступ Формат
8704 0x2200 Input RO u64
little endian
Ch 2 Total AP energy
Суммарная прямая активная энергия для канала 2
х10-5, кВт·ч 2.1

Порядок регистров little-endian — значит, регистры идут от младшего к старшему. Поэтому регистры объединяются в шестнадцатеричное число 0x0000 0000 0dff b4df, оно же 234861791 в десятичной системе счисления. Для вычисления энергии нужно умножить его на число в столбце "Значения" (10-5 = 0.00001), поэтому в итоге получаем 2348.61791 кВт·ч.

Другими словами, чтобы получить итоговое число:

0x2200
младшая часть — значение оставляем «как есть» : 0хb4dfhex = 46303dec
0x2201
значение умножаем на 216 : 0x0dffhex = 3583dec, 3583 * 65536 = 234815488
0x2202
значение умножаем на 232 : 0 * 4294967296 = 0
0x2203
значение умножаем на 248 : 0 * 281474976710656 = 0

Суммируем результаты : 46303 + 234815488 + 0 + 0 = 234861791. Сумму умножаем на 0.00001 (переносим запятую на 5 знаков влево).

WB-MAP12E

См. Таблица регистров измеряемых и вычисляемых величин WB-MAP12E

WB-MAP12H

См. Таблица регистров измеряемых и вычисляемых величин WB-MAP12H

WB-MAP6S

См. Таблица регистров измеряемых и вычисляемых величин WB-MAP6S

WB-MAP3H

См. Таблица регистров измеряемых и вычисляемых величин WB-MAP3H

WB-MAP3E

См. Таблица регистров измеряемых и вычисляемых величин WB-MAP3E