Тел. (495) 972-27-12

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

Обсуждаем Arduino, Raspberry Pi и другие электронные компоненты и проекты DIY

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

Сообщение Raider » 18 авг 2015, 11:56

Плюс 1 к сюрпризам от ОВНА! Если пожелаете считать данные со второго регистра по адресу 2 , вас постигнет неудача. ибо лежат данные по адресу 7, 3 - 13. Хотелось бы узнать, почему?
Raider
 
Сообщения: 2
Зарегистрирован: 17 авг 2015, 15:02

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

Сообщение Mr.Kubikus » 18 авг 2015, 14:32

Привет!

Рад, что у вас все заработало.

По поводу доступа к данным по второму измерительному каналу (если я правильно понял ваш второй камент), то никаких сюрпризов тут нет. Надо внимательнее изучать документацию :) Карта регистров MODBUS подробно расписана в документе "МВА8. Руководство по эксплуатации" на страницах 51-53. Там хорошо видно, что один измерительный канал занимает в памяти 8 последовательных регистров. Соответственно первый канал - регистры 0-7, второй - 8-13 и т.д.

Raider писал(а):Плюс 1 к сюрпризам от ОВНА! Если пожелаете считать данные со второго регистра по адресу 2 , вас постигнет неудача. ибо лежат данные по адресу 7, 3 - 13. Хотелось бы узнать, почему?


Raider писал(а):Оч. полезная тема, от себя могу добавить по поводу вывода знаков после запятой:
valueFromSensor = (float)regs[1]/100.00;
C преобразователем собранном на ADM485 работает прекрасно!
С уважением, Григорий
GitHub FB ВК TW
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
 
Сообщения: 868
Изображения: 49
Зарегистрирован: 22 окт 2010, 23:57
Откуда: Москва

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

Сообщение Andrey_161 » 16 июл 2016, 16:41

Подниму темку, а как с помощью этой библиотеки опрашивать несколько ведомых устройств?
Andrey_161
 
Сообщения: 1
Зарегистрирован: 15 июл 2016, 15:28

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

Сообщение Тима » 01 авг 2016, 15:34

Andrey_161 писал(а):Подниму темку, а как с помощью этой библиотеки опрашивать несколько ведомых устройств?

В строке
modbus_construct(&packets[PACKET1], 1, READ_HOLDING_REGISTERS, 1, 1, 0);
выделенное красным - это адрес устройства. Настраиваешь в разных приборах разные адреса и обращаешься к каждому устройству по отдельности.
Тима
 
Сообщения: 114
Зарегистрирован: 16 ноя 2012, 21:03

Пред.

Вернуться в Arduino и Ко. ♥♥♥



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron