• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Modbus TCP / RTU RS-485 + WEB server

Kaspiysk

New member
SCM TTL к RS485 адаптер 485 к UART Serial порт 3.3 V, 5V уровень конвертер модуль
s-l1600.jpg
  • Highlights:
  • Compatible with 3.3V and 5.0V power supply
  • Compatible with 3.3V and 5.0V signal
  • Absolute using imported chips, industrial design, anti-interference ability, while using more effective mine design can be used in the industrial field and harsh field environments, the working temperature of -40 ℃ to + 85 ℃ transmission distance up to 1 kilometer (made with 850 meters of cable F1.5 tests recommended in the 800 meters, more than 800 m, please add repeaters)
  • Semi-hole pads, onboard module, thin PCB, having a thickness of 0.8mm
  • Has RXD, TXD signal indicator light, monitor send and receive status
Можно ли применить данный модуль цена вопроса 145Р
 

NutsXXXL

New member
@Kaspiysk ну раз 3,3 В и там видна логика по согласованию уровней то значит можно
только питание 3.3В на него подать
 

Kaspiysk

New member
Спасибо. Не знаю по теме ли вопрос. Можно ли использовать MAX3232 в связке с esp8266.
А именноHTB1UI6CLpXXXXX8XpXXq6xXFXXXI.jpg конвертер в RS-232.
Communications chips: Domestic MAX3232
Operating voltage: 3.3V-5.5V
Interface: TX RX VCC GND
Ведь modbus не только посредством RS-485 бывает.

И еще вопрос который точно не по теме.
Использую отладочную плату
HTB1bhSbKVXXXXckXFXXq6xXFXXXY.jpg При случайно замыкании 3.3 на землю сгорел элемент(обвел маркером).
То ли Е103 то ли Е03 похож на соседний с ним. Может кто знает что это за элемент и можно ли его обойти или заменить аналогом. Спасибо от новичка.
 

NutsXXXL

New member
@Kaspiysk RS323 модуль так же подойдет там микросхема 3,3 - 5В
а вот плату для полноты диагностики неплохо бы сфоткать сверху и снизу
судя по схеме там должен бы защитный стабилитрон стоять
 

Dito85

New member
@pvvx, у меня проблема следующая. В линии 485 имеется два устройства. Каждое устройство по отдельности опрашивается без ошибок, независимо от количества транзакторов и скорости. Если, например, мы создаем один транзактор опрашивающий устройство по адресу 1, то всё отлично, ошибок нет. Как только мы создаем второй транзактор, опрашивающий устройство по адресу 2, то начинают сыпаться ошибки. На осциллографе видна причина:1.jpg 2.jpg 3.jpg 4.jpg
т.е. время между ответом первого устройства и запросом ко второму устройству уменьшается и через четыре цикла запрос ко второму устройству накладывается на ответ первого. Игрался с таймаутами и скоростями, ничего не помогает. Не понятно почему если транзакторы обращаются по одному адресу такого не происходит. Помогите разобраться
 

Dito85

New member
Да, забыл, приведенные выше осциллограммы сделаны на скорости 9600, на этой скорости лучше всего видно проблему
 

pvvx

Активный участник сообщества
Да, забыл, приведенные выше осциллограммы сделаны на скорости 9600, на этой скорости лучше всего видно проблему

Это не проблема - наложения наверняка нет - разверните осциллограмму. Беда скорее всего в отвечающем устройстве. Оно не успевает.
Надо вставлять задержку перед запросом. Она есть на станице установок RS-458...
Add msg pause - http://esp8266.ru/forum/threads/modbus-tcp-rtu-rs-485-web-server.911/page-2#post-14096
Пример http://esp8266.ru/forum/threads/modbus-tcp-rtu-rs-485-web-server.911/#post-14032
 

alex_avr

New member
@pvvx огромное спасибо за ваш потрясающий проект и все вложенные силы!

Вопрос: можно ли организовать полностью прозрачный мост для RS485 шины (с трафиком в виде modbus пакетов), на базе двух ESP модулей с вашей прошивкой?

Попробовал настроить два модуля, так, чтобы один подключался к другому по Wifi и прописал у предполагаемого клиента Modbus TCP Client/Server IP адрес 192.168.4.1, но положительного результата не получил.

Спасибо.
 

pvvx

Активный участник сообщества
Вопрос: можно ли организовать полностью прозрачный мост для RS485 шины (с трафиком в виде modbus пакетов), на базе двух ESP модулей с вашей прошивкой?

Попробовал настроить два модуля, так, чтобы один подключался к другому по Wifi и прописал у предполагаемого клиента Modbus TCP Client/Server IP адрес 192.168.4.1, но положительного результата не получил.
Вы не описали схему - кто клиент, кто сервер на Modbus RTU и остальные настройки. От этого и зависит результат. :)
 

alex_avr

New member
Вы не описали схему - кто клиент, кто сервер на Modbus RTU и остальные настройки. От этого и зависит результат. :)
У меня такая задача: есть сеть RS-485, на которой висит несколько десятков устройств. Одно из них - мастер, все общение по MODBUS RTU. В общем стандартная схема.
А теперь я хочу добавить еще пару устройств, но только чтобы они были физически беспроводными, а с т.з. мастера - были все на той же шине RS-485. Соответвенно идея - к шине подключить ESP(1), работающую в качестве точки доступа и заодно сервера, а к удаленному устройству(также используя RS-485) - подключить ESP(2), подключающуюся к точке доступа ESP(1) и выступающую в роли клиента. Было бы здорово, если бы можно было подклюить еще и ESP(3..), работающие аналогично ESP(2), то есть для подключения несколько устройств без проводов к одному серверу, но для начала хотя бы с одним разобраться :)

Соответвенно, в данноей схеме, как только ESP(1) видит посылку по проводной шине, он должен транслировать ее на ESP(2), который будет эту посылку воспроизводить уже на своей локальной RS-485 шине. И ровно тоже самое наоборот.

Теперь о настройках: на обоих ESP я поставил прошивку TCP-Modbus. На EPS(1) настроил точку доступа, настройки modbus - стандартные. На ESP(2) настроил подключение к точке доступа ESP(1) по WiFi, настройки modbus - стандартные, за исключением поля "Modbus TCP Client/Server IP", где прописан адрес 192.168.4.1 (как я понимаю при прописывании адреса модуль должен стать клиетом). Собственно и все. Однако, судя по всему, этого недостаточно, чтобы ESP(2) сам подключился по TCP к ESP(1).
 

pvvx

Активный участник сообщества
Теперь о настройках: на обоих ESP я поставил прошивку TCP-Modbus. На EPS(1) настроил точку доступа, настройки modbus - стандартные. На ESP(2) настроил подключение к точке доступа ESP(1) по WiFi, настройки modbus - стандартные, за исключением поля "Modbus TCP Client/Server IP", где прописан адрес 192.168.4.1 (как я понимаю при прописывании адреса модуль должен стать клиетом). Собственно и все. Однако, судя по всему, этого недостаточно, чтобы ESP(2) сам подключился по TCP к ESP(1).
На модуле AP смените базовый IP и всё что с ним связано. На клиенте и укажите его. Должно работать.
 

alex_avr

New member
На модуле AP смените базовый IP и всё что с ним связано. На клиенте и укажите его. Должно работать.
Поставил адрес 192.168.4.15.
Не помогло. После ребута клиента, где-то пол минуты он в статусе показывает Modbus TCP Connection: 192.168.4.15:502, но потом отваливается и показывает none. На сервере все время none. Ну и пакеты соовтетвенно не проходят ни в одну ни в другую сторону.

Прилагаю скриншоты настроек.
Сервер:



Клиент:

 

pvvx

Активный участник сообщества
alex_avr - Ну и кто виновен, что вы не можете настроить WiFi?
Первый модуль AP:"XSP8266" IP: 192.168.3.1, во второй "ESP8266" сканом соединен с "XSP8266" и в modbus вписан 192.168.3.1:
mdb2dev.gif
К первому модулю "XSP8266" по COM присоединена Modscan32 и опрашивает 33-тье устройство на RS-485
Ко второму модулю "ESP8266" на RS-485 присоединена прога Modbus Slave и отвечает...
Всё надо делать за вас?
 

alex_avr

New member
Поставил адрес 192.168.3.1 и все заработало. Спасибо, pvvx.

Всё надо делать за вас?
Делать не надо, лишь объяснить :)
А именно то, что нужно было поменять не только последний байт, но и предпоследний байт IP адреса точки доступа.
 

pvvx

Активный участник сообщества
А именно то, что нужно было поменять не только последний байт, но и предпоследний байт IP адреса точки доступа.
Но это никак к прошивке и данной теме не относится, по тому и возникают вопросы...
 

Urbas81

Member
Подскажите пожалуйста, слетают настройки wi-fi после снятия питания с модуля, я читал что есть какой-то сброс по уровню, теперь не могу найти где это описано, к меня сейчас выводы на ESP-12 задействованы не совсем так как в плате под RS485, подключен USBtoRS-232 прejбразователь на TX RX, ну и резисторы подтяжки на GPIO0 для автоматического входа в программирование. Зашил в модуль другую прошивку, там все сохраняется. Где я косячу?
 

pvvx

Активный участник сообщества
Подскажите пожалуйста, слетают настройки wi-fi после снятия питания с модуля, .....
"Сброс настроек WiFi" по внешнему пину RX включается/отключается опционально в меню "Checking pin WiFi cfg reset" на странице "System Setup".
 

Urbas81

Member
Ага, спасибо, сначала пришлось залезть в исходники, там закомментировать, потом попался на глаза чекбокс, с этим разобрался. Теперь непонятка на странице настроек модбас, в некоторых полях отображаются вопросительные знаки, и после изменения на числа и сохраненения, все остается по старому. Как побороть?
 
Сверху Снизу