WB-MAP3E + WB-CT309 настройка счётчика и получение данных

Доброго дня!
Имеется трёхфазный счётчик WB-MAP3E и сборка трансформаторов тока WB-CT309. Счётчик и трансформаторы подключены комплектным патч-кордом и согласно схеме из документации. Коэффициент трансформации сборки WB-CT309 – 2000, угол – 120 градусов.
После монтажа выполнил настройку счётчика командой:

modbus_client --debug -mtcp -t0x10 -a133 -r0x1460 -p502 192.168.1.202 2000 2000 2000 120 120 120

где 192.168.1.202 и 502 – адрес и порт WB-MGE v.2;
133 – slave id счётчика WB-MAP3E.

После настройки получаю следующие данные (:
Регистр 4866 Активная мощность для фазы L1 — 1510.35 (похоже на правду)
Регистр 4868 Активная мощность для фазы L2 — 2735.37 (похоже на правду)
Регистр 4870 Активная мощность для фазы L3 — 21990171.66 (не похоже на правду)

Что я выполнил неверно?

Спасибо!

Добрый день.
Если используете с наши контроллером, то пришлите диагностический архив.

Покажите ответ при чтении регистров коэффициентов трансформации и фазовых углов ( 0x1460, 0x1461, 0x1462, 0x1463, 0x1464, 0x1465). А также регистров 4866, 4868, 4870.
Покажите фото подключения счетчика, фото подключения трансформаторов тока.
Перепроверьте правильность подключения по инструкции.

Контроллер не использую, работаю со счётчиком через wb-mge v2.
Значения регистров:
0x1460 – 0x07d0
0x1461 – 0x07d0
0x1462 – 0x07d0
0x1463 – 0x0078
0x1464 – 0x0078
0x1465 – 0x0078
4866 – 0x0002
4868 – 0x0001
4870 – 0x0003
Фото подключения нет, да и там толком ничего не видно, так как провода от УЗО уходят за дин-рейку.

К сожалению, я не указал, что нужно запрашивать по два регистра. Т.е. сделайте те же запросы, только с добавлением параметра -c2.

Похоже, что я сам неверно считываю значения регистров.

Значения те же
4866 – 0x0002
4868 – 0x0001
4870 – 0x0003

Прошу прощения за беспокойство. Сам накосячил.

Немного не понял. Проблема решена?

Да, решена.
В качестве системы управления я использую home assistant и интеграцию modbus. Если прописывать параметр slave_count, то можно одним запросом читать несколько регистров. Например чтение значений регистров 5142, 5143, 5144, 5145, 5146:

    - name: 'electric_meter_current'
      scan_interval: 5
      slave: 133
      address: 5142
      data_type: uint16
      input_type: input
      scale: 0.016
      slave_count: 4
      unique_id: 'electric_meter_current'

С этим всё понятно, значение каждого регистра возвращает “готовое” значение без необходимости дополнительных манипуляций, которые мы выполняем при чтении значений размером более 16 бит. На уровне home assistant игнорируем значения регистров 5143 и 5145.

Однако, значения потребляемой мощности записываются в два регистра и тут логика home assistant сломалась. Т.е. конфигурация типа:

    - name: 'electric_meter_active_power'
      scan_interval: 5
      slave: 133
      address: 4866
      data_type: uint32
      input_type: input
      scale: 0.00512
      slave_count: 5
      unique_id: 'electric_meter_active_power'

возвращает нам значения регистров 4866, 4867, 4868, 4869, 4870, 4871. Первые две пары регистров читает верно, а вот с последней парой что-то пошло не так. Прописал отдельные три сенсора и теперь всё хорошо. Правда вместо одного запроса выполняется три, но это некритично.
Спасибо за помощь в любом случае.

2 лайка