#1 2017-04-15 15:52:46

kandiral
Участник
Зарегистрирован: 2017-04-15
Сообщений: 1

Мой вариант реализации Modbus Slave RTU/ASCII

Используя сторонний инструмент для работу с Modbus на Arduino упёрся в ограничение на количество памяти для хранения данных. Все из-за того, что все переменные, которые должны быть доступны посредством протокола Modbus, приходилось дублировать в массиве регистров. Даже те данные которые хранились только в EEPROM нужно было дублировать. Плюс библиотека совмещала в себе Slave и Master части протокола.

По этому я постарался сделать максимально простой обработчик Modbus RTU/ASCII Slave для микроконтроллеров Arduino с минимальным использованием ресурсов.

Обрабатываются функции Modbus:
Read Holding Registers 0x03
Read Input Registers 0x04
Write Holding Register 0x06
Write Holding Registers 0x10

Подробное описание и пример использования можно посмотреть по ссылке
http://kandiral.ru/arduino/modbus_slave_na_arduino.html

В примере передаются данные из микроконтроллеров в программу на Delphi следующих типов:
int, word, unsigned long, long, float, string(массив символов)
А также передаются данные напрямую из/в EEPROM

Редактировался kandiral (2017-04-16 12:44:51)

Быстрое сообщение

Введите сообщение и нажмите Отправить

Подвал раздела