Slave-контроллер MODBUS RTU для AVR

 

Здесь выложена прошивка и представлена схема, реализующая простой контроллер шины MODBUS RTU по интерфейсу RS-232.  

 

 

 

Схема контроллера приведена на рисунке выше. Скорость обмена – 115200 бод. Контроллер поддерживает команды чтения-записи HOLDING REGISTERS, и чтения INPUT REGISTERS.

Карта памяти приведена ниже:

 

MODBUS тип данных

Внутренний тип данных контроллера

MODBUS стартовый адрес

Внутренний стартовый адрес памяти контроллера

Размер области, байт

Holding registers

IO registers

0

0

96

Holding registers

SRAM

1000

0

512

Holding registers

Program FLASH

2000

0

8192

Holding registers

EEPROM

12000

0

512

Input registers

IO registers

0

0

96

Input registers

SRAM

1000

0

512

Input registers

Program FLASH

2000

0

8192

Input registers

EEPROM

12000

0

512

 

Входные регистры доступны только для чтения, holding регистры доступны как для чтения так и для записи, однако при попытке записи в program flash контроллер ответит ошибкой адреса. Так как память контроллера 8-и разрядная, то при попытке записи в регистры значения более 255 контроллер ответит ошибкой данных. Таким образом, контроллер позволяет обращаться ко всем видам свое внутренней памяти, а так же изменять ее состояние (кроме памяти программ). Таймаут символа выбран 10 мс,  период паузы между сообщениями  > 20 мс

 

прошивка

 

Ссылки:

 

Конечно же www.modbus.org )))

 

Полезные файлы:  Честно говоря, забыл, откуда я брал эти файлы, если кто заметит , что его, пусть сообщит, я заменю файл на ссылку)

 

Описание протокола с modbus.org                         ENGL/PDF

Еще одно описание протокола MODBUS             ENGL. PDF

Описание протокола и функций                            RUS/PDF

И еще одно на русском (совсем жиденькое)))  )   RUS/PDF

 

Modbus poll – Хорошая программа для тестирования slave-modbus контроллеров с PC через COM-порт

 

Главная

Написать мне



Используются технологии uCoz