Mega2560-32 Channel RS485 Modbus RTU Controller

Использование протокола Modbus
Ответить
autoelectronica
Рядовой
Сообщения: 89
Зарегистрирован: 18.10.2016{, 21:46}
Репутация: 6
Откуда: Москва

Mega2560-32 Channel RS485 Modbus RTU Controller

#1

Сообщение autoelectronica » 23.05.2022{, 13:00}

Господа, доброго дня. Вот приобрел на Али вот такую платку https://aliexpress.ru/item/400111228348 ... 4447968482 . Пытаюсь состыковать ее через плату max485 с мегой. По каким регистрам прописывать управление?
Mega-485.flp
(54.13 КБ) 58 скачиваний

Aviacode
Рядовой
Сообщения: 37
Зарегистрирован: 15.02.2021{, 15:04}
Репутация: 1
Имя: Серго

Mega2560-32 Channel RS485 Modbus RTU Controller

#2

Сообщение Aviacode » 24.05.2022{, 13:10}

Плату только одну купили? Для экспериментов лучше две-три, поясню почему.
Обычные проблемы для подобных плат с Али (а у меня их уже коллекция):
1. Протокол RTU кривой, либо таковым не является, несмотря на заявление продавца.
2. Разные версии прошивок даже в одной партии.
3. Только одна скорость обмена.
4. Регистры работают правильно, но использовать можно только одну плату, в сеть идет мусор, и при подключении нескольких, мешает нормальной работе вызывая пропуски пакетов.
Можно было бы заливать в плату свою прошивку, но и тут проблема, с которой мне на форуме пока не смогли помочь.
На каком чипе ваша плата? Расскажите, пожалуйста, о результатах испытаний.

Аватара пользователя
ViktorPetrov
Лейтенант
Сообщения: 674
Зарегистрирован: 09.04.2018{, 23:56}
Репутация: 47
Имя: Виктор

Mega2560-32 Channel RS485 Modbus RTU Controller

#3

Сообщение ViktorPetrov » 24.05.2022{, 21:29}

Если ,я правильно понял с универсального устройства Slave,регистры нужно с начало прочитать при помощи функций .
Формат запроса имеет следующий вид:
8cb39b67722744139d19331147018d88.png
8cb39b67722744139d19331147018d88.png (745 байт) 904 просмотра
ID — адрес устройства (1 байт),
FN — Modbus функция (1 байт),
[args] — аргументы функции (N байт, зависит от функции),
CRC — контрольная сумма CRC-16 (2 байта).

Ответ имеет схожий формат:
aa35503ea29c4637a285b9621ce7d27b.png
aa35503ea29c4637a285b9621ce7d27b.png (685 байт) 904 просмотра
Поддерживаемые функции Modbus:

01: Read coil status
02: Read input status
03: Read holding registers
04: Read input registers
05: Write single coil
06: Write single register
15: Write multiple coils
16: Write multiple registers
22: Mask write register
23: Read/Write registers

autoelectronica
Рядовой
Сообщения: 89
Зарегистрирован: 18.10.2016{, 21:46}
Репутация: 6
Откуда: Москва

Mega2560-32 Channel RS485 Modbus RTU Controller

#4

Сообщение autoelectronica » 24.05.2022{, 22:09}

ViktorPetrov, помогите реализовать это в FLPROG

Ответить

Вернуться в «Modbus»