Не подключаются устройства по 485 шине

Здравствуйте.
Имеется WB6 и два устройства

  1. 110 WB-MR6CU v.2, WB-MRPS6 (6-канальный модуль реле)
  2. 38 WB-MSW v.4 (универсальный настенный Modbus-датчик)
    Подключаю 1 устройство в RS485-1, 2 устройство в RS485-2.
    Делаю быстрое сканирование, устройств не обнаруживает, медленное не обнаруживает, добавляю в ручную, не видит их. Индикаторы статуса на устройствах мигают зеленым. Сбрасывал настройки на заводские, использовал разные прошивки сейчас wb-2407, перекоммутировал провода (витая пара), подключал последовательно от одного порта, подключал по одному. Проверял порты minicom -D /dev/ttyRS485-2, сигналы вроде идут, движение есть в программе. Галочка на включении установлена в настройках. Скорость установлена на портах стандартная. Напряжение входное 11.8 (установлена батарейка в WB6).
    Подскажите что может быть? Не видит устройства. Что можно еще проверить, как продиагностировать?
    https://disk.yandex.ru/i/qEGHPf8SLpt6Ew

Добрый день!
А переключатель на плате датчика в каком положении?


На плате нет никаких переключателей. Он у меня проводной.
Отдельно тоже не работает если отключить датчик(.

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

Так? Загрузчик периферийных устройств Wiren Board — Wiren Board

Не очень понятно, что именно делалось, какой результат ожидался и какой был получен?

Статус мигает зеленым.
Сбрасывал через web панель, прошивал через флешку. Разные версии

Прикладываю лог файл
diag_AMWM4FYY_2024-09-05-16.12.36.zip (130,9 КБ)

Я давал ссылку, эту: Загрузчик периферийных устройств Wiren Board — Wiren Board
Мигание такое? Если да - опросите так:
Нужно подключить устройство единственным на порт контроллера, просканировать все адреса шины на ответ чтения 12 holding c 290 адреса, именно так:

for i in {1..247}; do echo -n "$i - "; D=`modbus_client -mrtu /dev/ttyRS485-1 --debug -b9600 -pnone -s2 -a$i -t3 -o100 -r290 -c12 2>/dev/null | grep Data:`; echo -e $D; done

ну и посмотреть отзывается ли.
Если в загрузчике - то выполнить прошивку по ссылке.

1 лайк

Добрый день, удалось ли решить проблему?

Мигает статус зеленым. Один раз короткий потом длинный. И после этого все 6 портов короткий желтый.

Нашел после сканирования.
110 - Data: 0x006d 0x0072 0x0036 0x0063 0x0075 0x0047 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000

Обновился по инструкции, статус не поменялся, устройство не добавляется, так же мигает. После обновления новых прошивок не находит
root@wirenboard-AMWM4FYY:~# wb-mcu-fw-updater update-all
2024-09-10 17:45:49,942 Will probe all devices on enabled serial ports of /etc/wb-mqtt-serial.conf:
2024-09-10 17:45:49,955 No devices has found in /etc/wb-mqtt-serial.conf
2024-09-10 17:45:49,959 0 upgraded, 0 skipped upgrade, 0 bootloader updates available, 0 stuck in bootloader, 0 disconnected and 0 too old for any updates.

Судя по описываемому - проблемы с питанием. Покажите пожалуйста расчет шины по току и напряжению. И замерьте напряжение ра модуле.

а, где посмотреть расчет шины? У меня был блок питания 12 вольт 1 ампер, сейчас поставил 20 вольт 0.6 ампер. Симптоматика не поменялась.
image
image
image
Измерить не могу(

Расчет шины выполняется на этапе проектирования, всегда. Иначе как понять - будет ли работать? Загляните в проект. Если такового нет - сделайте расчет по мощности и току сейчас.
Либо оставьте на шине одно устройство.

У меня установлен контроллер WB6 и один модуль

Как сконфигурировано устройство в wb-mqtt-serial?
Что именно делалось - опишите пожалуйста. Что обновлялось? Каккая часть пакетов контроллера, прошивка устройства?

так как устройство опрашиваектся с помощью modbus_client - прочитайте из него содержимое input регистров 104 и 105, например так:

modbus_client --debug -mrtu /dev/ttyRS485-1 --debug -b9600 -pnone -s2 -a110 -t 0x04 -r 104 -c2

Несколько (лучше пару десятков) раз.

Добрый день,
Удалось ли решить вопрос?

image
Обновлял на последнюю версию, перед этим, обнулял полностью!

Название релиза

wb-2407

Номер партии

6.5.1 B 3G 357

Системный журнал

26-09-2024 20:52:07.267 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors
26-09-2024 20:52:02.227 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors
26-09-2024 20:51:57.206 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors
26-09-2024 20:51:52.195 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors
26-09-2024 20:51:47.163 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors
26-09-2024 20:51:42.128 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors
26-09-2024 20:51:37.091 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors
26-09-2024 20:51:32.038 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors
26-09-2024 20:51:26.998 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors
26-09-2024 20:51:21.980 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors
26-09-2024 20:51:16.938 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors
26-09-2024 20:51:16.938 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors
26-09-2024 20:51:11.907 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors
26-09-2024 20:51:06.848 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors
26-09-2024 20:51:01.799 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors
26-09-2024 20:50:56.747 WARNING: </dev/ttyRS485-1 115200 8 N 2>: closed due to repetitive errors

Делал 10 раз, одно и тоже
root@wirenboard-AMWM4FYY:~# modbus_client --debug -mrtu /dev/ttyRS485-1 --debug -b9600 -pnone -s2 -a110 -t 0x04 -r 104 -c2
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[6E][04][00][68][00][02][F9][48]
Waiting for a confirmation…
ERROR Connection timed out: select
ERROR occured!
root@wirenboard-AMWM4FYY:~# modbus_client --debug -mrtu /dev/ttyRS485-1 --debug -b9600 -pnone -s2 -a110 -t 0x04 -r 105 -c2
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[6E][04][00][69][00][02][A8][88]
Waiting for a confirmation…
ERROR Connection timed out: select
ERROR occured!

Так, отлично.

Поведение не изменилось?
Оно вызывает подозрение, весьма похоже что сразу после того как отработает загрузчик устройство перезапускается.
Такое возможно если напряжение питания ниже 9 вольт.
Для проверки - остановите wb-mqtt-serial, командой

systemctl stop wb-mqtt-serial

Если поведение не поменяется - тогда гипотеза верна.
Проверить можно так:

modbus_client --debug -mrtu /dev/ttyRS485-1 --debug -b9600 -pnone -s2 -a110 -t 0x03 -r 290 -c12

Выполните несколько раз, чтобы попасть в период когда загрузчик уже работает (2 секунды) а модуль еще не перезагрузился.
Ну и главное - проверить напряжение питания на самом модуле. Не раз наблюдал просадку при включении, которая отправляла в перезагрузку.
Если подключить Modbus модуль (питание) от другого БП - поведение не меняется?
Скорее всего поможет (в случае удачного чтения регистров командой выше) перепрошивка так: Утилита обновления прошивок wb-mcu-fw-updater — Wiren Board

Спасибо большое. Да проблема была в напряжении.
Модулям надо от 9 вольт, а я подключал их от 5 вольт.
Но, тут появилась другая проблема, почему при подключении в этот разъем, питание пропадает? Замерял вольтметром. Менял провода. При подключении датчика, пропадает питание.
image

Не очень понятно, куда именно подключаете? То есть - подключен провод от блока питания, на нем пропадает питание?