Сделал максимально простой обработчик Modbus RTU/ASCII Slave для микроконтроллеров Arduino с минимальным использованием ресурсов.
Используются функции:
03h Read Holding Registers
04h Read Input Registers
06h Write Holding Register
10h Write Holding Registers
Подробное описание и пример использования можно посмотреть по ссылке
https://kandiral.ru/arduino/modbus_slave_na_arduino.html
В примере передаются данные из микроконтроллеров в программу на Delphi следующих типов:
int, word, unsigned long, long, float, string(массив символов)
А также передаются данные напрямую из/в EEPROM
Если будут выявлены ошибки или возникнут предложения по доработке, пишите исправим и обсудим.