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

Использование протокола Modbus
Ответить
Dwail
Рядовой
Сообщения: 16
Зарегистрирован: 23.06.2019{, 19:17}
Репутация: 0
Имя: Анатолий

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

#1

Сообщение Dwail » 19.10.2022{, 21:02}

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

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

Не могу понять в чем проблема. Нужна помощь.
Вложения
uno-slave.flp
slave
(61.06 КБ) 47 скачиваний
uno-master.flp
master
(48.54 КБ) 39 скачиваний

ecoins
Полковник
Сообщения: 2920
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

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

#2

Сообщение ecoins » 19.10.2022{, 21:06}

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

Dwail
Рядовой
Сообщения: 16
Зарегистрирован: 23.06.2019{, 19:17}
Репутация: 0
Имя: Анатолий

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

#3

Сообщение Dwail » 20.10.2022{, 19:39}

Отключил экран, перенастроил UART на SoftwareSerial. Результат тот же, связи нет.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

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

#4

Сообщение Ingwar » 20.10.2022{, 20:27}

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

Dwail
Рядовой
Сообщения: 16
Зарегистрирован: 23.06.2019{, 19:17}
Репутация: 0
Имя: Анатолий

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

#5

Сообщение Dwail » 20.10.2022{, 21:42}

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

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

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

#6

Сообщение Ingwar » 21.10.2022{, 01:18}

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

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

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

#7

Сообщение WildCat » 22.10.2022{, 02:20}

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

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

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

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

#8

Сообщение Ingwar » 22.10.2022{, 03:06}

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

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

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

#9

Сообщение WildCat » 22.10.2022{, 04:32}

Ingwar, в чем не прав?
Указанные модули не используют протокол modbus, они по сути являются удлинителем UART по стандарту rs485. Соответственно, и пакеты команд как в UART.

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

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

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

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

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

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

#10

Сообщение Ingwar » 22.10.2022{, 05:34}

WildCat, из Вашего поста я понял, что диалог не будет конструктивным... Пусть каждый останется при своем мнении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Naladchik
Капитан
Сообщения: 822
Зарегистрирован: 04.10.2015{, 19:10}
Репутация: 151
Откуда: Новосибирск
Имя: Павел

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

#11

Сообщение Naladchik » 22.10.2022{, 07:21}

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

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

Dwail
Рядовой
Сообщения: 16
Зарегистрирован: 23.06.2019{, 19:17}
Репутация: 0
Имя: Анатолий

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

#12

Сообщение Dwail » 22.10.2022{, 12:44}

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

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#13

Сообщение Sancho » 22.10.2022{, 15:31}

типа таких и таких работают давно на 115200. время выключения передачи около 2 мс.

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

ecoins
Полковник
Сообщения: 2920
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

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

#14

Сообщение ecoins » 22.10.2022{, 17:19}

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

Аватара пользователя
ViktorPetrov
Лейтенант
Сообщения: 673
Зарегистрирован: 09.04.2018{, 23:56}
Репутация: 46
Имя: Виктор

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

#15

Сообщение ViktorPetrov » 22.10.2022{, 20:25}

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

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#16

Сообщение Sancho » 23.10.2022{, 09:58}

ecoins писал(а):
22.10.2022{, 17:19}
Очень интересно. Не могли бы поподробнее и о модуле, и о возможностях использования в FLProg-ModBus?
Вроде всё понятно будет по даташиту.
Вложения
NT1-B_UserManual_EN_V1.3.pdf
(4.48 МБ) 52 скачивания
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

ecoins
Полковник
Сообщения: 2920
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

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

#17

Сообщение ecoins » 23.10.2022{, 11:18}

Спасибо.
Интересно.
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 МБ) 37 скачиваний
------
NT1-B дешевле. И описание хорошее. Это прорыв на рынке нового производителя?
С технической точки зрения не готов дать оценку - надо погрузиться в тему, возможно поисследовать.
Может Вы что-то поподробнее можете разъяснить?

Ответить

Вернуться в «Modbus»