Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 26

Тема: ПЛК110 [M02] Не работает SysLibFile и OwenLibFileAsync с областю постоянной памяти.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Из написаного выше думаю и так понятно откуда. Банальность в том что в обратном направлении всё рабоатет, тобиж VAR PERSISTENT RETAIN > FLASH. А обратно нет.

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

    По умолчанию

    Цитата Сообщение от saniyo Посмотреть сообщение
    .. А обратно нет.
    У Вас - нет.

  3. #3

    По умолчанию

    Вообще-то, если посмотреть на скриншот- просто кончилась память Retain. Уменьшите размер данных и всё.
    Тролль-наседка, добрый, нежный и ласковый

  4. #4

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Вообще-то, если посмотреть на скриншот- просто кончилась память Retain. Уменьшите размер данных и всё.
    Память ето вторая проблема, она решается clear all ,compile.
    Основная проблема как загнать данные из flash в GLOBAL VAR PERSISTENT RETAIN с помощю SysFileLib или аналога от owen. функция read не работает. размер структуры 8кб.

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

    По умолчанию

    Цитата Сообщение от saniyo Посмотреть сообщение
    функция read не работает.
    Снова по новой. У вас - не работает. А так - все норм.


    PS
    И походу в 8й строке не на 11 на на 14 умножать нужно было.

  6. #6

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Снова по новой. У вас - не работает. А так - все норм.


    PS
    И походу в 8й строке не на 11 на на 14 умножать нужно было.
    Я извиняюсь, но про какую 8-ю строку разговор, может я что-то пропустил. Подетальней пожалуйста, что и где работает? Оператор присваивания в вашем примере точно работает сомнений нет.



    CASE Step OF

    0: IF ReadStart THEN
    Step := 1;
    END_IF
    ReadStart := FALSE;

    1: dwReadBytes := 0;
    SysFileClose (dwFileIndex);
    Step := 2;

    2: dwFileIndex := SysFileOpen ('sDb_n.txt' , 'r');
    Step := 3;

    3: dwReadBytes := SysFileRead (dwFileIndex , ADR(sDb) , SIZEOF(sDb));
    SysFileSetPos (dwFileIndex, 0 );
    IF dwReadBytes <> 0 THEN
    Step := 4;
    END_IF

    4: SysFileClose (dwFileIndex);
    Step := 0;
    END_CASE
    упрощенная реализация для наглядности. Код работает, когда элемент sDb лежит в GLOBAL VAR и НЕ РАБОТАЕТ, когда в GLOBAL VAR PERSISTENT RETAIN.
    Каким х.. прочитать куда надо?
    Последний раз редактировалось saniyo; 12.04.2018 в 23:20.

  7. #7
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,799

    По умолчанию

    Т.С, в вашем коде примера в 3м стэпе логическая ошибка: как только кол-во байт превысит 0 переход к закрытию файла.

    И эти Сименсовские заморочки "Persistent Retain" к чему? Масло-масляное, в КДС работает просто VAR Retain.

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

    По умолчанию

    Когда заболит зуб, стоматологу пришлите его макет (как упрощеный релиз) - пусть лечит. Хрен ли
    Последний раз редактировалось Валенок; 14.04.2018 в 02:13.

  9. #9

    По умолчанию

    Залил тотже проект в другой плк на прошывке 1.0.72 - работает.
    Попоробую продаунгрейтить рабочий плк.

  10. #10

    По умолчанию

    тоже макет )

    3: dwReadBytes := dwReadBytes + SysFileRead (dwFileIndex , ADR(sDb) + dwReadBytes , SIZEOF(sDb) - dwReadBytes );

    IF dwReadBytes = SIZEOF(sDb) THEN
    SysFileSetPos (dwFileIndex, 0 ); (* зачем здесь? *)
    Step := 4;
    END_IF

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. OwenLibFileAsync.lib
    от monteg в разделе ПЛК1хх [М02]
    Ответов: 6
    Последнее сообщение: 17.04.2025, 15:38
  2. Ответов: 7
    Последнее сообщение: 04.05.2022, 12:02
  3. ПЛК110-30 не работает
    от приборист в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 05.02.2016, 18:56
  4. Ответов: 5
    Последнее сообщение: 04.01.2016, 13:20

Ваши права

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