Интерфейс RS-485 протокол MODBUS RTU.

Обсуждаем Arduino, Raspberry Pi и другие электронные компоненты и проекты DIY
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1020
Зарегистрирован: 22 окт 2010, 23:57

Re: Интерфейс RS-485 протокол MODBUS RTU.

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

Исходники библиотеки и примеры лежат на гугл диске.
С уважением, Григорий
GitHub FB ВК
Тима
Сообщения: 131
Зарегистрирован: 16 ноя 2012, 21:03

Re: Интерфейс RS-485 протокол MODBUS RTU.

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

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

Re: Интерфейс RS-485 протокол MODBUS RTU.

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

Второй параметр в функции modbus_construct().
С уважением, Григорий
GitHub FB ВК
Тима
Сообщения: 131
Зарегистрирован: 16 ноя 2012, 21:03

Re: Интерфейс RS-485 протокол MODBUS RTU.

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

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

Re: Интерфейс RS-485 протокол MODBUS RTU.

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

Я использовал SimpleModbusMasterV2rev2.zip
С уважением, Григорий
GitHub FB ВК
Тима
Сообщения: 131
Зарегистрирован: 16 ноя 2012, 21:03

Re: Интерфейс RS-485 протокол MODBUS RTU.

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

С этой библой ругается на строчку

Код: Выделить всё

modbus_configure(&Serial1, baud, SERIAL_8N1, timeout, polling, retry_count, TxEnablePin, packets, TOTAL_NO_OF_PACKETS, regs);
Если убрать "1" после "&Serial" ругаться перествет...
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1020
Зарегистрирован: 22 окт 2010, 23:57

Re: Интерфейс RS-485 протокол MODBUS RTU.

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

Я проводил эксперименты с платой Arduino Leonardo. В ней доступны два последовательных порта Serial и Serial1. Serial - это виртуальный порт, реализованный через USB, а Serial1 - физический, он выведен на ноги RX и TX контроллера. Поэтому у меня используется Serial1.

Если вы используете плату Arduino UNO, у которой доступен только один порт Serial, то в исходном коде надо заменить Serial1 на Serial. Вот так:

Код: Выделить всё

modbus_configure(&Serial, baud, SERIAL_8N1, timeout, polling, retry_count, TxEnablePin, packets, TOTAL_NO_OF_PACKETS, regs);
Тима писал(а):С этой библой ругается на строчку

Код: Выделить всё

modbus_configure(&Serial1, baud, SERIAL_8N1, timeout, polling, retry_count, TxEnablePin, packets, TOTAL_NO_OF_PACKETS, regs);
Если убрать "1" после "&Serial" ругаться перествет...
С уважением, Григорий
GitHub FB ВК
Тима
Сообщения: 131
Зарегистрирован: 16 ноя 2012, 21:03

Re: Интерфейс RS-485 протокол MODBUS RTU.

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

Ясно. Спасибо за разъяснение.
Я хотел попробовать на нано, но мой ноут почему-то не видит дуину. ВООБЩЕ не видит. Хотя в последний раз с домашнего компа все работало нормально. К домашнему компу доступа нету, нахожусь на вахте до конца недели. Когда приеду домой, продолжу эксперименты и отпишусь.

И еще...
Mr.Kubikus писал(а):Если вы...
Если это возможно, давай на "Ты". Я не люблю когда ко мне обращаются на "Вы", особенно если этот человек мне помогает.
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1020
Зарегистрирован: 22 окт 2010, 23:57

Re: Интерфейс RS-485 протокол MODBUS RTU.

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

Хорошо. Напиши, что у тебя получилось когда вернешься. Мы тут внимательно следим всем офисом :)
С уважением, Григорий
GitHub FB ВК
Тима
Сообщения: 131
Зарегистрирован: 16 ноя 2012, 21:03

Re: Интерфейс RS-485 протокол MODBUS RTU.

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

Пока не получается считать данные с МВА8.
Может это быть из-за того, что порт SERIAL один?
Если так, буду пробовать отправлять данные не на порт , а на экран.
И еще, нужно считать данные из ячеек с адресами 4 и 5. Где их указывать?
Ответить