Нужна ваша помощь по взаимодействию с прибором по протоколу Modbus.
Мы установили прибор WB-MAP3E, маркировка: http://prntscr.com/uujatq
За основу взял: https://wirenboard.com/wiki/Power_Meter_Measuring_Registers
Раздел: Таблица регистров для счетчика WB-MAP3E FW2, прошивка 2.1
Основная часть интересующих меня регистров не вызвала никаких проблем. Данные удалось получить. Но вот самый главный регистр, где хранится сумма накопленной энергии вызвал проблемы.
Судя по таблице то, что меня интересует - Total AP energy, регистр 0x1200. Верно?
64-битное число, 4 регистра подряд, порядок самих регистров little endian.
Пробую получить, отправляю запросы:
0x1200:
Запрос: 4903120000018efa
Ответ: 4903024083282b [0x4083]
0x1201:
Запрос: 490312010001df3a
Ответ: 490302003f185a [0x003F]
0x1202:
Запрос: 4903120200012f3a
Ответ: 4903020000584a [0x0000]
0x1203:
Запрос: 4903120300017efa
Ответ: 4903020000584a [0x0000]
Результат:
0x4083, 0x003F, 0x0000, 0x0000
Меняем порядок регистров:
0x0000, 0x0000, 0x003F, 0x4083
Hex -> Dec:
3F4083h = 4145283
Умножаем на 10-5:
4145283 * 1e-05 = 41.45283 кВт·ч
Но это не похоже на реальное значение. К этому счётчику подключена реальная нагрузка. Показания самого же счётчика говорят о том, что на каждой фазе более 10А. Счетчик висит уже несколько недель. Не может там быть 41 кВт·ч.
Перепроверял несколько раз. Но не выходит. Искал в инструкции, может быть где-то написано, что нужно на что-то ещё умножить - тоже не нашёл.
Проверял на другом приборе. Там аналогичная картина.
В моих расчётах где-то ошибка. Пожалуйста, подскажите, как правильно получить корректную информацию.
Спасибо!