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

Тема: Помогите!!! Не вмещается проект в ПЛК 100

  1. #1

    По умолчанию Помогите!!! Не вмещается проект в ПЛК 100

    Неожиданно столкнулся с проблемой, даже не пойму с какой стороны подойти - при компиляции выдается ошибка 3803 - Недостаточно общей памяти данных. Я пытаюсь объявить массив из 744 строк в строке 20 байт текста!!!! И внутри блока пытался объявить и в глобальных переменных - выдается ошибка. Ставлю массив на 50-60 строк, все Ок, но мне-то нужно 744. В чем собака зарыта? Вроде же 8 Мб оперативки у ПЛК?

  2. #2

    По умолчанию

    8 МБ - общая память.
    Сколько конкретно памяти отводится под пользовательскую программу - сейчас выясняем.

  3. #3

    По умолчанию

    Андрей, при компиляции проекта в окне мне выдается: Использовано данных: хххххх из 131072. Вот эти 131072 байт и есть максимально возможный объем используемой мною в проекте памяти? А у меня один массив только 80 кб занимает....

  4. #4

    По умолчанию

    У меня в массиве в текстовом виде хранится время в виде: 01.01:08:53:00
    01.01:17:27:00 и т.д. Я пытался загрузить его в проект и присвоить массиву TOD. Как Вы имеете ввиду закодировать? Я попробую.

  5. #5

    По умолчанию

    FUNCTION_BLOCK Load_File
    VAR_INPUT
    Test_Power: BOOL;
    END_VAR
    VAR_OUTPUT
    mes_i:ARRAY[0..7433] OF STRING;
    END_VAR
    VAR
    FilenameL: STRING;
    f2: DWORD;
    ReadBuffer: ARRAY[0..743] OF STRING;
    TIME_buf:ARRAY[0..743] OF STRING;
    i: DWORD;


    SysFileClose(f2);

    FilenameL:='grafik1.txt';
    IF Test_Power=TRUE THEN
    f2:=SysFileOpen(FilenameL,'r');
    i:=0;
    (*Очищаем буфер и массив*)
    FOR i := 0 TO 743 DO
    ReadBuffer [i] := '';
    TIME_buf [i] := '';
    END_FOR

    i:=0;

    FOR i:=0 TO 743 DO
    (*Загружаем из файла*)

    SysFileRead(f2,ADR(ReadBuffer[i]),14);

    (*Выбираем из него время*)

    time_buf[i]:=(MID(ReadBuffer[i],8,7));

    (Делаем формат TOD)

    mes_i[i]:=STRING_TO_TOD(CONCAT('tod#',time_buf[i]));
    END_FOR
    SysFileClose(f2);


    (*-----------------------------------------------------------------------*)
    Вложения Вложения

  6. #6

    По умолчанию

    capzap, спасибо. Я пока другой выход нашел. Уменьшил длинну строки с умолчания 80 байт (оказывается умолчание есть, случайно выяснил) до нужных мне 16. Так влезло с запасом в 130 кб.

  7. #7
    Евстигнеев Максим
    Гость

    По умолчанию

    Цитата Сообщение от Georgiy Посмотреть сообщение
    FUNCTION_BLOCK Load_File
    VAR_INPUT
    Test_Power: BOOL;
    END_VAR
    VAR_OUTPUT
    mes_i:ARRAY[0..7433] OF STRING;
    END_VAR
    7433? не опечатка?
    Последний раз редактировалось Евстигнеев Максим; 22.03.2011 в 22:55.

  8. #8

    По умолчанию

    Максим, да, это опечатка, 743 в проекте.

Ваши права

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