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

Тема: Об распределении структуры в памяти

  1. #1

    По умолчанию Об распределении структуры в памяти

    Всем здравствуйте.

    Имеется тип VEH, представляющий из себя структуру.

    В Data types:
    TYPE VEH :
    STRUCT
    state:BOOL;
    alarm:BOOL;
    freq: REAL;
    ack: BOOL;
    END_STRUCT
    END_TYPE

    В Global variables:
    VEH1 AT %MB0 : VEH;

    Вопрос:
    А как узнать, как распределилась память? Т.е. какие адреса имеют переменные VEH1:state,alarm,freq,ack?

  2. #2
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

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

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

    По умолчанию

    Побайтно
    VEH{
    0:State
    1:Аlarm
    2-3:выравнивание
    4-7:freq
    8:ack
    9-11:выравнивание
    }

    sizeof в онлайн = 12

    Если нужно экономить память, вставьте ack перед freq

  4. #4

    По умолчанию

    Спасибо за ответ.
    Не экономно как-то получается.

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

    По умолчанию

    8 меньше чем 12

Похожие темы

  1. Запись / чтение структуры в файл на ПЛК
    от АлексейШ в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 17.08.2011, 19:39
  2. И снова об ПЛК73
    от ASo в разделе ПЛК63/73
    Ответов: 3
    Последнее сообщение: 30.06.2011, 18:55
  3. создание сетевой структуры
    от nnnemesis в разделе Master SCADA 3
    Ответов: 12
    Последнее сообщение: 20.06.2011, 11:49

Метки этой темы

Ваши права

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