Подключение устройств по modbus

У меня к порту контроллера с модулями подключён wb-mio-e, у которого есть свои модули, а от него идёт шина ко второму wb-mio-e, где тоже подключены модули.

Вопрос: могу я установить разную скорость обмена данными для модулей у каждого wb-mio-e, отличную от контроллера? Или это возможно для отдельного порта? В таком случае мне пришлось бы подключать wb-mio-e на разные порты, что не очень желательно.

Starck, скорость устанавливается для порта, может, стоит подключать оба MIO-E по Ethernet? Тогда проблем со скоростью быть не должно.
Можете точнее сказать как подключены первый и второй модуль WB-MIO-E в текущей схеме, не очень понял.

Подождите, я для датчика недавно менял скорость.

Я, наверное, не очень понял вашу схему подключения, можете поподробнее написать?

Если нельзя так как в схеме отразил, то придётся задействовать пару проводов витой пары для отдельной шины до контроллера. Достаточно двух жил на 10 метрах?

Вот место, которое не заработает — скорости разные на одной шине пе поддерживаются wb-mqtt-serial:
image
Двух жил может оказаться недостаточно, когда источники питания устройств разные, рекомендуется GND объединять. Иногда бывает так, что шина перестает работать из-за возникающей разности потенциалов у устройств с разными источниками питания.
Вы WB-MR6C хотите отдельно подключить?

Я про сечение имел ввиду. Хватит толщины жилы витой пары для передачи данных на расстояниях до 10 метров? С питанием ничего не меняется, я их объединю, конечно. А питание контроллера тоже сюда включать ?

Да, сечения хватит безусловно. GND питания контроллера тоже объединяйте.

1 лайк

Спасибо :wink:

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

Порт 1 (на рисунке обведено синим) по-прежнему работает.
Порт 2 (красный контур) - это новое подключение.

В mqtt-serial.json файле я лишь кусок кода, относящийся к модулям которые на втором MIO-E, перенёс в Настройки второго порта ниже.

Все рестартил, перегружал и даже на кнопку reset у MIO-E нажимал, но все бесполезно. Пока запретил устройство, чтобы лог не засорять.

А через редактор в веб-интерфейсе же проще?
Посмотрите через него, кстати, как видится конфигурация, и что со скоростями на портах и на устройствах? Совпадают?
Пришлите конфиг wb-mqtt-serial?

Так куда уже проще, чем ручками через редактор. Проверял я файл. Скорости менял и crc тоже. С бубном только осталось станцевать ))

Я для этого и готовил почву, чтобы две ветки с разными скоростями сделать. А теперь что?
PS. Файл пришлю как доберусь до него.

Да, давайте с бубном тогда:
что выдает команда (сначала выполните service wb-mqtt-serial stop, потом запустите, после экспериментов):
modbus_client --debug -mrtu -pnone -s1 -b9600 /dev/ttyAPP2 -a185 -t0x03 -r0x80

root@wirenboard-ARAXKJYF:~# modbus_client --debug -mrtu -pnone -s1 -b9600 /dev/ttyAPP2 -a185 -t0x03 -r0x80
Opening /dev/ttyAPP2 at 9600 bauds (N, 8, 1)
[B9][03][00][80][00][01][9E][9A]
Waiting for a confirmation…
ERROR Connection timed out: select
ERROR occured!

Добрый день, Starck.

  1. Правильно я понимаю, что на первом порту это устройство работало?
  2. Есть ли у вас устройство, которое вы можете подключить ко второму порту рядом с контроллером и проверить взаимодействие с ним?
  3. Проверьте, не ошиблись ли вы с подключением?

Да, я обратно группу модулей с их mio на первый порт вернул и все стало как прежде.

Нет, к сожалению. Если отцеплять только ваш датчик температуры, например. Только толку что. Я прозвонил провода - все гуд. Раньше я никогда не подключал ничего на второй порт, это первый опыт. Цвета я точно не мог перепутать, их два всего )) а в контроллере у вас не могло быть путаницы? Может перевернуть умышленно шину данных и проверить?

Странное дело. Я тогда попрошу вас прислать скриншоты настроек первого и второго порта из web-интерфейса и /var/log/messages (можно на info@contactless.ru с пометкой “для Kilpio от Starck”)
Шину можно перевернуть, но на плате контроллера ошибок точно не может быть.
С контроллером до вас и кроме вас никто не работал?

Никто

Starck, смотрите, у вас второй порт отключен в настройках:
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Поставьте там галочку и нажмите Save, должно заработать.