WB-MAP3E, прошивка 1.0.1: измеряемые и вычисляемые величины

From Wiren Board
This is the approved revision of this page, as well as being the most recent.

Общая информация

Детальное описание погрешностей: Счетчики 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 знаков влево).

Таблица Modbus-регистров

Обратите внимание на версию прошивки устройства — таблицы регистров в разных версиях отличаются. На этой странице описаны регистры прошивки 1.0.1, описание регистров прошивки 2.x.

Регистр / адрес (hex) Тип Разрядность Порядок регистров Формат Множитель Параметр Назначение Единицы измерения Прошивка
0x10d9 input u16 big endian (voltage) 0.01 Urms L1 Напряжение (RMS) на фазе L1 В 1.0.1
0x1810 input s32 little endian (voltage) 0.01 Upeak L1 Пиковое значение напряжения на фазе L1 В 1.0.1
0x10da input u16 big endian (voltage) 0.01 Urms L2 Напряжение (RMS) на фазе L2 В 1.0.1
0x1812 input s32 little endian (voltage) 0.01 Upeak L2 Пиковое значение напряжения на фазе L2 В 1.0.1
0x10db input u16 big endian (voltage) 0.01 Urms L3 Напряжение (RMS) на фазе L3 В 1.0.1
0x1814 input s32 little endian (voltage) 0.01 Upeak L3 Пиковое значение напряжения на фазе L3 В 1.0.1
0x10f8 input u16 big endian (value) 0.01 Frequency Частота Гц 1.0.1
0x10fd input s16 big endian (value) 0.1 Voltage angle L1 Фазовый угол сдвига напряжения между фазами (всегда 0, отсчет ведется от фазы L1) ° 1.0.1
0x10fe input s16 big endian (value) 0.1 Voltage angle L2 Фазовый угол сдвига напряжения между фазами L1 и L2 ° 1.0.1
0x10ff input s16 big endian (value) 0.1 Voltage angle L3 Фазовый угол сдвига напряжения между фазами L1 и L3 ° 1.0.1
0x10dd input u16 big endian (value) 0.001 Irms L1 Ток (RMS) на фазе L1 А 1.0.1
0x1818 input s32 little endian (value) 0.001 Ipeak L1 Пиковое значение тока на фазе L1 А 1.0.1
0x1302 input s32 big endian (power) 0.00032 P L1 Активная мощность для фазы L1 Вт 1.0.1
0x130a input s32 big endian (value) 0.00032 Q L1 Реактивная мощность для фазы L1 вар 1.0.1
0x1312 input s32 big endian (value) 0.00032 S L1 Кажущаяся мощность для фазы L1 В·А 1.0.1
0x10bd input s16 big endian (value) 0.001 PF L1 Коэффициент мощности для фазы L1 1.0.1
0x1204 input u64 little endian (power_consumption) 3.125e-06 AP energy L1 Прямая активная энергия для фазы L1 кВт·ч 1.0.1
0x1224 input u64 little endian (value) 3.125e-06 RP energy L1 Прямая реактивная энергия для фазы L1 квар·ч 1.0.1
0x10de input u16 big endian (value) 0.001 Irms L2 Ток (RMS) на фазе L2 А 1.0.1
0x181a input s32 little endian (value) 0.001 Ipeak L2 Пиковое значение тока на фазе L2 А 1.0.1
0x1304 input s32 big endian (power) 0.00032 P L2 Активная мощность для фазы L2 Вт 1.0.1
0x130c input s32 big endian (value) 0.00032 Q L2 Реактивная мощность для фазы L2 вар 1.0.1
0x1314 input s32 big endian (value) 0.00032 S L2 Кажущаяся мощность для фазы L2 В·А 1.0.1
0x10be input s16 big endian (value) 0.001 PF L2 Коэффициент мощности для фазы L2 1.0.1
0x1208 input u64 little endian (power_consumption) 3.125e-06 AP energy L2 Прямая активная энергия для фазы L2 кВт·ч 1.0.1
0x1228 input u64 little endian (value) 3.125e-06 RP energy L2 Прямая реактивная энергия для фазы L2 квар·ч 1.0.1
0x10df input u16 big endian (value) 0.001 Irms L3 Ток (RMS) на фазе L3 А 1.0.1
0x181c input s32 little endian (value) 0.001 Ipeak L3 Пиковое значение тока на фазе L2 А 1.0.1
0x1306 input s32 big endian (power) 0.00032 P L3 Активная мощность для фазы L3 Вт 1.0.1
0x130e input s32 big endian (value) 0.00032 Q L3 Реактивная мощность для фазы L3 вар 1.0.1
0x1316 input s32 big endian (value) 0.00032 S L3 Кажущаяся мощность для фазы L3 В·А 1.0.1
0x10bf input s16 big endian (value) 0.001 PF L3 Коэффициент мощности для фазы L3 1.0.1
0x120c input u64 little endian (power_consumption) 3.125e-06 AP energy L3 Прямая активная энергия для фазы L3 кВт·ч 1.0.1
0x122c input u64 little endian (value) 3.125e-06 RP energy L3 Прямая реактивная энергия для фазы L3 квар·ч 1.0.1
0x1300 input s32 big endian (power) 0.00032 Total P Суммарная активная мощность Вт 1.0.1
0x1308 input s32 big endian (value) 0.00032 Total Q Суммарная реактивная мощность вар 1.0.1
0x1310 input s32 big endian (value) 0.00032 Total S Суммарная кажущаяся мощность В·А 1.0.1
0x10bc input s16 big endian (value) 0.001 Total PF Суммарный коэффициент мощности 1.0.1
0x1200 input u64 little endian (power_consumption) 3.125e-06 Total AP energy Суммарная прямая активная энергия кВт·ч 1.0.1
0x1220 input u64 little endian (value) 3.125e-06 Total RP energy Суммарная прямая реактивная энергия квар·ч 1.0.1
0x10f9 input s16 big endian (value) 0.1 Phase angle L1 Угол фазового сдвига между напряжением и током для фазы L1 ° 1.0.1
0x10fa input s16 big endian (value) 0.1 Phase angle L2 Угол фазового сдвига между напряжением и током для фазы L2 ° 1.0.1
0x10fb input s16 big endian (value) 0.1 Phase angle L3 Угол фазового сдвига между напряжением и током для фазы L3 ° 1.0.1