WB-MAP3E Data Registers v.2: различия между версиями

Материал из Wiren Board
Строка 2: Строка 2:
== Общая информация ==
== Общая информация ==
{{Wbincludes:MAP Data Registers Preface}}
{{Wbincludes:MAP Data Registers Preface}}
== Регистры устройства ==
== Регистры WB-MAP3E ==
{{Modbus Registers Version FW
{{Modbus Registers Version FW
| fw_this= 2.x
| fw_this= 2.x

Версия 11:50, 25 марта 2022

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

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

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

Условные обозначения
RO / RW Read only / Read/Write
Выделено жирным Значение регистра по умолчанию
xN Множитель, на который надо умножить число из регистра, чтобы получить значение в единицах измерения.

Не указан — считать равным 1

Регистр поддерживает отправку данных с помощью событий Быстрого Modbus.
FW Версия прошивки устройства, с которой появился регистр. Пусто — регистр был всегда.
Error: Значение при ошибке
Серый цвет ячейки Служебный регистр: назначение, формат и содержимое может измениться в новых версиях прошивки
Modbus-регистры устройства
Адрес Параметры регистра Описание Значения FW
Dec Hex Тип Доступ Формат
5136 0x1410 Input RO u16
big endian
Urms L1
Напряжение (RMS) на фазе L1
x0.01, В
Error: 0xFFFF
2.1
5136 0x1410 Input RO u32
big endian
Urms L1
Напряжение (RMS) на фазе L1 (два последовательных регистра, повышенное разрешение)
x1.52588e-07, В
Error: 0xFFFFFFFF
2.1
6160 0x1810 Input RO s32
little endian
Upeak L1
Пиковое значение напряжения на фазе L1
x0.01, В
Error: 0xFFFFFFFF
2.1
5138 0x1412 Input RO u16
big endian
Urms L2
Напряжение (RMS) на фазе L2
x0.01, В
Error: 0xFFFF
2.1
5138 0x1412 Input RO u32
big endian
Urms L2
Напряжение (RMS) на фазе L2 (два последовательных регистра, повышенное разрешение)
x1.52588e-07, В
Error: 0xFFFFFFFF
2.1
6162 0x1812 Input RO s32
little endian
Upeak L2
Пиковое значение напряжения на фазе L2
x0.01, В
Error: 0xFFFFFFFF
2.1
5140 0x1414 Input RO u16
big endian
Urms L3
Напряжение (RMS) на фазе L3
x0.01, В
Error: 0xFFFF
2.1
5140 0x1414 Input RO u32
big endian
Urms L3
Напряжение (RMS) на фазе L3 (два последовательных регистра, повышенное разрешение)
x1.52588e-07, В
Error: 0xFFFFFFFF
2.1
6164 0x1814 Input RO s32
little endian
Upeak L3
Пиковое значение напряжения на фазе L3
x0.01, В
Error: 0xFFFFFFFF
2.1
4344 0x10F8 Input RO u16
big endian
Frequency
Частота
x0.01, Гц 2.1
4349 0x10FD Input RO s16
big endian
Voltage angle L1
Фазовый угол сдвига напряжения между фазами (всегда 0, отсчет ведется от фазы L1)
x0.1, градус
Error: 0xFFF
2.1
4350 0x10FE Input RO s16
big endian
Voltage angle L2
Фазовый угол сдвига напряжения между фазами L1 и L2
x0.1, градус
Error: 0xFFF
2.1
4351 0x10FF Input RO s16
big endian
Voltage angle L3
Фазовый угол сдвига напряжения между фазами L1 и L3
x0.1, градус
Error: 0xFFF
2.1
5142 0x1416 Input RO u16
big endian
Irms L1
Ток (RMS) на фазе L1
x0.016, А 2.1
5142 0x1416 Input RO u32
big endian
Irms L1
Ток (RMS) на фазе L1 (два регистра подряд, повышенное разрешение)
x2.44141e-07, А 2.1
6168 0x1818 Input RO s32
little endian
Ipeak L1
Пиковое значение тока на фазе L1
x0.016, А 2.1
4866 0x1302 Input RO s32
big endian
P L1
Активная мощность для фазы L1
x0.00512, Вт 2.1
4874 0x130A Input RO s32
big endian
Q L1
Реактивная мощность для фазы L1
x0.00512, вар 2.1
4882 0x1312 Input RO s32
big endian
S L1
Кажущаяся мощность для фазы L1
x0.00512, В·А 2.1
4285 0x10BD Input RO s16
big endian
PF L1
Коэффициент мощности для фазы L1
x0.001 2.1
4612 0x1204 Input RO u64
little endian
AP energy L1
Прямая активная энергия для фазы L1
x1e-05, кВт·ч 2.1
4644 0x1224 Input RO u64
little endian
RP energy L1
Прямая реактивная энергия для фазы L1
x1e-05, квар·ч 2.1
5144 0x1418 Input RO u16
big endian
Irms L2
Ток (RMS) на фазе L2
x0.016, А 2.1
5144 0x1418 Input RO u32
big endian
Irms L2
Ток (RMS) на фазе L2 (два регистра подряд, повышенное разрешение)
x2.44141e-07, А 2.1
6170 0x181A Input RO s32
little endian
Ipeak L2
Пиковое значение тока на фазе L2
x0.016, А 2.1
4868 0x1304 Input RO s32
big endian
P L2
Активная мощность для фазы L2
x0.00512, Вт 2.1
4876 0x130C Input RO s32
big endian
Q L2
Реактивная мощность для фазы L2
x0.00512, вар 2.1
4884 0x1314 Input RO s32
big endian
S L2
Кажущаяся мощность для фазы L2
x0.00512, В·А 2.1
4286 0x10BE Input RO s16
big endian
PF L2
Коэффициент мощности для фазы L2
x0.001 2.1
4616 0x1208 Input RO u64
little endian
AP energy L2
Прямая активная энергия для фазы L2
x1e-05, кВт·ч 2.1
4648 0x1228 Input RO u64
little endian
RP energy L2
Прямая реактивная энергия для фазы L2
x1e-05, квар·ч 2.1
5146 0x141A Input RO u16
big endian
Irms L3
Ток (RMS) на фазе L3
x0.016, А 2.1
5146 0x141A Input RO u32
big endian
Irms L3
Ток (RMS) на фазе L3 (два регистра подряд, повышенное разрешение)
x2.44141e-07, А 2.1
6172 0x181C Input RO s32
little endian
Ipeak L3
Пиковое значение тока на фазе L3
x0.016, А 2.1
4870 0x1306 Input RO s32
big endian
P L3
Активная мощность для фазы L3
x0.00512, Вт 2.1
4878 0x130E Input RO s32
big endian
Q L3
Реактивная мощность для фазы L3
x0.00512, вар 2.1
4886 0x1316 Input RO s32
big endian
S L3
Кажущаяся мощность для фазы L3
x0.00512, В·А 2.1
4287 0x10BF Input RO s16
big endian
PF L3
Коэффициент мощности для фазы L3
x0.001 2.1
4620 0x120C Input RO u64
little endian
AP energy L3
Прямая активная энергия для фазы L3
x1e-05, кВт·ч 2.1
4652 0x122C Input RO u64
little endian
RP energy L3
Прямая реактивная энергия для фазы L3
x1e-05, квар·ч 2.1
4864 0x1300 Input RO s32
big endian
Total P
Суммарная активная мощность
x0.00512, Вт 2.1
4872 0x1308 Input RO s32
big endian
Total Q
Суммарная реактивная мощность
x0.00512, вар 2.1
4880 0x1310 Input RO s32
big endian
Total S
Суммарная кажущаяся мощность
x0.00512, В·А 2.1
4284 0x10BC Input RO s16
big endian
Total PF
Суммарный коэффициент мощности
x0.001 2.1
4608 0x1200 Input RO u64
little endian
Total AP energy
Суммарная прямая активная энергия
x1e-05, кВт·ч 2.1
4640 0x1220 Input RO u64
little endian
Total RP energy
Суммарная прямая реактивная энергия
x1e-05, квар·ч 2.1
4345 0x10F9 Input RO s16
big endian
Phase angle L1
Угол фазового сдвига между напряжением и током для фазы L1
x0.1, градус 2.1
4346 0x10FA Input RO s16
big endian
Phase angle L2
Угол фазового сдвига между напряжением и током для фазы L2
x0.1, градус 2.1
4347 0x10FB Input RO s16
big endian
Phase angle L3
Угол фазового сдвига между напряжением и током для фазы L3
x0.1, градус 2.1


Общие для всех Modbus-устройств Wiren Board регистры
Адрес Параметры регистра Описание Значения
Dec Hex Тип Доступ Формат
104­-105 0x0068 - 0x0069 Input RO u32 Время работы с момента загрузки секунды
121 0x0079 Input RO u16 Текущее напряжение питания мВ
110 0x006E Holding RW u16 Скорость порта RS-485.
Настройка параметров подключения по RS-485
x100, Боды
12 — 1200 бит/с,
24 — 2400 бит/с,
48 — 4800 бит/с,
96 — 9600 бит/с,
192 — 19 200 бит/с,
384 — 38 400 бит/с,
576 — 57 600 бит/с,
1152 — 115 200 Кбит/с
111 0x006F Holding RW u16 Настройка бита чётности порта RS-485 0 — нет бита чётности (none),
1 — нечётный,
2 — чётный
112 0x0070 Holding RW u16 Количество стоп-битов порта RS-485 1, 2
113 0x0071 Holding RW u16 Время перед отправкой ответа на modbus запрос 0 - 254 мс
114 0x0072 Holding RW u16 Режим непрерывного чтения регистров с зазором 0 - отключен
1 - включен
2 - включение сохраняется после перезагрузки
128 0x0080 Holding RW u16 Modbus-адрес устройства (подробнее)
120 0x0078 Holding RW u16 Перезагрузка устройства без сохранения состояния любое, отличное от 0 перезагружает устройство
129 0x0081 Holding RW u16 Перевод в режим обновления прошивки на 2 минуты любое, отличное от 0 переводит устройство в режим обновления прошивки
130 0x0082 Holding RW u8 Отключение индикатора состояния 0 - активен,
1 - отключен
123 0x007B Input RO u16 Напряжение на микроконтроллере мВ
124 0x007C Input RO u16 Внутренняя температура микроконтроллера x0.1, °C
200-205 0x00C8 - 0x00CD Input RO string Модель устройства
206-219 0x00CE - 0x00DB Input RO string Расширение модели устройства. Для новых устройств WB-LED и WB-MAI6 поле поддерживается изначально, для остальных - в прошивках с "быстрым Modbus". Для чтения модели устройства нужно читать диапазон из 20 регистров (200 - 219). Если устройство возвращает ошибку Illegal Data Address - читать 6 регистров (200 - 205).
220-248 0x00DC - 0x00F8 Input RO string Хэш коммита и название ветки откуда собрана прошивка (2 символа в регистре)
250-265 0x00FA - 0x0109 Input RO string Версия прошивки
266-269 0x010A - 0x010D Input RO u64 Расширение серийного номера
270-271 0x010E - 0x010F Input RO u32 Серийный номер
290-301 0x0122 - 0x012D Holding RO string Сигнатура прошивки
330-336 0x014A - 0x0150 Holding RO string Версия загрузчика


Версия прошивки в устройствах с «Быстрым Modbus»

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

  • Диапазон регистров «Модель устройства» расширен до 20 регистров.
  • Версия формируется согласно semver и имеет формат MAJOR.MINOR.PATCH с опциональным суффиксом (-rc|+wb)SUFFIX:
    суффикс -rc означает, что прошивка предназначена для тестирования и может быть нестабильной. Хранится в регистре с отрицательным знаком;
    суффикс +wb добавляется, когда к прошивке, зафиксированной в релизе, требуется выпустить фикс. Хранится в регистре с положительным знаком.
  • Цифры версии доступны по отдельности в формате u16 (для суффикса - s16), регистры 320-323.
  • Доступно число u32, содержащее комбинацию цифр версии и позволяющее за одно сравнение понять, увеличилась или уменьшилась версия прошивки:
    число рассчитывается по формуле
    if (SUFFIX >= 0) {
        SUFFIX = SUFFIX + 128;
    } else {
        SUFFIX = -1 - SUFFIX;
    }
    VERSION = (MAJOR << 24) + (MINOR << 16) + (PATCH << 8) + SUFFIX;
    число доступно для чтения в little-endian и big-endian форматах;
    число для более свежей версии всегда будет больше, чем для предыдущей, в том числе, когда прошивка переходит из тестовой в стабильную.
    Таким образом обеспечивается корректное сравнение версий:
    1.2.3-rc1 < 1.2.3-rc10 < 1.2.3 < 1.2.3+wb1 < 1.2.3+wb10.
    


Регистры для хранения версии прошивки в устройствах с быстрым Modbus
Адрес Параметры регистра Описание Значения
Dec Hex Тип Доступ Формат
200-219 0x00C8 - 0x00DB Input RO string Модель устройства
320 0x0140 Input RO u16 Версия прошивки в числовом формате MAJOR
321 0x0141 MINOR
322 0x0142 PATCH
323 0x0143 s16 SUFFIX
324-325 0x0144 - 0x0145 Input RO u32 Версия прошивки в числовом формате
326-327 0x0146 - 0x0147 Input RO u32 Версия прошивки в Big Endian формате