#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

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

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

Остання редакція kandiral (2018-03-11 10:58:28)

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму