А если допустим я соотнес 3 регистра временного хранения из 10, и 4 входных регистра из 10. 3 регистра временного хранения будут с адресами 0,1,2 и другие 4 входных регистра с адресами 3,4,5,6? Правильно я понимаю?
А если допустим я соотнес 3 регистра временного хранения из 10, и 4 входных регистра из 10. 3 регистра временного хранения будут с адресами 0,1,2 и другие 4 входных регистра с адресами 3,4,5,6? Правильно я понимаю?
Нет не правильно. Если вы почитаете описание протокола Modbus - то регистры временного хранения и регистры входные - это две различные области памяти. Соответственно и нумерация у них независимая. А если вы будете более внимательны, то напротив этих регистров - есть адреса ячеек памяти - их можно использовать как нумерацию регистров.
В CODESYS 2.3 по сравнению с 3,5 есть несколько отличий. И они очень существенны.
1) CODESYS 2.3 не был заточен под групповые опросы. И каждый добавленный регистр был отдельной командой чтения и записи.
В CODESYS 3.5 каждая группа регистров - это один групповой запрос. Т.е. за раз вы можете считать/записать не один регистр, а к примеру 10 - это на порядок уменьшает период обмена данными(т.е. данные будут обновляться быстрее).
2) В CODESYS 2,3 не было разделения памяти для регистров Input и Holding. Что в теории не правильно. И соответственно в версии 2,3 функции 03 и 04 обращались к одинаковым ячейкам.
В версии 3,5 компания 3S решила пойти более правильным путем (по стандарту протокола) и разделила эту память, что в принципе корректно. Поэтому адреса у этих регистров абсолютно независимы и начинаются с нуля.
Да, поначалу может показаться странно, но к этому быстро привыкаешь.
Последний раз редактировалось Александр Приходько; 05.10.2013 в 01:09.