Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Modbus master на STM32
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
rublikdimas
Добрый день, кто-нибудь поднимал модбас мастер на STM32? Может быть у кого-нибудь сохранился исходник? У меня контроллер STM32F401RE, ни где! Не могу найти библиотеку модбас мастер, везде только слэйвы.
SasaVitebsk
Да что там поднимать?
Модбас мастер = передача пакета + получение пакета. Модбас слэйв наоборот. У меня это сделано интегрировано, так как разница в структуре пакета незначительна.
То есть сам модбас это: получение пакета (в моём случае IRQ) + подготовка передаваемого пакета + отправка пакета в моём случае (DMA). Для TCP modbus подготовленный пакет я оборачиваю в TCP обёртку и направляю на передачу TCP.
Уже писали сотни раз, что ввиду того, что модбас не является законченным протоколом, то там заимствовать нечего. То есть вы не найдёте готовой к употреблению библиотеки.
AlexRayne
можно глянуть freemodbus
https://bitbucket.org/lcard/freemodbus
https://bitbucket.org/alexrayne/freemodbus (тут есть реализация мастера)
примеры и порты расчитаны на lwip для ТСП
впринципе готового порта для вас нет, придется самому допиливать из имеющихся рыб, и вполне может оказаться что собственный велосипед (как предлагает Саса) может быть быстрее и легче
kolobok0
Цитата(SasaVitebsk @ Apr 21 2016, 11:10) *
...То есть сам модбас это: получение пакета (в моём случае IRQ) + подготовка передаваемого пакета + отправка пакета в моём случае (DMA)...


+100500
плюс если дописать универсальный парсер получаемых запросов (для слэйва), то достаточно чисто декларировано описать строкой тип,
ссылку на переменную в озу, и модбас адресс. всё остальное на автомате отработает один раз написанный код.
с сервером ещё проще - структура запроса и возвращаемый буфер, если через дма - то можно обкашлить объект синхронизации при синхронном общении.

(круглый)
AlexG
Цитата(rublikdimas @ Apr 21 2016, 12:08) *
Добрый день, кто-нибудь поднимал модбас мастер на STM32? Может быть у кого-нибудь сохранился исходник? У меня контроллер STM32F401RE, ни где! Не могу найти библиотеку модбас мастер, везде только слэйвы.


А зачем вам библиотека именно под STM32? Там завязок на периферию конкретного МК не так много. Можно взять любой понравившийся вариант мастера, подправить работу с UARTом и, может быть, с таймером и все.
Гораздо интереснее логика формирования запросов, поддержка различных функций протокола.
jcxz
Modbus очень простой протокол. Даже мастер. Имхо - проще написать свою реализацию, чем разбираться в чужой и допиливать под свои нужды.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.