Купил реле. Как им управлять через RS485 Modbus?

Обсуждаем Arduino, Raspberry Pi и другие электронные компоненты и проекты DIY
Тима
Сообщения: 131
Зарегистрирован: 16 ноя 2012, 21:03

Re: Купил реле. Как им управлять через RS485 Modbus?

Сообщение Тима »

В библиотеке для модбас контрольная сумма рассчитывается автоматом, на сколько я понимаю. Можно сделать так, чтобы весь запрос вводить вручную?
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1020
Зарегистрирован: 22 окт 2010, 23:57

Re: Купил реле. Как им управлять через RS485 Modbus?

Сообщение Mr.Kubikus »

Тима писал(а):
11 фев 2021, 09:35
В библиотеке для модбас контрольная сумма рассчитывается автоматом, на сколько я понимаю. Можно сделать так, чтобы весь запрос вводить вручную?
Если только изменить функцию в библиотеке. Про какую библиотеку речь?
С уважением, Григорий
GitHub FB ВК
Тима
Сообщения: 131
Зарегистрирован: 16 ноя 2012, 21:03

Re: Купил реле. Как им управлять через RS485 Modbus?

Сообщение Тима »

Mr.Kubikus писал(а):
14 фев 2021, 07:51
Тима писал(а):
11 фев 2021, 09:35
В библиотеке для модбас контрольная сумма рассчитывается автоматом, на сколько я понимаю. Можно сделать так, чтобы весь запрос вводить вручную?
Если только изменить функцию в библиотеке. Про какую библиотеку речь?
Возможно я ввел в заблуждение и речь шла не за эти платы. Прочитал об этом здесь:
https://forum.flprog.ru/viewtopic.php?f ... 485#p66990
8й пост....

Итак, Следуя видеоинструкции получилось управлять реле с компа. Реле щелкает, адреса меняются, состояния читаются.
Вот список команд(с того же сайта):

0x01 0x01 0x00 0x01 0x00 0x01 0xAC 0x0A - чтение состояния
0x01 0x01 0x01 0x01 0x90 0x48 (ответ 01 - реле замкнуто)
0x01 0x01 0x01 0x00 0x51 0x88 (ответ 00 - реле разомкнуто)

0x01 0x05 0x00 0x00 0xFF 0x00 0x8C 0x3A - замкнуть реле (01 в начале это адрес устройства, его можно сменить)
0x01 0x05 0x00 0x00 0x00 0x00 0xCD 0xCA - разомкнуть реле (два последних байта это контрольная сумма, если смените адрес устройства, то не забудьте её пересчитать)

0x00 0x03 0x00 0x00 0x00 0x01 0x85 0xdb - прочитать адрес
0x00 0x03 0x02 0x00 0x01 0x44 0x44 (ответ адрес 01)

0x00 0x10 0x00 0x00 0x00 0x01 0x02 0x00 0x02 0x2A 0x01 установить адрес 02
0x00 0x10 0x00 0x00 0x00 0x01 0x02 0x00 0x01 0x6A 0x00 вернуть адрес 01
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1020
Зарегистрирован: 22 окт 2010, 23:57

Re: Купил реле. Как им управлять через RS485 Modbus?

Сообщение Mr.Kubikus »

Тима писал(а):
09 фев 2021, 19:41
Читаю про эти реле на форумах, оказывается у них в расчете контрольной суммы младший и старший байты попутаны местами...
Судя по таблицам в описании устройства, в которых приведены примеры кадров протокола, с порядком байтов все нормально.Все поля в кадре расположены в соответствии с описанием протокола.
С уважением, Григорий
GitHub FB ВК
Тима
Сообщения: 131
Зарегистрирован: 16 ноя 2012, 21:03

Re: Купил реле. Как им управлять через RS485 Modbus?

Сообщение Тима »

Mr.Kubikus писал(а):
14 фев 2021, 17:59
Судя по таблицам в описании устройства, в которых приведены примеры кадров протокола, с порядком байтов все нормально.Все поля в кадре расположены в соответствии с описанием протокола.
Да, это я от избытка информации перепутал... :oops:
Тима писал(а):
14 фев 2021, 16:01

Возможно я ввел в заблуждение и речь шла не за эти платы. Прочитал об этом здесь:
https://forum.flprog.ru/viewtopic.php?f ... 485#p66990
8й пост....
Тима
Сообщения: 131
Зарегистрирован: 16 ноя 2012, 21:03

Re: Купил реле. Как им управлять через RS485 Modbus?

Сообщение Тима »

Для начала скачал инсатовский ОРС-сервер на 32 точки ввода/вывода. Подключил к компу реле через конвертор и попробовал поуправлять релюхой с орс-сервера. Управляется. :D

Дальше подключил модбас-реле к меге через конвертор ttl-rs485.
Программу писал в Flprog. Настроил модбас мастер, создал тег слейва и подключил его к генератору импульсов со скважностью в 1 секунду.
Всё заработало сразу. :ugeek:
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1020
Зарегистрирован: 22 окт 2010, 23:57

Re: Купил реле. Как им управлять через RS485 Modbus?

Сообщение Mr.Kubikus »

Зачем вам FLProg? Есть же оригинальная библиотека ArduinoModbus?
С уважением, Григорий
GitHub FB ВК
Тима
Сообщения: 131
Зарегистрирован: 16 ноя 2012, 21:03

Re: Купил реле. Как им управлять через RS485 Modbus?

Сообщение Тима »

Тут дело привычки. Я занимаюсь промышленной автоматикой. Там программирование на LD или FBD. Оно мне привычнее. А на СИ надо много букв писать и за синтаксисом следить.
Ответить