Связь по rs485 не устанавливается


#1

подключаюсь по modbus rtu к датчику msw v3 напрямую, все нормально.
если же он подключен к wb6 и к нему шлейфом подключаю свисток болидовский, то ошибка по таймауту.
пробовал службу останавливать mqtt serial, но не помогает.
что я делаю не так?


#2

Я правильно понимаю, что вы используете Болидовский USB-свисток для подключения третьего шлейфа RS-485 к контроллеру? Если так, то Linux очень плохо поддерживает их устройства, и, скорее всего, ничего не получится. Лучше попробовать что-то еще, например, https://wirenboard.com/ru/product/WBE2-I-RS485-ISO/


#3

да свисток от болида. к первом порту 485 на контроллере подключен msw, а уже к нему шлейфом подключаю свистульку. mbpoll начинает ругаться в этом случае, откидываю провод от wb и все ок.


#4

А, так вы к одной шине подключаете и болидовский адаптер, соединенный с ПК, и контроллер? Они оба выступают в роли Master на шине, и заведомо передерутся. Так что да, вы все правильно делаете: физически либо подключаете шину к адаптеру, либо к контроллеру.


#5

а перевести одно из устройств в слейв-режим на время совместной работы нельзя?


#6

Попробуйте на контроллере остановить wb-mqtt-serialи Перевести растяжку линий шины в состояние Disabled:


#7

службу останавливал, disabled делал, порт 485 закрывал. не помогает, пока провод не откинул физически - ошибка при опросе.


#8

Попробуйте вот такой способ: остановите wb-mqtt-serial на контроллере, но запустите на контроллере же команду
cat > /dev/ttyRS485-1
ну, или /dev/ttyRS485-2? с каким вы работаете.


#9

после запуска команды, типа песочных часов, потом ошибка виндовая - “не удается связаться с хостом…” и рвет соединение, приходится по новой коннектиться к wb6.
mbpoll - timeout error


#10

Странно. А через какой терминальный клиент вы подключаетесь? Связь рвется сразу после команды cat > /dev/ttyRS485-1 , не после остановки wb-mqtt-serial?

А контроллер при этом не перезагружается? А как ведет себя контроллер при команде cat /dev/ttyRS485-1?


#11

подключение через WinSCP.
после остановки mqtt-serial связь держится, рвется после cat > /dev/ttyRS485-1
контроллер при этом не перезагружается. внешне на контроллере это никак не сказывается.


#12

Выглядит очень странно. Попробуйте через putty устанавливать терминальную сессию. Проверил несколько раз – не могу воспроизвести обрыв ssh-соединения с контроллером.

И вот еще:


#13

вот реакция контроллера


#14

Алексей, вопрос был про то, есть ли разница в поведении контроллера при выполнении команды
cat > /dev/ttyRS485-1
или
cat /dev/ttyRS485-1
?

Putty попробовали?


#15

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


#16

Скажите, я правильно понимаю, а вы болидовский свисток используете для отладки? Возможно, есть другие способы решения вашей проблемы.


#17

его. попробую с другим конвертером.


#18

Можете ещё отключить шину от порта и померить постоянное напряжение (в диапазоне до 20 В) на A и B относительно GND после остановки wb-mqtt-serial до запуска команды cat /dev/ttyRS485-1 и после? Какие они у вас?


#19

после остановки wb-mqtt-serial
А - 4.42, В - 0.7 в
после запуска cat /dev/ttyRS485-1 ничего не меняется - 4.42 и 0.7 в


#20

Понятно, 4.42 – слишком много. А если таки cat > /dev/ttyRS485-1 ?
Кстати, когда после cat > /dev/ttyRS485-1 отваливается ssh-соеднинение, через болидовский переходник удается подключиться к устройствам на шине?