Easyelectronics.ru

Электроника для всех
Текущее время: 20 июл 2018, 04:18

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Modbus TCP/IP
СообщениеДобавлено: 12 сен 2017, 18:35 
Только пришел

Зарегистрирован: 06 май 2015, 11:00
Сообщения: 16
Здравствуйте, форумчане.

Появилась задача, в которой необходимо реализовать несколько устройств контроля и управления на базе stm32f7. Обмен с внешним миров и между собой должен осуществляться по Modbus TCP/IP. Причем одна из железяк будет в режиме мастера, остальные соответственно слейва. Также необходимо предусмотреть возможность подхвата режима мастера слейвовским контроллером в случае выхода из строя основного мастера.

В связи с этим вопрос: нет ли у кого примера реализации слейва/мастера дабы упростить себе жизнь и оперативней разобраться с ними и реализовать то, что требуется.

С комментариями, мол проще самому все реализовать и написать с нуля, прошу не отсылать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus TCP/IP
СообщениеДобавлено: 12 сен 2017, 20:12 
Старожил

Зарегистрирован: 01 июл 2010, 15:30
Сообщения: 472
Откуда: Энгельс
https://github.com/stephane/libmodbus


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus TCP/IP
СообщениеДобавлено: 12 сен 2017, 20:34 
Только пришел

Зарегистрирован: 06 май 2015, 11:00
Сообщения: 16
За ссылочку спасибо, поизучаю.
Не указал, что управление железом планируется на базе FreeRTOS + Hal. Разработка ПО в Keil v5.

А есть ли пример работы с этой библиотекой?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus TCP/IP
СообщениеДобавлено: 13 сен 2017, 08:28 
Заглядывает иногда

Зарегистрирован: 16 июн 2016, 09:19
Сообщения: 37
https://www.freemodbus.org/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus TCP/IP
СообщениеДобавлено: 16 сен 2017, 20:58 
Только пришел

Зарегистрирован: 06 май 2015, 11:00
Сообщения: 16
Да! Что-то совсем голова кругом пошла. С RTU еще куда не шло, разобраться можно, а вот TCP совсем не въезжаю. Создаю скелет проекта в QubeMX с FreeRtos и LwIp и далее никак не вдуплю как прикрутить вышеуказанные модбасовские библиотеки. Есть готовая плата Nucleo F767ZI, в которую фактически залей прошивку и вперед, а я уже который день с места ни на мм не сдвинусь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus TCP/IP
СообщениеДобавлено: 16 сен 2017, 22:08 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 1333
https://github.com/armink/FreeModbus_Sl ... -RTT-STM32
https://github.com/AlexPutz/Modbus-TCP- ... -blue-pill

Да и гугла находит немало.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus TCP/IP
СообщениеДобавлено: 27 июн 2018, 18:25 
Только пришел

Зарегистрирован: 06 май 2015, 11:00
Сообщения: 16
Здравствуйте коллеги!

Не прошло и года, а я возвращаюсь к вопросу о Modbus TCP.
Ситуация сложилась таким образом, что практически сразу после поднятия описываемого здесь вопроса, задачи изменились и Modbus TCP нужно было отложить в сторону.

Однако, отложить не значит забыть! И вот я благополучно возвратился к тому с чего начал. Нужно поднять протокол. Поковырялся в библиотеке freemodbus, в разных примерах, но снова на том же месте, не дано мне познать "путь" портирования данной библиотеки.

Что из себя представляет железка в плане Ethernet: Stm32F767 + Lan8742A (Грубо говоря Nucleo-F767ZI). Ситуация сложилась таковой, что основное ПО давно написано и отлажено на базе HAL, переписывать его без HALа сейчас не вызывает большого желания, а вот добавить туда функционал Modbus TCP нужно.

Помимо самого портирования, пока не особо понимаю как работает связка freemodbus с freertos. Основное ПО работает под ее управлением. Т.е. мы должны создать задачу, в которой будет осуществляться периодический поллинг (вызов eMBPoll() ) с последующим (в случае слева) манипулированием с регистрами?

Недавно все ПО перетащил в Atollic и сейчас активно знакомлюсь с ним. При рассмотрении примера по ModbusTCP и пробах запустить свою болванку, столкнулся с проблемой добавления файлов в среду, т.е. создаю заготовку проекта в CubeMX, в Atollic создаются хитрая структура проекта с виртуальными папками, по которым файлы как-то там раскидываются. В этот проект необходимо добавить файл mbtask.c Вроде получается его подцепить, прописываю все пути, все как положено, но, начинают возникать матюкальники внутри этого файла, мол неопознанные функции eMBTCPInit(0) и.др. хотя прекрасно по ним переходит к исходникам. Может кто подскажет правильную тропинку для понимания происходящего?
Show


За основу взял https://m.blog.naver.com/eziya76/220971629198
Наставьте на путь истинный с ModbusTCP. Проблема не в самом понимании работы протокола, а с его подключением, портированием. Если нужно, могу выложить исходник тестового проекта. Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus TCP/IP
СообщениеДобавлено: 28 июн 2018, 17:13 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 24 июл 2016, 00:07
Сообщения: 104
Modbus - протокол простой, как 3 копейки. Мне кажется, или за всё это время было бы быстрее написать уже свою реализацию?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus TCP/IP
СообщениеДобавлено: 28 июн 2018, 21:19 
Только пришел

Зарегистрирован: 06 май 2015, 11:00
Сообщения: 16
Все это время задачи другие были поставлены и modbus был благополучно оставлен. Есть моменты, которые пока не понимаю. Например. У мастера со слейвом должно создаваться постоянное соединение, с последующим периодическим контролем поступления команд и их последующей обработкой, или же создается соединение - отправляется команда - ожидается ответ на нее и далее происходит разрыв соединения? Я понимаю, что возможна реализация и так и так, т.к. какие-то устройства мы должны опрашивать постоянно, а какие-то очень редко. Далее, пока не понимаю через какой интерфейс (RAW, Netconn или еще что-либо) необходимо осуществлять соединение, может есть какие-то предпочтения, требования. Библиотека freemodbus использует таймер, насколько я понимаю (или он задействуется только в RTU для задания таймингов), как обстоят дела в режиме TCP c использованием freertos? Создаем задачу, в которой периодически отслеживаем получение команды по модбасу и дальше исполняем ее? Все вопросы достаточно простые, но пока не могу связать их в единую цепочку. Понимаю, статей много разных и на этом ресурсе, да и вообще на просторах интернета. Но что-то до сих пор никто не написал полноценную статейку про Modbus TCP под STM в связке с физикой посредством RMII. Все примеры либо через UARTы либо другие интерфейсы. У поклонников ардуинок как-то примеров, статеек и то на порядок больше. А я думаю, что такая статейка будет многим начинающим (и не очень) STMщикам достаточно интересна, т.к. многие занимаются вопросами той же самой домашней автоматизации достаточно плотно, а там модбас распространен. Может этой темой подтолкну кого на создание такого шедевра. Мне вот, в частности, сейчас модбас нужен для подключения к промышленным ПЛК (сименс, шнайдер). А я как-то в тупике, "каша из топора" в голове.
Все осложнено еще тем, что я ранее не работал с Ethernet, а тут для меня сразу двойная задача.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus TCP/IP
СообщениеДобавлено: 29 июн 2018, 15:25 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 4783
v_schurik, начните читать. О модбас написано достаточно много и подробно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus TCP/IP
СообщениеДобавлено: 29 июн 2018, 16:13 
Старожил

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2653
Тут основная сложность не в модбасе будет, а в том, как поднять и отладить работу Ethernet-а. Стоит начать разбираться с lwIP и Ethernet модулем в проце. netconn вполне подойдёт. Ставите любой терминал типа Hercules и пробуете цепляться к стм-ке. Стоит быть готовым к тому, что драйвера phy придется править и переписывать. Для нуклеи всяко есть примеры, всё попроще будет чем с нуля собирать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus TCP/IP
СообщениеДобавлено: 29 июн 2018, 20:35 
Только пришел

Зарегистрирован: 06 май 2015, 11:00
Сообщения: 16
Читать читаю, пример эха запустил по Ethernet. Теперь догнать как это все дело работает, да как состыковать с операционкой и модбасовской библиотекой.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB