как расположены области их реального размещения?
как сделать так, чтобы регистры и биты не наложились друг на друга?
как понимать биты, отвечающие за индикаторы и за кнопки - они в разных областях, или в одной?
Все-таки перечитайте еще раз руководство по конфигурированию ПЛК Овен. Есть там ответы на эти вопросы...
создаю индикатор. про их представление в памяти сервера сказано, что им нужно выделять по байту на рыло.
Не совсем так. Это пространство под индикаторы и кнопки выделяется порциями в размере 1 байт. Но в этом байте может разместиться до 8 индикаторов и кнопок (8 бит).
Простейший пример. Допустим, вам нужно сделать для обмена с панелью два 16-битных регистра, один индикатор и три кнопки. Cоздавайте в ПЛК Modbus Slave (считаем, что панель - мастер), добавляйте в него 2 субэлемента "регистр" и один субэлемент "8 бит". Первый регистр будет иметь адрес "4x"0, второй - адрес "4x"1. Соответственно, в адресном пространстве (которое у Овена общее для всех переменных) первый регистр займет биты с 0 по 15, второй с 16 по 31. Добавленный после них "8 бит" займет биты с 32 по 39.
Теперь можете работать с ними в проекте панели. Первому регистру указываете адрес 0, второму - 1. В индикаторах/кнопках указываете адрес бита, а не регистра. Т.е. первый по порядку битовый элемент у вас будет "0x"32, за ним "0x"33, "0x"34 и "0x"35... Сквозная нумерация битов в поле ввода-вывода, иначе говоря.
Если сейчас добавить после "8 бит" еще один 16-битный регистр, то между ним и имеющимся "8 бит" будет вставлен байт для выравнивания. То есть биты с 40 по 47 будут неиспользуемыми, а регистр займет биты с 48 по 63.
А если после "8 бит" добавить Float, то на выравнивание уйдет уже не один, а целых три байта. Поглядите на картинку расположения переменных в памяти ввода-вывода в руководстве по конфигурированию ПЛК, там все это наглядно нарисовано.
Так более-менее понятно?
"Только чтение", или "возможность модификации" - это функция, реализованная на уровне панели. То же самое относится и к индикаторам (кнопка - точно такой же бит, как индикатор, но панель может не только читать его, но и модифицировать).
По части загадочных "0x" и "4x" не парьтесь. Это всего-навсего намек на команду Modbus, которой читается данный элемент в адресном пространстве. "0" - это "coil", т.е. одиночный бит, "4" - регистр. Поскольку ИП320 не предоставляет вам альтернатив выбора по этой части, просто наплюйте и забудьте.