Не виден WB-MSW v.3

Добрый день.

Датчик WB-MSW v.3 (адрес 14) подключен к WB 6 по RS485 (второй канал).
В web UI все атрибуты этого датчика не имеют значений и выделены красным шрифтом.
Помогите устранить проблему

Длина линии 30см, других устройств нет.
В логе (messages) постоянно такое “Serial protocol error: request timed out”

Если вместо проблемного датчика вешаю другой (wb-m1w2) и делаю соответствующую настрйоку, то в web UI корректно отображаются значения температуры
Настройки приложил (лога не позволяет)

настройки.txt (1.2 КБ)

Служба поддержки WB, прошу подключиться для решения проблемы

Добгый день! Скорее всего всё просто: неправильно указан адрес датчика или параметры порта. Пожалуйста проверьте, что адрес на наклейке совпадает с тем, что вы настраиваете в контроллере. Если не поможет - сбросьте настройки к заводским.

Например это можно сделать с помощью https://wirenboard.com/wiki/index.php/WB-MCU-Flasher .

wb-mcu-fw-flasher -j -d /dev/ttyRS485-2 -a 0  -u

Проверил - адрес на наклейке 14 (фото приложил)

Выполнил
wb-mcu-fw-flasher -j -d /dev/ttyRS485-2 -a 0 -u
два раза (второй раз с параметром -D) - не помогло. Ниже лог выполнения

root@wirenboard-AUEKYDCS:~# wb-mcu-fw-flasher -j -d /dev/ttyRS485-2 -a 0 -u
/dev/ttyRS485-2 opened successfully.
Send jump to bootloader command and wait 2 seconds…
Error: Connection timed out.
May be device already in bootloader, check status led
Send reset UART settings and modbus address command…
Error: Connection timed out.
To flash FW on running device, run
wb-mcu-fw-flasher -d -a <modbus_addr> -j -u -f <firmware.wbfw>
при этом светодиод на датчике постоянно (не мигает) горит зеленым

root@wirenboard-AUEKYDCS:~# wb-mcu-fw-flasher -j -d /dev/ttyRS485-2 -a 0 -u -D
/dev/ttyRS485-2 opened successfully.
Send jump to bootloader command and wait 2 seconds…
[00][06][00][81][00][01][19][F3]
Waiting for a confirmation…
ERROR Connection timed out: select
Error: Connection timed out.
May be device already in bootloader, check status led
Send reset UART settings and modbus address command…
[00][06][03][E8][00][01][C9][AB]
Waiting for a confirmation…
ERROR Connection timed out: select
Error: Connection timed out.
To flash FW on running device, run
wb-mcu-fw-flasher -d -a <modbus_addr> -j -u -f <firmware.wbfw>
при этом светодиод на датчике постоянно (не мигает) горит зеленым

В чем может быть причина? Может это дефект датчика?

Добрый день!

Очень маловероятно, они у нас все на производстве тестируются - в том числе опрашиваются по RS-485.

Во-первых, коллега забыл предупредить, что для работы wb-mcu-fw-flasher нужно остановить наш стандартный сервис опроса устройств wb-mqtt-serial:
service wb-mqtt-serial stop
и потом запускать флешер.
Когда выполните, скиньте, пожалуйста, вывод сюда.

Во-вторых, проверьте физическое подключение, напряжение на датчике.

До выполнения команды wb-mcu-fw-flasher -j -d /dev/ttyRS485-2 -a 0 -u -D я останавливал сервис wb-mqtt-serial
Подключение норм, тк ранее говорил, что другой датчик wb-m1w2 работает (вешаю его вместо обсуждаемого WB-MSW v.3)
Если все же это чем-то поможет, то я проделаю все указанное вами еще раз и измеряю напряжение на устройстве

Добрый день!

Получилось ли устранить проблему?
Если нет, можете прислать датчик нам на проверку. Если он неисправен, мы заменим за свой счёт. Если исправен, возьмём деньги за проверку. Если выберете этот вариант, напишите, пожалуйста, на info@contactless.ru со ссылкой на эту тему.

Добрый день.
Проблема сохраняется (временно не занимался этой проблемой)
Напряжение питания на датчике 12V
Напряжение между A и B - 0.4V
1 Выполнил service wb-mqtt-serial stop
2 Выполнил wb-mcu-fw-flasher -j -d /dev/ttyRS485-2 -a 0 -u и wb-mcu-fw-flasher -j -d /dev/ttyRS485-2 -a 0 -u -D - не помогло. Вывод ниже

root@wirenboard-AUEKYDCS:~# wb-mcu-fw-flasher -j -d /dev/ttyRS485-2 -a 0 -u
/dev/ttyRS485-2 opened successfully.
Send jump to bootloader command and wait 2 seconds...
Error: Connection timed out.
May be device already in bootloader, check status led
Send reset UART settings and modbus address command...
Error: Connection timed out.
To flash FW on running device, run
wb-mcu-fw-flasher -d <port> -a <modbus_addr> -j -u -f <firmware.wbfw>
root@wirenboard-AUEKYDCS:~# wb-mcu-fw-flasher -j -d /dev/ttyRS485-2 -a 0 -u -D
/dev/ttyRS485-2 opened successfully.
Send jump to bootloader command and wait 2 seconds...
[00][06][00][81][00][01][19][F3]
Waiting for a confirmation...
ERROR Connection timed out: select
Error: Connection timed out.
May be device already in bootloader, check status led
Send reset UART settings and modbus address command...
[00][06][03][E8][00][01][C9][AB]
Waiting for a confirmation...
ERROR Connection timed out: select
Error: Connection timed out.
To flash FW on running device, run
wb-mcu-fw-flasher -d <port> -a <modbus_addr> -j -u -f <firmware.wbfw>
root@wirenboard-AUEKYDCS:~#```

Насколько я понял, вы пытаетесь сбросить настройки по UART устройства. Беда в том, что адреса вы не знаете, а обращаться по широковещательному адресу (-a 0) можно только в режиме загрузчика.

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

wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a 0 -u -D

Перевод опций:

  • устройство на втором порту RS485
  • обратиться по адресу 0
  • стереть настройки адреса и скорости
  • выводить отладку

" . Беда в том, что адреса вы не знаете, а обращаться по широковещательному адресу ( -a 0 ) можно только в режиме загрузчика."

я об этом тоже думал, только как реализовать то, о чем Вы говорите - синхронность действий в одну секунду?
И как понять: получилось - не работает датчик или не получилось - надо проводить попытку сброса еще раз?

Хорошо, что у меня стэнд и и все компоненты в локации полуметра, а если это будет промышленная эксплуатация - как в этом случае быть?

на стенде точно не должно возникнуть проблем. Подаёте питание и нажимаете эннтер, в консоли уже должна быть набрана команда.

Команда сбросит настройки на 9600N2 адрес 1. Дальше просто пробуйте обратиться к датчику с этими настройками.

  • В промышленной инсталляции у вас неоткуда взяться датчику с неизвестным адресом
  • Если он взялся, то можно коммутировать питание Vout программно, если датчики запитаны оттуда
  • Если и так нельзя, то можно долго перебирать (скриптом) все комбинации настроек UART и адресов. Или забрать устройство на стенд.

Помогло, спасибо! Я начинаю верить в чудеса)

похоже это как раз мой случай.
Подскажите причины самопроизвольной смены адресов и как с этим бороться?

оффтоп У датчиков по RS485 может быть независимое от контроллера питание (как я понял из описания, нужно только от контроллера запитывать) ?