Добрый день
Имеется ПЛК110 master и МВ110-32ДН slave
Протокол Modbus RTU
Доступ к входам модуля через два регистра (не побитно) с адресами 99 и 100 функцией Read holding registr
Все хорошо но как красиво получить доступ к конкретному входу

1 вариант
в конфигураторе ПЛК присвоить регистрам имена например In_1_16 и In_17_32
читать состояние входов по адресации бита в переменной например In_1_16.5 - состояние входа 6
Плохо то что входа в этом случае обезличены - нельзя их назвать как то удобно
если потребуется перенести вход на другой модуль или бит то придется искать и заменять во все программе

2 вариант
объявить глобальную переменную по адресу области ввода модуля например _In_1_16 AT %IW6.3.0.0 : WORD;
Проблемы теже что и с предыдущем вариантом

3 вариант
каждый раз присваивать BOOL переменным значения битов из регистра ввода модуля
например
In1 := In_1_16.0;
In2 := In_1_16.1;
In3 := In_1_16.2;
etc...
Уже можно обращаться к входам по красивым и правильным названиям и легко пересадить программную переменную на другой вход но этот вариант увеличивает объем программы и время ее выполнения

Вопрос:
Существует ли еще какие то возможности удобно присвоить переменные входам модуля или расположить переменную по адресу бита входа
Хотя конечно последнее глупость - невозможно расположить булевую переменную 8 бит в памяти 1 бита входа

Поделитесь кто как делает пожалуйста

PS такая же проблема в принципе и с выходами которые записываются не побитно а регистром