Модбас + ESP8266

Использование протокола Modbus
Deuce
Сержант
Сообщения: 170
Зарегистрирован: 20.07.2017{, 17:35}
Репутация: 8

Модбас + ESP8266

#1

Сообщение Deuce » 20.11.2017{, 14:42}

Доброго времени суток. Опишу, что имею сейчас, потом опишу чего хотелось бы добиться в итоге.
Итак, имею: Мега+W5100, эта связка по модбасу передает данные на ОРС-сервер, с ОРС-сервера на скаду. Все работает как надо. Теперь хочу добавить в проект ещё одну ардуину+ESP8266 в качестве сетевой карты, или NRF24L01 для связи с мегой. Цель: получить на скаде данные со второй ардуины. Использовать со второй ардуиной ещё одну W5100 не могу по техническим причинам.
Вопрос: можно-ли вообще организовать беспроводную связку двух ардуин, что бы данные гонялись по Модбасу? (Если коряво объяснил - спрашивайте, поясню)

Вспомнил, что в программе модбас можно только по W5100 подцепить. Неужели нет больше никаких вариантов?
Последний раз редактировалось Deuce 20.11.2017{, 14:54}, всего редактировалось 1 раз.
"У меня достаточно хлопот с собственными недостатками, чтобы ещё раздражаться из-за того, что Бог не позаботился равномерно распределить между людьми умственные способности" (Дейл Карнеги)

Аватара пользователя
RedSky
Лейтенант
Сообщения: 532
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 64
Откуда: Днепропетровск
Имя: Алексей

Подскажите, плз

#2

Сообщение RedSky » 20.11.2017{, 14:55}

По HC-12, но только между двумя устройствами. Пробовал с WINCC, а также две ардуины только между собой.

XENOMAN
Рядовой
Сообщения: 35
Зарегистрирован: 05.10.2015{, 18:03}
Репутация: 6

Подскажите, плз

#3

Сообщение XENOMAN » 20.11.2017{, 18:05}

Я сам ещё не до конца изучил этот вопрос, НО есть такая программа Visuino, так вот, с недавних пор в ней появилась поддержка модбас, теоретически в ней можно создать мост TCP-RTU на базе ESP-8266. Но это не точно.

Аватара пользователя
Anydy
Администратор
Сообщения: 3281
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

Подскажите, плз

#4

Сообщение Anydy » 20.11.2017{, 18:15}

Для ESP8266 есть прошивка ESP-LINK, которая сделает прозрачный мост! Чем это решение не устраивает?

Deuce
Сержант
Сообщения: 170
Зарегистрирован: 20.07.2017{, 17:35}
Репутация: 8

Подскажите, плз

#5

Сообщение Deuce » 21.11.2017{, 10:56}

Anydy писал(а):Для ESP8266 есть прошивка ESP-LINK, которая сделает прозрачный мост! Чем это решение не устраивает?
Да оно, возможно, и устраивает. Просто я про это ничего не знаю. Спасибо за наводку - буду изучать вопрос.

Добавлено (21.11.2017, 10:56)
---------------------------------------------
Пока изучал вопрос ESP-Link озадачился: а как после связки ардуины и ESP в FLProg подцепить модбас на ней??? Там же только W5100 можно выбрать. Или я опять чего-то не догоняю?
Последний раз редактировалось Deuce 21.11.2017{, 10:31}, всего редактировалось 1 раз.
"У меня достаточно хлопот с собственными недостатками, чтобы ещё раздражаться из-за того, что Бог не позаботился равномерно распределить между людьми умственные способности" (Дейл Карнеги)

Аватара пользователя
Anydy
Администратор
Сообщения: 3281
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

Подскажите, плз

#6

Сообщение Anydy » 21.11.2017{, 12:36}

Deuce писал(а):Пока изучал вопрос ESP-Link озадачился: а как после связки ардуины и ESP в FLProg подцепить модбас на ней??? Там же только W5100 можно выбрать
Я Modbus не тестил, так что может кто другой подскажет))))

PS..Подумал....наверное все это можно сделать с помощью библиотеки ELclient которая для ESP-LINK ... но придется создавать свой блок

Deuce
Сержант
Сообщения: 170
Зарегистрирован: 20.07.2017{, 17:35}
Репутация: 8

Подскажите, плз

#7

Сообщение Deuce » 21.11.2017{, 12:49}

Anydy писал(а):но придется создавать свой блок
Это меня и пугает. Я не умею создавать блоки буду думать, в любом случае.
"У меня достаточно хлопот с собственными недостатками, чтобы ещё раздражаться из-за того, что Бог не позаботился равномерно распределить между людьми умственные способности" (Дейл Карнеги)

Аватара пользователя
Anydy
Администратор
Сообщения: 3281
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

Подскажите, плз

#8

Сообщение Anydy » 21.11.2017{, 12:56}

Deuce писал(а):Это меня и пугает. Я не умею создавать блоки
Как говорится - глаза боятся а руки делают)))

Я давно хочу сделать такой блок но все руки не доходят...

Начинайте, вместе со всеми разрулим!

Deuce
Сержант
Сообщения: 170
Зарегистрирован: 20.07.2017{, 17:35}
Репутация: 8

Подскажите, плз

#9

Сообщение Deuce » 21.11.2017{, 13:49}

Anydy писал(а):но все руки не доходят...
Одно дело - когда руки не доходят, а другое - когда нет мозгов. У меня как раз второй вариант
"У меня достаточно хлопот с собственными недостатками, чтобы ещё раздражаться из-за того, что Бог не позаботился равномерно распределить между людьми умственные способности" (Дейл Карнеги)

Аватара пользователя
Anydy
Администратор
Сообщения: 3281
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

Подскажите, плз

#10

Сообщение Anydy » 21.11.2017{, 14:18}

Так у всех изначально их не было, а как начнешь то со временем появляются! Главное не боятся страшных слов и начать!

XENOMAN
Рядовой
Сообщения: 35
Зарегистрирован: 05.10.2015{, 18:03}
Репутация: 6

Подскажите, плз

#11

Сообщение XENOMAN » 21.11.2017{, 17:56}

Ну по идее, если ESP-Link действительно прозрачный UART-WIFI мост, то должно заработать. Попробую собрать, по результатам отпишу.

Deuce
Сержант
Сообщения: 170
Зарегистрирован: 20.07.2017{, 17:35}
Репутация: 8

Подскажите, плз

#12

Сообщение Deuce » 27.11.2017{, 15:40}

XENOMAN писал(а):Ну по идее, если ESP-Link действительно прозрачный UART-WIFI мост, то должно заработать. Попробую собрать, по результатам отпишу.
Я тоже завтра буду собирать. Мне в этой сборке непонятно, как мне настраивать со стороны ОРС-Сервера. И непонятно, как в FLProg настраивать модбас. Ведь по логике надо в проге указывать RTU, а со стороны ОРС - айпишник, который будет настроен на ESP. А вот будет это работать или нет - узнаем. Я по результату тоже отпишусь.

Добавлено (23.11.2017, 13:02)
---------------------------------------------
Проковырявшись с утра, прихожу к мысли, что не заработает связка ESP и Ардуина в части модбаса. OPC-сервер по умолчанию коннектится по 502 порту. И у меня подозрение, что ESPишка просто не "понимает" что ей делать с таким запросом. Буду думать дальше.

Добавлено (23.11.2017, 17:45)
---------------------------------------------
На просторах инета наткнулся на реализацию того, что мне нужно, но без технических подробностей. Это говорит о том, что такое возможно. Значит, буду дальше ковырять, пока не доковыряю.

Добавлено (27.11.2017, 15:40)
---------------------------------------------
Связку ESP-Link, ESP8266-01и Uno гоняю 4й день. в консоли данные, что кидаю в UART есть. Modbas не работает. Поскольку ничего более придумать не могу, буду искать другие варианты.
"У меня достаточно хлопот с собственными недостатками, чтобы ещё раздражаться из-за того, что Бог не позаботился равномерно распределить между людьми умственные способности" (Дейл Карнеги)

Deuce
Сержант
Сообщения: 170
Зарегистрирован: 20.07.2017{, 17:35}
Репутация: 8

Подскажите, плз

#13

Сообщение Deuce » 19.01.2018{, 09:44}

Добил-таки я связку ESP8266-01 и Arduino в части Modbus. Учитывая копеечную стоимость модуля, теперь поистине безграничные возможности открываются. :) Используя СКАДу, можно разносить ардуины и связывать их вайфаем. Если кого интересует подобное - напишите, я постараюсь все расписать (хотя расписывать немного). Я, правда, так и не понял, почему у меня это не заработало сразу, хотя ничего особо не переделывал. Но, главное, теперь работает.
"У меня достаточно хлопот с собственными недостатками, чтобы ещё раздражаться из-за того, что Бог не позаботился равномерно распределить между людьми умственные способности" (Дейл Карнеги)

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Модбас + ESP8266

#14

Сообщение pan » 19.01.2018{, 09:52}

конечно интересует. и думаю многих.
возможно придется что то похожее делать. так что если не трудно поделитесь ценной инфой, дабы уберечь других
пользователей от танцев с бубнами

Deuce
Сержант
Сообщения: 170
Зарегистрирован: 20.07.2017{, 17:35}
Репутация: 8

Модбас + ESP8266

#15

Сообщение Deuce » 19.01.2018{, 10:36}

Если вдруг я накосячу с оформлением - прошу не пинать.
Прошивку взял тут: https://esp8266.ru/forum/threads/modbus ... erver.911/
(кто работал с ESP тот знает как прошить)
После прошивки и настройки модуля на свою сеть я выставил скорость порта 9600. К ардуине ESP подключается так: RX ESP - TX Arduino, TX ESP - RX Arduino.
На компе, где находится OPC сервер установил Tibbo Device Server Toolkit для Windows. Настроил скорость (9600), указал айпишник, который получила ESP.
Я использую MasterOPS demo. В его настройках создал Узел на ком-порт. Номер порта тот, что в Tibbo Device, (у меня это ком 3)
В FLProg создал обычный проект, Modbas на Com-порту. Скорость 9600. Pin PE-DE - Нет.
Далее создал две переменные модбас, в которые отправил данные с DHT11 (Для наглядности изменения значений). Адреса, указанные в FLProg так же указал и в OPC -сервере (что логично).
Дальше запускается OPC-сервер и все, данные идут.

Если вдруг какой момент оставил неосвещенным - спрашивайте. Если понадобятся скриншоты - пишите, буду размещать где-нибудь, что бы вложить в спойлер.
"У меня достаточно хлопот с собственными недостатками, чтобы ещё раздражаться из-за того, что Бог не позаботился равномерно распределить между людьми умственные способности" (Дейл Карнеги)

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

Модбас + ESP8266

#16

Сообщение Sancho » 19.01.2018{, 11:42}

Deuce, Дополню.
Речь идёт о режиме модуля TCP2UART, так называемый в данном случае RTU over TCP.
На компе создаётся виртуальный компорт, через него работа.
В каскаде выбирайте RTU over TCP.
Если не прав - поправьте.

P.S Инсатовский ОРС умеет работать с RTU over TCP сам, без виртуальных портов.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

Deuce
Сержант
Сообщения: 170
Зарегистрирован: 20.07.2017{, 17:35}
Репутация: 8

Модбас + ESP8266

#17

Сообщение Deuce » 19.01.2018{, 11:50}

Да, забыл сказать, что прошивка, указанная мной выше, открывает для пользования ячейки модбаса встроенные в ESP. И адреса одинаковые (что вполне логично). Для правильной работы, статус подключений должен быть таким, как на скриншоте (разумеется, за исключением айпишников) (см. скриншот)

Отправлено спустя 1 минуту 46 секунд:
Sancho, у меня не каскада. если в инсатовском сервере указать айпишник ЕСП, то он зацепится к адресам самой ЕСП, а мне надо, что бы к ардуине. Про режим - все верно, но я иного и не утверждал.
Вложения
Общие настройки.jpg
"У меня достаточно хлопот с собственными недостатками, чтобы ещё раздражаться из-за того, что Бог не позаботился равномерно распределить между людьми умственные способности" (Дейл Карнеги)

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

Модбас + ESP8266

#18

Сообщение Sancho » 19.01.2018{, 14:14}

Deuce писал(а):
19.01.2018{, 11:52}
если в инсатовском сервере указать айпишник ЕСП, то он зацепится к адресам самой ЕСП, а мне надо, что бы к ардуине.
Он зацепится за нужный ему ID - адрес устройства. А вот как Вы пропишете адреса - так и будет цепляться.
Работал с этими прошивками. Давно начал и успешно.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

Deuce
Сержант
Сообщения: 170
Зарегистрирован: 20.07.2017{, 17:35}
Репутация: 8

Модбас + ESP8266

#19

Сообщение Deuce » 19.01.2018{, 14:58}

Я спорить не буду. И утверждать, что я единственный кто прав - тоже. С ноября спрашивал тут и в других местах. Никто ничего не сказал. Сейчас у меня работает так, как мне надо. Метод, как этого добился я рассказал. А будет оно работать каким-то иным способом, или нет - мне неведомо, да и не интересно, раз свою цель я достиг. Если кому инфа, изложенная мной окажется полезной - не зря выкладывал. Если бесполезна - модераторы удалят.
"У меня достаточно хлопот с собственными недостатками, чтобы ещё раздражаться из-за того, что Бог не позаботился равномерно распределить между людьми умственные способности" (Дейл Карнеги)

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

Модбас + ESP8266

#20

Сообщение Sancho » 19.01.2018{, 17:39}

Deuce писал(а):
19.01.2018{, 14:58}
Я спорить не буду.
Я тоже.
Я всего-лишь немного дополняю Ваши труды разъяснениями.
СпойлерПоказать
Sancho писал(а):
19.01.2018{, 11:42}
Deuce, Дополню.
Речь идёт о режиме модуля TCP2UART, так называемый в данном случае RTU over TCP.
На компе создаётся виртуальный компорт, через него работа.
В каскаде выбирайте RTU over TCP.
Если не прав - поправьте.

P.S Инсатовский ОРС умеет работать с RTU over TCP сам, без виртуальных портов.
Sancho писал(а):
19.01.2018{, 14:14}
Он зацепится за нужный ему ID - адрес устройства. А вот как Вы пропишете адреса - так и будет цепляться.
Речь о том, что с помощью описанного Вами способа можно достучаться до любого ModBus устройства с нужным адресом (ID).
И без использования Virtual Com Port. Кстати, у меня для этого альтернатива Tibbo Device Server Toolkit. Может кому тоже пригодится.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

Ответить

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