Может кто-нибудь предложить реализацию с открытым исходным кодом ведомого устройства Modbus RTU для процессора Microchip PIC18? Я ищу реализацию Modbus RTU для RS-232/RS-485, но также будет реализована реализация Modbus TCP/IP.Пакет Modbus для Microchip PIC
ответ
Я реализовал ведомое устройство Modbus RTU (и ASCII) для PIC18, но с использованием USB вместо RS232/485. Было бы очень легко преобразовать в RS232/485, хотя, поскольку код протокола требует только функций передачи и приема символов. Я могу помочь вам с этим, если потребуется.
Взгляните на мою страницу ввода/вывода USB Modbus по адресу http://www.fieldofcows.com/index.php?title=USB_Modbus_Interface, чтобы узнать, соответствует ли она вашим потребностям. На странице есть ссылка для загрузки исходного кода. Источник выпущен под GNU GPL.
Решения кажутся ограниченными. Вот пример кода на www.sourceboost.com, который является портом freemodbus, нацеленным на их компилятор. Также портировать Freemodbus самостоятельно на PIC18 не должно быть сложно. Я использовал бесплатную библиотеку шины Mod без каких-либо проблем на более крупных процессорах, и я вижу, что есть порты AVR, поэтому порт PIC должен быть возможен.
Реализация ведомого устройства Modbus RTU и TCP в форме исходного кода C на http://www.colwaysolutions.com. Поскольку реализация выполняется в ANSI 'C', вы можете легко ее переносить в PIC. Поставщик также предоставляет порты для нескольких популярных микроконтроллерных ядер, таких как 8051, ARM, Coldfire и т. Д., В том числе для некоторых ядер RTOS (OS9, MQX, uc-OS). В библиотеке очень легкий вес, потребляющий незначительное количество ОЗУ и ПЗУ.
Microchip недавно выпустил Modbus TCP server, который использует их стек TCP/IP. Я использовал его успешно.