Показано с 1 по 5 из 5

Тема: Правила выравнивания и расположения структур и массивов?

  1. #1

    По умолчанию Правила выравнивания и расположения структур и массивов?

    можно ли быть уверенным, что объявляя в Кодесис2
    структуру:

    - ее компоненты будут размещены в оперативной памяти по порядку друг за другом, без оптимизации и разбиения структуры на куски?

    - ее компонеты будут выровнены по тем же правилам, что и память ввода-вывода ПЛК Овен 1хх, то есть 4байтовые по адресам кратным 4, 2-байтовые кратным 2, булевые и байтовые по адресам кратным 2, или это не так?

    - всегда ли гарантированно и корректно на контроллере 1хх можно будет записать значение по адресу из указателя в область ввода-вывода modbus?

    - разрешено ли в ST записывать по указателю содержимое сложного типа (например большой структуры около 400 байт) или можно записывать только из стандартных типов переменных?

    - хорошо ли поведет себя модуль modbus slave RTU на TCP при объеме около 400 байт?



    struct1:Bigstructure;
    ptr : POINTER TO Bigstructure;

    ptr:=ADR(Modbus_area);
    ptr1^:=struct1;

  2. #2
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,276

    По умолчанию

    1.Да. По порядку,но есть выравнивание
    2.Да. Но байт,буль,string, array[..] of буль/байт - кратно 1
    3.Да, если с самим адресом не ошиблись
    4.Да
    5.См.L и M

    Код - замечательный. Размер структуры под указателем не имеет значения до обращения за пределами доступной памяти.
    Последний раз редактировалось Валенок; 04.09.2012 в 21:26.

  3. #3

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    1.Да. По порядку,но есть выравнивание
    2.Да. Но байт,буль,string, array[..] of буль/байт - кратно 1
    3.Да, если с самим адресом не ошиблись
    4.Да
    5.См.L и M

    Код - замечательный. Размер структуры под указателем не имеет значения до обращения за пределами доступной памяти.
    capzap писал мне в почте, что в структуре нет выравнивания, эти правила не для нее.
    Кто же прав?
    Последний раз редактировалось Загнетов; 05.09.2012 в 05:52.

  4. #4
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,276

    По умолчанию

    Пусть скажет capzap

  5. #5
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,243

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Пусть скажет capzap
    http://www.owen.ru/forum/showpost.ph...6&postcount=21
    уже

Похожие темы

  1. Золотые правила организации сети RS-485. Управление трмами по RS-485.
    от МихаилЯр в разделе Сетевые технологии
    Ответов: 80
    Последнее сообщение: 05.03.2024, 11:39
  2. инициализация массива структур
    от drvlas в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 16.12.2010, 18:31
  3. Ответов: 2
    Последнее сообщение: 27.04.2007, 09:21

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •