FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Пятница, 22.09.2017, 10:53
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Modbus Slave на Arduino UNO (Не работает ComPort0)
Modbus Slave на Arduino UNO
Alexsem76 Дата: Суббота, 24.06.2017, 15:09 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
Здравствуйте уважаемые форумчане
Может кто сталкивался с такой проблемой:

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

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

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

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


Сообщение отредактировал Alexsem76 - Суббота, 24.06.2017, 15:15
 
KSP Дата: Суббота, 24.06.2017, 16:20 | Сообщение # 2
Рядовой
Группа: Проверенные
Сообщений: 23
Награды: 0
Репутация: 0
Статус: Offline
При подключении конвертера rs485 сканер Modbus RTU с ЮСБ кабеля работать перестает на любой плате УНО, НАНО . Отсоедини конвертер rs485 будет работать с компьютером, а при присоединенном конвертере rs485 если хочешь проверить сканером нужен конвертер ЮСБ- RS-485. соответственно их между собой соединяй как нужно А и В.

S
 
Alexsem76 Дата: Суббота, 24.06.2017, 16:55 | Сообщение # 3
Рядовой
Группа: Проверенные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
Если бы через конвертер, который я подключаю к плате все работало, вопроса на форуме и не было бы.

Цитата
Делаем то же самое, но теперь задаем как Modbus Slave - в настройках выбираем ComPort0. И вот здесь стопор. Как slave устройство мастером сети уже не видится . Конвертер rs485 подключен к 0 и 1 пинам. Пин DE значения не имеет (в двух случаях подключен одинаково).
 
Sancho Дата: Воскресенье, 25.06.2017, 07:39 | Сообщение # 4
Полковник
Группа: Проверенные
Сообщений: 428
Награды: 13
Репутация: 12
Статус: Offline
Alexsem76, Вам KSP предложил для проверки правильный вариант. Хотел бы его немного дополнить использованием в качестве мастера инсатовский сервер. Итого получаем: ардуино - RS485 - RS485 - USB - OPC INSAT. Питание на ардуино отдельно, не через USB.
Уверен, что возможно ошибка окажется в небольшой невнимательности к мелочи...


Если не получится на контроллере - сделаю на тразисторах и 155/176...
 
KSP Дата: Воскресенье, 25.06.2017, 08:40 | Сообщение # 5
Рядовой
Группа: Проверенные
Сообщений: 23
Награды: 0
Репутация: 0
Статус: Offline
Если мелочь то скорее всего при перекомпеляции программа автоматически выставляет скорость по умллчанию 9600, либо с адресами беда.

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

Добавлено (25.06.2017, 09:34)
---------------------------------------------

Цитата KSP ()
Если мелочь то скорее всего при перекомпеляции программа автоматически выставляет скорость по умллчанию 9600, либо с адресами беда.
Скорость, если я ошибся, не важна, так как использую одно устройство, подключенное через конвертер и использую программу под название Modbus RTU scanner. Там выбираю несколько скоростей. Сканирую. Что получается выше написал.


Сообщение отредактировал Alexsem76 - Воскресенье, 25.06.2017, 09:29
 
Sancho Дата: Воскресенье, 25.06.2017, 11:02 | Сообщение # 7
Полковник
Группа: Проверенные
Сообщений: 428
Награды: 13
Репутация: 12
Статус: Offline
На плате нано с usb таких фокусов нет, возможно  всё дело  в чипе uart|usb.
P.S. Если всё-таки уно работает нормально при всё тех-же условиях мастером нормально, то надо внимательно искать свою ошибку - чудес точно не бывает, просто где-то косячок...


Если не получится на контроллере - сделаю на тразисторах и 155/176...

Сообщение отредактировал Sancho - Воскресенье, 25.06.2017, 17:13
 
Alexsem76 Дата: Воскресенье, 25.06.2017, 23:00 | Сообщение # 8
Рядовой
Группа: Проверенные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
Буду искать. Попробую другую плату. Хотя та же самая беда на оригинальной плате uno.  А вообще у меня есть подозрения на библиотеку, что проверить не могу.
Тему хочу добить. По результатам отпишусь.

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

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

 
Форум » Основной » Спросить у знатоков » Modbus Slave на Arduino UNO (Не работает ComPort0)
Страница 1 из 11
Поиск:

FLProg © 2017
Яндекс.Метрика