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


#1

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

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


#2

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


#3

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


#4

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


#6

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


#7

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


#8

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


#9

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


#10

Спасибо :wink:


#11

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

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

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

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


#12

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


#13

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

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


#14

#15

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


#16

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!


#17

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

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

#18

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

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


#19

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


#20

Никто


#21

Starck, смотрите, у вас второй порт отключен в настройках:


Поставьте там галочку и нажмите Save, должно заработать.