Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 15 из 15

Тема: размещение переменных в памяти

  1. #11

    По умолчанию

    Дак ведь на %MD0 и %MD1 не ругается.
    Пробовал так же объявить в поле переменных главного ПОУ, эффект тот же.
    Пробовал объявить по другим адресам - вообще на все адреса ругается.
    Не знаю как определить свободную область, по каким адресам можно объявлять переменные, намекните хотябы где можно почитать про это

  2. #12

    По умолчанию

    1. При размещении переменных порядок обычно правильный, но самым верным было бы создать массив требуемой суммарной длины, а затем указателям на переменные задать адреса в этом массиве - так гарантированно переменные будут подряд.
    2. Память типа %M в ПЛК не используется - вот компилятор и ругается. Первые 2 элемента оставлены для совместимости. НЕ используйте их.
    Тролль-наседка, добрый, нежный и ласковый

  3. #13

    По умолчанию

    Понял, спасибо,
    если кому из новичков понадобится, код:
    VAR
    ...
    byteBuf:ARRAY [1..16] OF BYTE;
    realBuf1,
    realBuf2,
    realBuf3,
    realBuf4:POINTER TO REAL;
    ...
    END_VAR
    ...
    realbuf1:=ADR(bytebuf[1]);
    realbuf2:=ADR(bytebuf[5]);
    realbuf3:=ADR(bytebuf[9]);
    realbuf4:=ADR(bytebuf[13]);
    индексация немного кривая.
    с самого начала так хотел сделать, но не нашел указатели и подумал что это делается через явное размещение переменных %M

  4. #14

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    да ладно

    и так вплоть до %MD249
    у меня ПЛК 150 I L
    из тех, что я перебирал, компилятор разрешил объявить только в %MD0 и %MD1
    Последний раз редактировалось alhoresm; 28.04.2012 в 09:07.

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

    По умолчанию

    букву L то я и не заметил

Страница 2 из 2 ПерваяПервая 12

Ваши права

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