спасибо, не надо.
и у меня работает. лучше изучение основных принципов, чем сиюминутное "как именно сделать", хотя четкой границы нет и одно перетекает в другое.
пока удалось наступить почти на все грабли, оттого что некачественно изучил документацию, вот и возникают "детские" вопросы типа "индексного регистра в панели или канала в slave".
поэтому в выходные заново перечитаю и осмыслю документацию на кодесис и панель и большинство вопросов отпадут.
1) для Валенок: я посмотрел, выравнивание не всегда происходит по квартам. Если объявить структуру STRUCT1 из 16 битных, то смещение очередного компонента равно размеру предыдущего, то есть выравнивания и следовательно "щелей" внутри такой структуры нет.
2) если эта структура типа STRUCT1 является элементом другой структуры типа STRUCT3 (STA : STRUCT3), то в зависимости от размеров элементов, в STA могут появляться щели. Щели не инициализируются, поэтому до перезагрузки контроллера в них лежит оставшийся "мусор" (при перезаписи дампа структуры по указателю в область обмена "мусор" виден). Вреда для исполняемой программы от мусора нет, но при отладке менее удобно, мусор остается от тех же маркеров-заполнителей ( CLEAR_ARR) после изменения размера структуры.
на экранах - область обмена modbus (скриншот панели), начиная с 0 адреса, увеличение адр. сверху вниз по столбцам
________программа