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

Заменил модули, перестал работать modbus

Добавлено: 19.10.2022{, 21:02}
Dwail
Изначальная задача: передавать числа между Master и Slave.
Для эксперимента собрал простую сборку, Master: Uno+самый дешевый модуль rs485 Изображение
Slave аналогичен, только добавлен дисплей на чипе HD44780.
И сделал примитивную программу, отправить число с мастера.
Проверил, все работает, число передано и выведено на экран.

Затем поменял устройства RS485 на такие Ссылка на Али Они отличаются как минимум тем, что нет выхода на Pe-De. Соответственно в настройках поставил пин Pe-De "нет".
Заливаю прошивку, число не передается. Говорят что на этих платах бывают перепутаны TX-RX, пробовал разные варианты подключения - результат тот же.

Не могу понять в чем проблема. Нужна помощь.

Заменил модули, перестал работать modbus

Добавлено: 19.10.2022{, 21:06}
ecoins
Dwail писал(а):
19.10.2022{, 21:02}
Slave аналогичен, только добавлен дисплей на чипе HD44780.
С высокой вероятностью(проект не смотрел) проблема в длительном выводе строковых переменных через блок стандартного LCD.
Попробуйте блоки ecoins - они решают эти проблемы.

Заменил модули, перестал работать modbus

Добавлено: 20.10.2022{, 19:39}
Dwail
Отключил экран, перенастроил UART на SoftwareSerial. Результат тот же, связи нет.

Заменил модули, перестал работать modbus

Добавлено: 20.10.2022{, 20:27}
Ingwar
Dwail писал(а):
20.10.2022{, 19:39}
Отключил экран, перенастроил UART на SoftwareSerial. Результат тот же, связи нет.
Используемая в этих модулях MAX3465 по распайке идентична "классике" MAX485 и имеет входа Pe-De.
Из этого можно сделать предположение, что формируемый сигнал управления на "захват шины" не приемлем по временным параметрам в реалиях Flprog.
Поясню - в рамках разработки miniHMI совместно с некоторыми форумчанами проводил эксперименты по зависимости задержки запроса после выставления управления на Pe-De.
Выяснилось, что необходима пауза (к сожалению не помню сколько мсек) между выставления управления и начала передачи.
Допускаю, что плата "Конвертер TTL в RS485" формирует управление одновременно или с малым промежутком.
Варианты проверки - поставить на мастер простой трансмиттер с управлением Pe-De, а на слейв новые. Или на новой плате для мастера обрезать дорожку управления и припаяв проводок на 2,3 ножки, подать на него Pe-De.

Заменил модули, перестал работать modbus

Добавлено: 20.10.2022{, 21:42}
Dwail
я пробовал на мастере простой модуль, на слэйве "новый", тоже не заработало. Видел примеры с этими модулями на базе библиотеки ModbusMaster.h, но у меня не получилось разобраться в коде :-(

Заменил модули, перестал работать modbus

Добавлено: 21.10.2022{, 01:18}
Ingwar
Dwail писал(а):
20.10.2022{, 21:42}
я пробовал на мастере простой модуль, на слэйве "новый", тоже не заработало.
Оба проверили "новых"? И все варианты их подключения (Rx/Tx, A/B)?

Заменил модули, перестал работать modbus

Добавлено: 22.10.2022{, 02:20}
WildCat
На этих модулях (без re/de) протокол не modbus. Они используют принцип дифференциальной передачи сигнала по витой паре, без использования протокола обмена modbus. Заявляют, что реализовано аппаратное управление потоком данных (приём/передача). По сути, получается полу-дуплекс, в отличие от классического UART.

Для работы с ними нужно использовать блоки отправка переменной в UART, чтение переменной из UART. И всё будет работать.
Но стоит иметь ввиду, что максимальная скорость будет меньше. У меня без потерь в обе стороны заработало на скорости 19200.

Заменил модули, перестал работать modbus

Добавлено: 22.10.2022{, 03:06}
Ingwar
WildCat писал(а):
22.10.2022{, 02:20}
На этих модулях (без re/de) протокол не modbus. Они используют принцип дифференциальной передачи сигнала по витой паре, без использования протокола обмена modbus.
Вы не правы. Протокол отвечает за программную часть (MODBUS). А физический способ передачи это скорее интерфейс (RS485). И одно другому не должно мешать.

Заменил модули, перестал работать modbus

Добавлено: 22.10.2022{, 04:32}
WildCat
Ingwar, в чем не прав?
Указанные модули не используют протокол modbus, они по сути являются удлинителем UART по стандарту rs485. Соответственно, и пакеты команд как в UART.

Есть подобные беспроводные модули hc-12, работают точно так же, но по радиоканалу.

Этот модуль подключаем к контроллеру Tx-Tx, Rx-Rx, в скетче переменную отправляем в UART. Настраиваем скорость передачи одинаково на двух контроллерах (выше 19200 не стоит выбирать, фронты импульсов довольно сильно завалены), готово.

Если слать в эти модули команды modbus, то на выходе будет белиберда. В modbus есть отдельный выход управления потоком (re/de), а в этом модуле аппаратное управление потоком (к сожалению, полноценной документации на эти модули не нашёл).

Я буквально последние пару дней занимаюсь как раз связью двух контроллеров, пробовал модули и max485 (modbus), и эти (UART). И управление программное у них разное.

Заменил модули, перестал работать modbus

Добавлено: 22.10.2022{, 05:34}
Ingwar
WildCat, из Вашего поста я понял, что диалог не будет конструктивным... Пусть каждый останется при своем мнении.

Заменил модули, перестал работать modbus

Добавлено: 22.10.2022{, 07:21}
Naladchik
WildCat писал(а):
22.10.2022{, 04:32}
... в чем не прав? ...
В том, что валите в одну кучу разные вещи, смешивая понятия "Интерфейс" и "Протокол".
Интерфейс - это физическая реализация. В нее входит и сам модуль (аппаратная часть. max485 и ее аналоги), и линии передачи данных (витая пара, ... ), и т.д. Например RS485, RS232, UART, ......
Протокол - это набор правил, по которым происходит передача информации, т.е. это программная часть и она управляет аппаратной.
Например Serial, Modbus, TCP/IP, .....

Естественно есть устройства, где и интерфейс и протокол в "одном флаконе", но Ваши модули к таким устройствам не относятся.
Ваши устройства это просто банальные конвертеры из одного интерфейса (UART) в другой (RS485). И по какому протоколу будут через них передаваться данные - им без разницы. Главное, чтоб реализация этого протокола позволяла правильно управлять этими устройствами.

Заменил модули, перестал работать modbus

Добавлено: 22.10.2022{, 12:44}
Dwail
WildCat писал(а):
22.10.2022{, 02:20}
Для работы с ними нужно использовать блоки отправка переменной в UART, чтение переменной из UART. И всё будет работать.
Но стоит иметь ввиду, что максимальная скорость будет меньше. У меня без потерь в обе стороны заработало на скорости 19200.
Можете приложить файлы с примерами? Скорость меня не сильно волнует, меня интересует сам факт связи по проводу на расстоянии от 20м

Заменил модули, перестал работать modbus

Добавлено: 22.10.2022{, 15:31}
Sancho
типа таких и таких работают давно на 115200. время выключения передачи около 2 мс.

Отправлено спустя 7 минут 14 секунд:
Modbus.
Но хочу перейти на такие.

Заменил модули, перестал работать modbus

Добавлено: 22.10.2022{, 17:19}
ecoins
Sancho писал(а):
22.10.2022{, 15:38}
типа таких и таких работают давно на 115200. время выключения передачи около 2 мс.
На сколько мы разбирались, эти модули имеют настройку на фиксированную скорость и соответственно фиксированное время переключения (R-C цепочкой определяется). В явном виде перенастройка на другую скорость не предусмотрена. Это так?
Sancho писал(а):
22.10.2022{, 15:38}
Modbus.
Но хочу перейти на такие.
Очень интересно. Не могли бы поподробнее и о модуле, и о возможностях использования в FLProg-ModBus?
Спасибо.

Заменил модули, перестал работать modbus

Добавлено: 22.10.2022{, 20:25}
ViktorPetrov
ecoins писал(а):
22.10.2022{, 17:19}
На сколько мы разбирались, эти модули имеют настройку на фиксированную скорость и соответственно фиксированное время переключения (R-C цепочкой определяется). В явном виде перенастройка на другую скорость не предусмотрена. Это так?
Вероятно Вы правы,RC цепочка должна быть рассчитана таким образом, чтобы за время передачи одного байта информации емкость не могла зарядится до уровня срабатывания инвертора, даже если передается последовательность из всех 1.

Заменил модули, перестал работать modbus

Добавлено: 23.10.2022{, 09:58}
Sancho
ecoins писал(а):
22.10.2022{, 17:19}
Очень интересно. Не могли бы поподробнее и о модуле, и о возможностях использования в FLProg-ModBus?
Вроде всё понятно будет по даташиту.

Заменил модули, перестал работать modbus

Добавлено: 23.10.2022{, 11:18}
ecoins
Спасибо.
Интересно.
Rovki хорошо отзывается о USR-K5 https://aliexpress.ru/item/100500480035 ... 63e9x4i2NS
Есть следующая модель USR-K7 подороже https://aliexpress.ru/item/33060767667. ... 6acbB3P2CK
USR-K7-EN_V1.0.0.pdf
(2.06 МБ) 40 скачиваний
------
NT1-B дешевле. И описание хорошее. Это прорыв на рынке нового производителя?
С технической точки зрения не готов дать оценку - надо погрузиться в тему, возможно поисследовать.
Может Вы что-то поподробнее можете разъяснить?