PDA

Просмотр полной версии : ModBus Slave



инок
30.09.2013, 12:00
Здравствуйте. Подскажите пожалуйста как адресуются регистры Модбас Слейв. Допустим я хочу ОПС сервером считать регистр с ПЛК. Там существуют регистры временного хранения и входные регистры, вообще какой принцип их нумерации. В КДС2.3 регистры отличались только количеством байт и была написана технология сдвига и тд.

capzap
30.09.2013, 12:12
Нумерация у них одинаковая, разные регистры читаются соответствующими функциями

инок
30.09.2013, 13:01
А если допустим я соотнес 3 регистра временного хранения из 10, и 4 входных регистра из 10. 3 регистра временного хранения будут с адресами 0,1,2 и другие 4 входных регистра с адресами 3,4,5,6? Правильно я понимаю?

Александр Приходько
05.10.2013, 01:59
А если допустим я соотнес 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 решила пойти более правильным путем (по стандарту протокола) и разделила эту память, что в принципе корректно. Поэтому адреса у этих регистров абсолютно независимы и начинаются с нуля.

Да, поначалу может показаться странно, но к этому быстро привыкаешь.

Sergey666
05.10.2013, 14:31
Александр !
А вы(вообще коллектив Овен) уже сделали руководство по программированию девайсов под КДС 3.5 ?

Александр Приходько
05.10.2013, 18:57
Александр !
А вы(вообще коллектив Овен) уже сделали руководство по программированию девайсов под КДС 3.5 ?
Кирилл пока в творческом процессе. Обещали осенью, осенью сделаем.