WB-MAP3E fw2 не работает с Wirenboard 7

Добрый день. На объекте установлена связка Wirenboard 7 и WB-MAP3E, катушки из списка рекомендованных, подключение по мануалу, но счётчик выдаёт некорректные значения.
Шаблон проверяли, он такой же как на WB6. Скриншот карточки во вложении



Добрый день.
На нижней фото - это что, пара на клемму шины? И jно работает? А кто подключал, такому монтажнику надо объяснить хотя б азы.
Покажите, после приведения шины в рабочее состояние:

  • результат запросов c помощью modbus регистров счетчика
  • debug вывод wb-mqtt-serial/
12-04-2022 16:35:34.999 WARNING: [modbus] failed to read 6 input(s) @ 6160 of device modbus:54: Serial protocol error: malformed response: invalid crc
12-04-2022 16:35:34.948 WARNING: [modbus] failed to read 12 input(s) @ 5136 of device modbus:54: Serial protocol error: malformed response: invalid crc
12-04-2022 16:35:34.927 WARNING: [modbus] failed to read 24 input(s) @ 4864 of device modbus:54: Serial protocol error: request timed out
12-04-2022 16:35:34.592 WARNING: [modbus] failed to read 6 input(s) @ 6160 of device modbus:54: Serial protocol error: malformed response: invalid crc
12-04-2022 16:35:34.541 WARNING: [modbus] failed to read 12 input(s) @ 5136 of device modbus:54: Serial protocol error: malformed response: invalid crc
12-04-2022 16:35:34.520 WARNING: [modbus] failed to read 24 input(s) @ 4864 of device modbus:54: Serial protocol error: request timed out
12-04-2022 16:35:34.187 WARNING: [modbus] failed to read 6 input(s) @ 6160 of device modbus:54: Serial protocol error: malformed response: invalid crc
12-04-2022 16:35:34.136 WARNING: [modbus] failed to read 12 input(s) @ 5136 of device modbus:54: Serial protocol error: malformed response: invalid crc
12-04-2022 16:35:34.115 WARNING: [modbus] failed to read 24 input(s) @ 4864 of device modbus:54: Serial protocol error: request timed out
12-04-2022 16:35:33.857 WARNING: [modbus] failed to read 6 input(s) @ 6160 of device modbus:54: Serial protocol error: malformed response: invalid crc
12-04-2022 16:35:33.729 WARNING: [modbus] failed to read 12 input(s) @ 5136 of device modbus:54: Serial protocol error: malformed response: invalid crc
12-04-2022 16:35:33.729 WARNING: [modbus] failed to read 12 input(s) @ 5136 of device modbus:54: Serial protocol error: malformed response: invalid crc
12-04-2022 16:35:33.729 WARNING: [modbus] failed to read 12 input(s) @ 5136 of device modbus:54: Serial protocol error: malformed response: invalid crc
12-04-2022 16:35:33.729 WARNING: [modbus] failed to read 12 input(s) @ 5136 of device modbus:54: Serial protocol error: malformed response: invalid crc

Вот вывод debug. Вопрос с коммутацией решается, контроллер смонтирован в том же щите и это единственное устройство на шине

С включенным debug покажите лог. Ну и лучше - несколько тысяч строк, файлом.
CRC - это шина…
А какая версия прошивки на счетчике и какой релиз на контроллере?

Прошивка счётчика 2.3.5
Релиз wb-2201

Обновите счетчик на 2.3.7 сразу, кстати.


fw-updater уверяет что новее версии нет)
Переключиться на testing релиз контроллера?

Здравствуйте!
Попробуйте использовать такую команду:

wb-mcu-fw-updater update-fw --version 2.3.7 -a54 /dev/ttyRS485-2

Вывод команды покажите.
Какие настройки обмена порта используете?

root@wirenboard-AVY5JCLW:~# wb-mcu-fw-updater update-fw --version 2.3.7 -a54 /dev/ttyRS485-2
2022-04-13 09:07:11,098 Will find serial port settings for (/dev/ttyRS485-2 : 54)…
2022-04-13 09:07:11,137 Has found serial port settings: {‘baudrate’: 9600, ‘stopbits’: 2, ‘parity’: ‘N’}
2022-04-13 09:07:11,881 Firmware will be upgraded. Will flash (2.3.7) over (2.3.5).

Sending data block 122 of 123…
2022-04-13 09:07:36,224 Successfully flashed firmware (2.3.7) over (2.3.5)
2022-04-13 09:07:36,226 Done

Спасибо, прошить получилось.
Порт настроен по усмолчанию, 9600

А другие modbus-устройства у вас подключены? Если да, то как подключены и нормально ли опрашиваются?
Пришлите, пожалуйста, фото наклейки счетчика с серийным номером.

Тут всего два устройства, второе подключено к другому порту контроллера и работает нормально

Спасибо за информацию. Пока не получается в точности воспроизвести проблему.

А второе устройство какое? Можете попробовать поменять их местами (подключить счетчик на первый порт, а устройство на второй) для проверки работы портов.

Потом попробуйте запустить драйвер с максимально подробным выводом диагностических сообщений с выводом их в файл. Для этого выполните команды в консоли:

systemctl stop wb-mqtt-serial
wb-mqtt-serial -d3 2>&1 | grep WARNING -B 20 -A 20 | tee /root/serial_log

При возникновении ошибок на экране и в файле будут выведены диагностические сообщения. Дождитесь нескольких событий появления сообщений и остановите драйвер командой Ctrl + C, а файл /root/serial_log пришлите, пожалуйста для анализа.

Попробовали подключить цепочкой, сперва wb-mwac, потом wb-map3e, результата не дало. Лог во вложении. Шину пока не исправили
serial_log (108 КБ)

Вижу в логе разные ошибки обмена с обоими устройствами. Поэтому в первую очередь нужно сделать качественное подключение. Предлагаю сделать тестовый короткий кабель и для проверки работы устройств использовать его. Кабель сделать строго по всем рекомендациям, указанным здесь:
https://wirenboard.com/wiki/RS-485:Физическое_подключение

Затем подключайте устройства по одному и выполните те же команды с записью логов в файл. Результаты пришлите.

Вернули устройства в разные порты, собрали на висящем в воздухе кабеле и содержимое лога кардинально не изменилосьserial_log (164 КБ)

Консультируюсь с разработчиками по данной проблеме.

Получилось воспроизвести вашу проблему (ошибки обмена) на релизе ПО wb-2201 (stable) c драйвером wb-mqtt-serial версии 2.45.0-wb2.
Вам нужно обновить драйвер wb-mqtt-serial до версии 2.57.0. С новой версией драйвера такой проблемы нет. Пока данная версия драйвера доступна только в релизе testing. Самый простой способ перейти на релиз testing - выполнить команду в консоли контроллера:

wb-release -t testing

Затем проверьте, что нужная версия драйвера установилась. Выполните команду и покажите вывод:

dpkg -s wb-mqtt-serial

Затем заново сохраните конфигурацию serial-устройств и проверьте отображение в веб-интерфейсе.

К сожалению таким образом решить проблему тоже не удалось, хотя ошибок однозначно стало меньше.

Вывод dpkg -s wb-mqtt-serial

Спойлер

root@wirenboard-AVY5JCLW:~# dpkg -s wb-mqtt-serial
Package: wb-mqtt-serial
Status: install ok installed
Priority: optional
Section: misc
Installed-Size: 5328
Maintainer: Evgeny Boger boger@contactless.ru
Architecture: armhf
Version: 2.57.0
Replaces: wb-homa-modbus (<< 1.14.1)
Depends: libc6 (>= 2.6), libgcc1 (>= 1:3.5), libstdc++6 (>= 6), libwbmqtt1-3 (>= 3.7.0), init-system-helpers (>= 1.18~), ucf, bsdutils (>= 2.29)
Recommends: wb-mqtt-confed (>= 1.7.0)
Breaks: wb-homa-modbus (<< 1.14.1), wb-mqtt-confed (<< 1.7.0), wb-mqtt-homeui (<< 2.16.0)
Conffiles:
/etc/wb-configs.d/11wb-mqtt-serial 25dea7134dcb1cd4ec4e4f33524635e0
/etc/wb-mqtt-serial.conf.sample 8a7d546742e4e81f79d534988fe1d076
Description: Wiren Board Smart Home MQTT serial protocol driver
wb-mqtt-serial is a service which communicates with devices on RS-485
via Modbus or other supported protocols. Modbus TCP is also supported.
You can add your devices by creating new templates and configure each
register poll settings individually. Also it contains advanced templates
to configure parameters of Wiren Board peripheral devices.
Homepage: GitHub - wirenboard/wb-mqtt-serial: wb-mqtt-serial

Лог во вложенииserial_log (128 КБ)

Вы обновили только пакет или полностью перешли на релиз testing? Попробуйте перезагрузить контроллер.
Пока не получается воспроизвести такую проблему на скорости обмена 9600 бит/сек.

Чтобы передать проблему разработчикам, нам нужно убедиться, что дело точно не в качестве подключения модулей и не в неправильных настройках, а все ПО обновлено. Поэтому сделайте, пожалуйста, следующее:

  1. Выполните физическое подключение согласно нашим рекомендациям и пришлите фото подключения со стороны счетчика и со стороны контроллера. Основные требования - провода А и В шины RS-485 должны быть из одной витой пары, шина должна иметь линейную топологию, на конце установлен терминирующий резистор 120 Ом.
  2. Обновите все ПО контроллера на релиз wb-2201 (testing).
  3. Оставьте подключенным к контроллеру только счетчик WB-MAP.
  4. Обновите прошивку счетчика до версии 2.3.7 командой (адрес и порт замените на актуальные, вывод команды пришлите):
wb-mcu-fw-updater update-fw --version 2.3.7 -a28 /dev/ttyRS485-2
  1. В настройках аппаратной конфигурации порта, к которому подключен счетчик, включите терминирующий резистор и растяжку, как показано на скриншоте:

  2. Пришлите архив с диагностической информацией контроллера.

  3. Выполните команды

systemctl stop wb-mqtt-serial
wb-mqtt-serial -d3 2>&1 | grep WARNING -B 20 -A 20 | tee /root/serial_log

Дождитесь нескольких событий появления сообщений и остановите драйвер командой Ctrl + C, а файл /root/serial_log пришлите, пожалуйста для анализа еще раз.

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

Добавлю еще несколько действий.
Убедитесь, что у счетчика заданы такие же настойки обмена, как и у порта! Опросите его с помощью утилиты modbus_client, будут ли ошибки?

Попробуйте увеличить таймаут ожидания ответа, установив, например, 5000 мс для используемого порта:

Такое ощущение, что драйвер совсем не ждет ответа от устройства и снова посылает запрос на чтение новых регистров. Пришлите, пожалуйста, ваш файл конфигурации /mnt/data/etc/wb-mqtt-serial.conf