Нужно ваше уточнение по библиотеке SimpleModbusMaster
- Войдите на сайт для отправки комментариев
Пишу тут так как темы где это обсуждалось молчат=((( все там вымерли.
Существует много библиотек но самые обычно обсуждаемые это библиотека ModbusRTU и SimpleModbusMaster(SimpleModbusSlave). Вот я пошел по второму варианту. Все отлично работает разобрался но есть одно но я так и не понял только один момент! Все везде говорили про какое то ограничение в 29 регистров на arduino. И я не понял про что речь то в общем? Про то что на кристале AVR нельзя уместить более 29 регистров для хранения данных? или это то количество которое Кристал может запросить у слейва за раз? чет не могу понять. У меня проект на кристале atmega2560 там памяти 256кб куча крч. И чет не верится что там всего 29 регистров можно хранить=) Кто работал с данной библиотекой можете пояснить точнее данный вопрос? заранее спасибо.
Вот библиотеки сами
SimpleModbusSlave - https://yadi.sk/d/5UfYQfDK3YBqcd
SimpleModbusMaster - https://yadi.sk/d/xstG1HPY3YBqcg
А что обсуждать? Открываем h файл и читаем :
Ограничение не библиотеки а среды ардуино - 30 регистров.
Т.е. речь все таки про обмен между мастером и слейвами так? Т.е. в сут ьв том как я понял что нельзя за раз принять больше 29 регистра от слейва например так как буфер не позволяет так? или речь про локальное хранилище?
Просто у меня то max485 подклчюен на прямую к меге2560 ко второму аппаратному сериалу. И ег окак я понимаю буффер ограничен. Но буффер то используется не для хранения а для обмена так? Те.е. речь все же тут идет про обмен по линии 485? Т.е. про то количество регистров которое я могу запрашивать в один момент или я не так перевел и понял? Поясните глупому=)
Крч если еще проще сказать то у меня есть 10 устроиств на модбас.
Семь устроиств - 2 регистра итого 14 регистров
Восьмое устроиство - 12 регистров
Девятое устроиство - 7 регистров
Десятое устроиство - 5 регистров
Т.е. общее число регистров с данными которое мне нужно получать это 36 реигстров мой мастер должен считаывать в каждом пакете свое устроиство. Т.е. за раз самый большой запрос будет принимать 12 регистров самый маленкьий будет читать 2а регистра. пакетов будет 10 как и устроиств. Будет ли работать или нет? На данный момент работает три устроиства нормально и три пакета на них. Но общее число щас 24 регистра общее количество. Вопрос встал потому, что пока я не изготовил еще 7мь устроиств и не знаю есть ли смысл делать их. А то может я сделаю а работаьь не будет. Извините за вынос мозга=)
Вроде как тут по-человечески описано, что ограничение на пакет. Вы же собираетесь из буфера вычитать все преред тем, как следующий запрос делать? К тому же 60 байт (30регистров) - это, как следует из последнего абзаца, ограничение накладываемое FTDI чипом, если обмен идет через него.
Понятно. спасибо за то что пояснили.