Купил реле. Как им управлять через RS485 Modbus?
Купил реле. Как им управлять через RS485 Modbus?
Добрый вечер.
Купил реле, управляемое по RS485.
https://www.cicig.co/product/yid1aujvx#
Вот такое. вот это в описании Как можно им управлять по модбас? Что-то не могу разобраться с кодом.
Купил реле, управляемое по RS485.
https://www.cicig.co/product/yid1aujvx#
Вот такое. вот это в описании Как можно им управлять по модбас? Что-то не могу разобраться с кодом.
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Купил реле. Как им управлять через RS485 Modbus?
Отделил тему для начала
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Купил реле. Как им управлять через RS485 Modbus?
В таблице присутствуют следующие команды MODBUS RTU:
1 - Read Coils
5 - Write Single Coil
3 - Read Multiple Holding Registers
16 - Write Multiple Holding Registers
Соответственно надо использовать их для работы с устройством.
1 - Read Coils
5 - Write Single Coil
3 - Read Multiple Holding Registers
16 - Write Multiple Holding Registers
Соответственно надо использовать их для работы с устройством.
Re: Купил реле. Как им управлять через RS485 Modbus?
В первой табличке к описанию модуля, в первых трех строках указано задание адреса устройства, на сколько я понял. В четвертой строке запрос на считывание адреса устройства. Интересно, это значит в сети можно разместить только три устройства?
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Купил реле. Как им управлять через RS485 Modbus?
Для изменения адреса там используется команда 16 - Write Multiple Holding Registers:
Используйте в качестве передаваемого значения нужный вам адрес в диапазоне от 1 до 247. Адрес 0 используется для широковещательной передачи, его распознаёт каждое устройство,Команда состоит из адреса элемента, количества изменяемых элементов, количества передаваемых байт устанавливаемых значений и самих устанавливаемых значений. Данные упаковываются так же, как в командах чтения данных.
Ответ состоит из начального адреса и количества изменённых элементов.
Re: Купил реле. Как им управлять через RS485 Modbus?
вот запрос на установку адреса 01. 00 10 00 00 00 01 02 00 01 6A 00
красный это адрес устройства. а что содержится в последних регистрах? Они разные для разных адресов.
красный это адрес устройства. а что содержится в последних регистрах? Они разные для разных адресов.
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Купил реле. Как им управлять через RS485 Modbus?
Два последних байта - контрольная сумма CRC16 для проверки отсутствия ошибок в кадре. Смотрите алгоритм в описании протокола MODBUS RTU - https://modbus.org/docs/Modbus_Applicat ... V1_1b3.pdf.
Еще можно воспользоваться онлайн сервисом - https://crccalc.com/
Еще можно воспользоваться онлайн сервисом - https://crccalc.com/
Re: Купил реле. Как им управлять через RS485 Modbus?
Спасибо. Буду изучать.
Re: Купил реле. Как им управлять через RS485 Modbus?
Итак, изучил описание расчета контрольной суммы из разных источников. В общих чертах понял. Попробовал использовать калькулятор. Вроде освоил.
Теперь опишу мои "хотелки"...
Имеем: ардуино мега, экран nextion, преобразователь ttl<=>rs485 и несколько modbus-реле. Это будет контроллер управления поливом в саду. Реле будут стоять в поле и открывать/закрывать клапана полива.
Как это можно реализовать?
Давно не писал программы для дуины, знания немного "заржавели".
В последний раз писал программу на Flprog...
P.S. Еще хорошо было бы иметь возможность настраивать адреса самих реле с этого контроллера, задавая его адрес через nextion.
Теперь опишу мои "хотелки"...
Имеем: ардуино мега, экран nextion, преобразователь ttl<=>rs485 и несколько modbus-реле. Это будет контроллер управления поливом в саду. Реле будут стоять в поле и открывать/закрывать клапана полива.
Как это можно реализовать?
Давно не писал программы для дуины, знания немного "заржавели".
![Смущён :oops:](./images/smilies/icon_redface.gif)
В последний раз писал программу на Flprog...
P.S. Еще хорошо было бы иметь возможность настраивать адреса самих реле с этого контроллера, задавая его адрес через nextion.
Re: Купил реле. Как им управлять через RS485 Modbus?
Читаю про эти реле на форумах, оказывается у них в расчете контрольной суммы младший и старший байты попутаны местами...Mr.Kubikus писал(а):Два последних байта - контрольная сумма CRC16 для проверки отсутствия ошибок в кадре. Смотрите описание алгоритма в описании протокола MODBUS RTU - https://modbus.org/docs/Modbus_Applicat ... V1_1b3.pdf.
Еще можно воспользоваться онлайн сервисом - https://crccalc.com/