Нужен совет по библиотеке SimpleModbus

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Задача такая наладить работу двух устроиств на по линии 485ой. Все элементарно. Одной устроиство которое Slave опрашивает свои 7 пинов и записывает с них данные в регистры. Тут вроде я разобрался. А вот мастер запрашивает у же у этого устроиства эти значения с регистров. Как бы один мастер второй модуль ввода дискретный. Так вот не ясно из инструкции как организована библиотека по двум моментам. Как грамматно будет с ее помощью запросить одним пакетом значения сразу с 7и регистров?

Так: modbus_construct(&packets[PACKET1], 2, READ_HOLDING_REGISTERS, 1, 7, regs[0]);

где я говорю в пакете что с 1го по по 7ой регистры хочу считать. но тогда вопрос как библиотека будет писать в локальный массив? ведь там во всех примерах типа мы указываем регистр локальный. Крч я не понял этот момент. Т.е. ясно сточ если пакет будет такого вида:

modbus_construct(&packets[PACKET1], 2, READ_HOLDING_REGISTERS, 1, 1, regs[0]); то он прочитает 1 регистр и запишет его в 0 регистр локального хранилища. я правильно понял?

 

Второй вопрос же в чтом что вообще органиаиця протокола как я понимаю поддерживает записть байтов и чтение битов в регистрах. А как с помощью данной библиотеки запрашивать и записывать байты и читать нужные биты? в инструкции такого не нашел я чет( Заранее спасибо всем кто откликнится

triac
triac аватар
Offline
Зарегистрирован: 03.05.2018

Этих SimpleModbas - как в Бразилии донов Педров, и не сосчитать. Холера вас знает, такого грамматнога, какую вы взяли.

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Вот эти: 

SimpleModbusMasterV12 для Arduino 

SimpleModbusSlaveV9 для Arduino 

Помойму они одни такие. ВСе кто эту тему ломал думаю поймут о каких я библиотеках