Страница 1 из 1

Mega2560-32 Channel RS485 Modbus RTU Controller

Добавлено: 23 май 2022, 13:00
autoelectronica
Господа, доброго дня. Вот приобрел на Али вот такую платку https://aliexpress.ru/item/400111228348 ... 4447968482 . Пытаюсь состыковать ее через плату max485 с мегой. По каким регистрам прописывать управление?
Mega-485.flp

Mega2560-32 Channel RS485 Modbus RTU Controller

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

Mega2560-32 Channel RS485 Modbus RTU Controller

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

Ответ имеет схожий формат:
aa35503ea29c4637a285b9621ce7d27b.png
Поддерживаемые функции 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

Mega2560-32 Channel RS485 Modbus RTU Controller

Добавлено: 24 май 2022, 22:09
autoelectronica
ViktorPetrov, помогите реализовать это в FLPROG