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

WiFi-шлюз для опроса MODBUS RTU устройств

Добавлено: Пт ноя 11, 2016 8:30 am
ElectronicsInFocus
Сделал недавно WiFi-шлюз MODBUS TCP-RTU на esp8266.
Позволяет вести обмен (в пределах дальности работы wifi-сети) с MODBUS-RTU устройствами используя любой клиент MODBUS-TCP (в т.ч. majordomo с модулем modbus).

Поскольку решение получилось удачным, делюсь им с сообществом.
Шлюз - небольшая плата, которую нужно подключить к сегменту сети MODBUS RTU с устройствами, которые будете опрашивать. Также на шлюз нужно подать питание. Всё. Шлюз подключится к wifi-точке доступа и будет ждать подключений к нему по MODBUS TCP.

Шлюз очень простой и дешёвый в изготовлении.
Для сборки нужно всего несколько копеечных деталей:
1. Модуль на esp8266 (любой, у которого выведены ножки GPIO13, GPIO15, GPIO01, GPIO03). Flash от 512Кб.
2. Трансивер нужного вам физического интерфейса со стороны MODBUS RTU устройства. Например, если вам нужен RS485, то можно использовать любой из аналогов max485, совместимый с 3.3в лог. уровнями. Например, подходящие трансиверы RS485.
3. Источник питания 3.3в 500мА для питания п.1 и п.2 - на ваш вкус.
4. Несколько резисторов 1К для необходимых подтяжек ног esp8266.
В качестве ПО - прошивка nodemcu и скрипт на LUA.

Поскольку я веду блог на youtube, всё достаточно подробно описал и показал в нём. Я подключал к majordomo электросчётчик SDM220 с MODBUS RTU поверх RS485.
Изображение Изображение

Получился небольшой сериал из 4 серий:
Часть 1. Эл. счётчики SDM120, SDM220. Знакомство
Часть 2. Протокол MODBUS
Часть 3. Собираем данные с SDM220 в системе умного дома
Часть 4. Наконец то! Финал по подключению SDM220

Готов ответить на ваши вопросы. И, конечно же, приглашаю всех на мой канал.

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Добавлено: Пт ноя 11, 2016 3:42 pm
shemnik69
Спасибо.
ПО задумке весьма интересный вариант.
На выходные хочу попробовать.
На счет варианта подключения МАХ485 (микросхема) к 3.3. в. логике ESP8266/ Причем есть вараинт когда схема подключется именно автоматом т.е подключение только RX-TX (2 вывода) а превод в режим передачи по факту подачи сигнала на порт TX.
Такой адаптер есть на Raspberry Pi но по сути, там то же самый уровень 3.3 в
По данную схему есть ЛУТ печатка если кому нужно то предоставлю.
Подтверждаю схема работает и хорошо. Для данного варианта, исходя из реальной стоимости и простоты самое то.
Кстати у самого сетка МОДБУС уже больше года работает прекрасно. Преобразователь ТСР/Ip Modbus на микроконтроллере (описывал ранее (http://majordomo.smartliving.ru/forum/v ... f=8&t=2569)
Сейчас ремонт дома и все коммуникации прекладываю с учетом именно этой сети. Витая пара.
Т.е 6 проводников 3 цвет. (+) и 3 полосатых (-) это питание (24 в.) на конроллерах установлены преобразователи DC-DC 24 на 5 в. И стабилизаторыА пара 3-БЗ (например зеленый и бело-зеленый) это А-Б.
Суть укладки в том чтобы максимально приблизить топологию к "Шине" увеличение длинны тут не критично а вот снижение общих потерь ощутимо.

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Добавлено: Пт ноя 11, 2016 6:49 pm
shemnik69
Для массового использования прошу Вас указаить способ програмирования ESP?
скрипт с сайта почемуто? не скачивается.
Если только копированием через редактор.
какой способ скачивания и прошивки использовать?

PS/ Работает. Скопировал, внёс в ESPlorer. Ок

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Добавлено: Пт ноя 11, 2016 8:22 pm
ElectronicsInFocus
shemnik69 писал(а): На счет варианта подключения МАХ485 (микросхема) к 3.3. в. логике ESP8266/ Причем есть вараинт когда схема подключется именно автоматом т.е подключение только RX-TX (2 вывода) а превод в режим передачи по факту подачи сигнала на порт TX.
Такой адаптер есть на Raspberry Pi но по сути, там то же самый уровень 3.3 в
Схема проверена. Подробно про нее вот тут http://electromost.com/news/raspberry_p ... -04-04-120 (рис № 4)
По данную схему есть ЛУТ печатка если кому нужно то предоставлю.
Подтверждаю схема работает и хорошо. Для данного варианта, исходя из реальной стоимости и простоты самое то.
Ага, но блин, гораздо же проще поставить сразу 3.3в вариант трансивера. Ну как по мне ;)
shemnik69 писал(а):Кстати у самого сетка МОДБУС уже больше года работает прекрасно. Преобразователь ТСР/Ip Modbus на микроконтроллере (описывал ранее (viewtopic.php?f=8&t=2569)
Сейчас ремонт дома и все коммуникации прекладываю с учетом именно этой сети. Витая пара.
Т.е 6 проводников 3 цвет. (+) и 3 полосатых (-) это питание (24 в.) на конроллерах установлены преобразователи DC-DC 24 на 5 в. И стабилизаторыА пара 3-БЗ (например зеленый и бело-зеленый) это А-Б.
Суть укладки в том чтобы максимально приблизить топологию к "Шине" увеличение длинны тут не критично а вот снижение общих потерь ощутимо.
Прикольно. А теперь представьте, что можно не делать один большой сегмент сети RS485, а распределить по дому несколько более мелких сегментов и в каждый воткнуть по wifi-шлюзу. Это же сколько гемора с проводкой сразу отменит :)

shemnik69 писал(а):Для массового использования прошу Вас указаить способ програмирования ESP?
скрипт с сайта почемуто? не скачивается.
Если только копированием через редактор.
какой способ скачивания и прошивки использовать?
Скрипт заливается обычным для nodeMCU способом. Например из ESPlorer. Это я забыл упомянуть.
Насчёт скачивания скрипта - ну это особенность репозитория такая. Можно скачать скрипт вместе с проектом платы одним архивом по ссылке (линк Download repository)

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Добавлено: Пт ноя 11, 2016 8:37 pm
shemnik69
Согласен. Если разбить на сегменты то станет практичнее. Но если есть сетка и наработаны контроллеры то провод практичне.
А вот на счет шлюзов Вы правы.
Еще вопрос. Просмотрел сам скрипт.
В указании есть строка вроде как управление Pin передачи. (RS485_TxOn_Pin = 6) прошу Вас прокоментировать это.
И еще на форуме много тех кто с радостью использует Ваши наработки (я среди них) но прошу Вас максимально тогда прописать способ, "заливки", а главное, какие пины куда подключаются.
Т.е скажем скачиваем скрипт, заливаем в Мк, далее цепляем адапер либо 3.3 либо аналогичный вышеприведенному либо через преобразователь 3.3-5 в и стандартной МАХ485 и получаем прекрасный TCP-Modbus RTU Gate шлюз.
Т.е то чего многим и не хватает для практичского соединения модуля МД и устройств как промышленых так и самодельных по стандарту Modbus.
Как Вам эти предложения. Идея то стоящаяя. И реально востребованная.

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Добавлено: Пт ноя 11, 2016 10:38 pm
immortal
shemnik69 писал(а): Такой адаптер есть на Raspberry Pi но по сути, там то же самый уровень 3.3 в
Схема проверена. Подробно про нее вот тут http://electromost.com/news/raspberry_p ... -04-04-120 (рис № 4)
По данную схему есть ЛУТ печатка если кому нужно то предоставлю.
Подтверждаю схема работает и хорошо. Для данного варианта, исходя из реальной стоимости и простоты самое то.
есть для этого max232

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Добавлено: Пт ноя 11, 2016 11:03 pm
GreatBAO
immortal писал(а):есть для этого max232
а причем тут RS232 если устройства работают на RS485 ?

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Добавлено: Пт ноя 11, 2016 11:11 pm
shemnik69
есть для этого max232[/quote]
То что есть, понятно не сильно меняет саму концепцию. Хотя как вариант можно.
Автор предложил простой вариант и если он будет также прост в железе то в этом то его и плюс.
А навертеть на него вское можно конечно. И что получится?
Проще тогда что то готовое.
речь о том что сейчас (ну в данный момент) рисую схему для лут под данный вариант ибо не люблю полуфабрикат. Ну для проверки да, макетка, но вот для размещения, в шкаф или корпус только плата...
Вариант конечно приложу. Зацепило понимаеш... хорошая идея.
Нужно ей дать жить. :D

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Добавлено: Сб ноя 12, 2016 3:59 pm
immortal
GreatBAO писал(а):
immortal писал(а):есть для этого max232
а причем тут RS232 если устройства работают на RS485 ?
я имею ввиду для преобразования уровня сигналов вместо транзисторной схемы, то есть max232, а лучше max3232 а потом max485

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Добавлено: Сб ноя 12, 2016 11:32 pm
immortal
а прошивка nodemcu какая? есть старая с фиксированным набором функций и новая которую надо самому собирать, если новая которую самому собирать то какие опции включать?
у меня тут завалялись старые прошивки, они подойдут?
nodemcu_512k - базовая версия NodeMCU (0.9.2)"
nodemcu_integer_0.9.6-dev_20150704.bin"
nodemcu_float_0.9.6-dev_20150704.bin"