Страница 1 из 1

Modbus Slave на Arduino UNO

Добавлено: 24 июн 2017, 15:09
Alexsem76
Здравствуйте уважаемые форумчане
Может кто сталкивался с такой проблемой:

Берем ардуино уно - задаем ее как Modbus Master - в настройках modbus выбираем ComPort0 - с другими устройствами slave все работает (проект выкладывать смысла нет, работает во всех).

Делаем то же самое, но теперь задаем как Modbus Slave - в настройках выбираем ComPort0. И вот здесь стопор. Как slave устройство мастером сети уже не видится . Конвертер rs485 подключен к 0 и 1 пинам. Пин DE значения не имеет (в двух случаях подключен одинаково).

Через сканер Modbus RTU scanner все видно, при подключенном usb кабеле и выборе порта ардуино уно.

Вопрос в следующем : как Modbus Slave усройство ардуино уно через comPort0 работать не может?

Modbus Slave на Arduino UNO

Добавлено: 24 июн 2017, 16:20
KSP
При подключении конвертера rs485 сканер Modbus RTU с ЮСБ кабеля работать перестает на любой плате УНО, НАНО . Отсоедини конвертер rs485 будет работать с компьютером, а при присоединенном конвертере rs485 если хочешь проверить сканером нужен конвертер ЮСБ- RS-485. соответственно их между собой соединяй как нужно А и В.

Modbus Slave на Arduino UNO

Добавлено: 24 июн 2017, 16:55
Alexsem76
Если бы через конвертер, который я подключаю к плате все работало, вопроса на форуме и не было бы.
Делаем то же самое, но теперь задаем как Modbus Slave - в настройках выбираем ComPort0. И вот здесь стопор. Как slave устройство мастером сети уже не видится . Конвертер rs485 подключен к 0 и 1 пинам. Пин DE значения не имеет (в двух случаях подключен одинаково).

Modbus Slave на Arduino UNO

Добавлено: 25 июн 2017, 07:39
Sancho
Alexsem76, Вам KSP предложил для проверки правильный вариант. Хотел бы его немного дополнить использованием в качестве мастера инсатовский сервер. Итого получаем: ардуино - RS485 - RS485 - USB - OPC INSAT. Питание на ардуино отдельно, не через USB.
Уверен, что возможно ошибка окажется в небольшой невнимательности к мелочи...

Modbus Slave на Arduino UNO

Добавлено: 25 июн 2017, 08:40
KSP
Если мелочь то скорее всего при перекомпеляции программа автоматически выставляет скорость по умллчанию 9600, либо с адресами беда.

Modbus Slave на Arduino UNO

Добавлено: 25 июн 2017, 09:34
Alexsem76
Спасибо за Ваш ответ. Попробую сформулировать по другому: берем две платки на одинаковых процессорах (Atmega328p) ардуино уно и про мини (одна с usb, повешенного на пины 0 и 1, другая без него). Заливаем одну и туже программу (используем как modbus slave устройство). И аля фокус: Через преобразователь usb-rs485, подключенный к пинам 0 и 1 первая не работает, вторая - РАБОТАЕТ! Зачем дополнительно еще что-то подключать.
Вопрос формулировал такой : в режиме Modbus Slave использовать ComPort0 нельзя?
Дополняю вопрос: нужно использовать SoftSerialPort (на других пинах)?
Добавлено (25.06.2017, 09:34)
---------------------------------------------
KSP писал(а):Если мелочь то скорее всего при перекомпеляции программа автоматически выставляет скорость по умллчанию 9600, либо с адресами беда.
Скорость, если я ошибся, не важна, так как использую одно устройство, подключенное через конвертер и использую программу под название Modbus RTU scanner. Там выбираю несколько скоростей. Сканирую. Что получается выше написал.

Modbus Slave на Arduino UNO

Добавлено: 25 июн 2017, 11:02
Sancho
На плате нано с usb таких фокусов нет, возможно  всё дело  в чипе uart|usb.
P.S. Если всё-таки уно работает нормально при всё тех-же условиях мастером нормально, то надо внимательно искать свою ошибку - чудес точно не бывает, просто где-то косячок...

Modbus Slave на Arduino UNO

Добавлено: 25 июн 2017, 23:00
Alexsem76
Буду искать. Попробую другую плату. Хотя та же самая беда на оригинальной плате uno.  А вообще у меня есть подозрения на библиотеку, что проверить не могу.
Тему хочу добить. По результатам отпишусь.

Добавлено (25.06.2017, 23:00)
---------------------------------------------
Проблема найдена. Она была в самодельном конвертере rs485. Ни туда запаял один из резисторов входа. Правда возникает другой вопрос - почему все работало в режиме master. Ну  это уже тема для других бесед.

Тему закрываю. Всем присоединившимся громадное спасибо. Натолкнули на мысли - куда идти.