Перечитывая данную ветку и все ссылочные документы с неё многоразово. попробую обобщить (а вы, опытнейшие, прошу поправьте меня, новичка в этом)....

Для того, чтобы прочитать состояния входов модуля МВ110-16Д по Modbus нет "лёгкого" пути, как для других модулей. Поэтому:

1) В конфигурации ПЛК в элементе Modbus Master добавляем подэлемент Universal Modbus Device, в котором в свою очередь подэлемент Register input module, которому в параметрах модуля прописываем адрес регистра 51, а самому регистру присваиваем название переменной, например DI16_1 (дискретные входы 16 модуль 1, к примеру если модулей несколько то 2,3 и т.д.).



Таким образом после опроса всех модулей получим и некую переменную размером с WORD и содержащую по сути некоторое состояние, которое каждым своим битом описывает состояние каждого входа модуля), причём прочитав мануал (п.4.2.2 стр 15), мы понимаем, что:



т.е. 1-й вход (бит 0) в состоянии "замкнут"
2-й вход (бит 1) в состоянии "разомкнут"
.....
10 вход (бит 9) в состоянии "замкнут"

2) Поскольку, обозвав полученную переменную прямо в конфигураторе ПЛК, мы заявили её глобально, то использовать в дальнейшем в программах (любых) мы можем :
Желая получить состояние соответствующего входа, обращаемся к переменной через точку, т.е. ко входам №№ 1, 7 и 16 мы обращаемся соответсвенно как DI16_1.0, DI16_1.6, DI16_1.15 из любой программы, ФБ или функции напрямую.
Вероятно можно "распаковать" состояние регистра при помощи утилиты UnPack библиотеки Util.lib, но в библиотеке она BYTE размерности, а как её превратить в WORD, или значение регистра разбить на 2 составляющие BYTE средствами CoDeSys я пока не знаю (по крайней мере негеморойными методами, без сдвигов влево-вправо и т.п.), возможно кто-от из опытных опишет это действие с выкладыванием скринов.

Просьба к опытным программистам, прокомментируйте, если что не так - поправьте меня в самом начале пути .

П.С. это не руководство к действию. это попытка новичка разобраться. задача - опрос концевиков клапанов, заведённых на МВ110-16Д и обработка их в ОВЕН ПЛК 100.