Цитата Сообщение от Ian Посмотреть сообщение
Спасибо за помощь. Я уже находил эту картинку в форуме, но так как в деле программирования плк я человек новый, поэтому сразу совместить ее с тем что написано в спецификации Модбас не смог. Да и сейчас остались вопросы по нумерации регистров.

Я создал регистр 2 байта и потом в программе CAS я просматриваю этот регистр и она мне его нумерует, как положено в Модбас, если читаю командой 03 то пишет что читает регистр 40001, если командой 2 то читает регистр 10001. Но по всем объяснениям OWEN это регистр под номером просто 0, вот это у меня пока не складывается в голове. Если это номер 0, то при чем тут тогда 40001.

Также это деление в Модбас на Input Descrete, Coils, Input Registers и Holding Registers было создано же для того чтобы разделить данные, тут храним это и это можно только читать, а вот в этих регистрах храним вот этот тип данных, который можно и читать и изменять. Здесь же получается храним все везде и какой смысл тогда в этих всех разделениях и куче разных команд, если бы можно было сделать как в OWEN, читай чем хочешь и пиши что хочешь. Протокол он же на то и протокол, чтобы установить правила общения, а в OWEN получается какой то измененный протокол, может ли он тогда называться Модбасом?
Modbus был разработан в начале 80-х годов, за это время в автоматизации сменилось кучу трендов.
В том виде, в каком Modbus описан в стандарте - его мало кто использует.
Везде есть свои нюансы.
Использование единой области памяти используется не только нами, и в целом это имеет свои плюсы.

С другой стороны, вам ни кто не мешает на наших ПЛК использовать библиотеки для работы с com-портом, и реализовать Modbus так как нравится именно вам.