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

Тема: АРХИВАЦИЯ (Библиотека SysLibFILE)

  1. #11

    По умолчанию

    Кирилл, пример организации архива с использованием библиотеки syslibfile- arc.zip отказался работать в контроллере(150U-L) создавались пустые архивы. в чём может быть дело? и ещё у меня вопрос-
    как можно записывать в архив периодически (ну скажем через секунду) строковую переменную 'slovo'. в данной программе оно записывается только 1 раз. если кто поможет то буду очень благодарен!!!

    PROGRAM PLC_PRG
    VAR
    x:STRING; (*строка для архивирования*)
    number: DWORD; (*дескриптор файла*)
    dipos: DINT; (*текущая позиция в файле*)
    dwSize: DWORD; (*количество записанных байт данных*)
    dwSize1: DWORD; (*размер файла*)
    END_VAR

    (*открываем файл*)
    number:=SysFileOpen('arc.log', 'w');
    (*создаём строку*)
    x:='slovo';
    (*Пишем строку в файл*)
    dwSize:=SysFileWrite(number,ADR(x),LEN(x));
    (*получаем текущую позицию в файле*)
    dipos:=SysFileGetPos(number);
    (*получаем размер файла в байтах*)
    dwSize1:=SysFileGetSize('arc.log');

  2. #12

    По умолчанию

    А закрывать файл кто будет?
    Повторный вход в number:=SysFileOpen('arc.log', 'w'); выдает ДРУГОЙ дескриптор с запретом записи, т.к. файл уже был открыт в предыдущем цикле.
    А всего дескрипторов 5 - т.е. на 6 цикле они кончатся.

  3. #13
    Пользователь
    Регистрация
    18.01.2008
    Адрес
    Екатеринбург
    Сообщений
    91

    По умолчанию

    Цитата Сообщение от филоненко владислав Посмотреть сообщение
    а всего дескрипторов 5 - т.е. на 6 цикле они кончатся.
    означает ли это, что я не могу писать одновременно более 5 файлов?

  4. #14

    По умолчанию

    Цитата Сообщение от Андрей Макаров Посмотреть сообщение
    спасибо большое, кирилл. примеры очень хорошие! я пока не большой специалист, поэтому будьте так любезны и подскажите:
    - можно ли записать значения, рассчитанные программой только один раз по факту? для этого нужно убрать таймер? или уменьшить задержку?
    - и как автоматически записывать созданный файл на жесткий диск компьютера? или придется ежедневно считывать этот файл с плк?
    спасибо.
    1. когда вам необходимо сделать запись (через if перечисляете условия), вы открываете файл, пишете и закрываете. После чего снова ждете условий начала записи.

    2. ежедневно считывать. Либо нужные данные передавать на ПК и уже там проводить архивацию удобными вам средствами.

  5. #15

    По умолчанию

    да, нельзя открывать более 5 файлов одновременно. желательно не открывать больше 4, оставив 1 для системных нужд.
    проблем с этим никаких не вижу.

  6. #16
    Пользователь
    Регистрация
    29.11.2008
    Адрес
    Тула
    Сообщений
    30

    По умолчанию

    2. ежедневно считывать. Либо нужные данные передавать на ПК и уже там проводить архивацию удобными вам средствами.[/QUOTE]

    Подскажите пожалуйста как считать файл не используя CoDeSys

  7. #17

    По умолчанию

    Подскажите пожалуйста как считать файл не используя CoDeSys
    Используй http://www.kipshop.ru/CoDeSys/EasyWorkPLC/plc_io.zip

  8. #18

    Exclamation тренд

    Подскажите пожалуйста, можно ли как-нибудь настроить «ТРЕНД», чтобы он строил график в определенный момент времени и соответственно также записывались данные в файл. Пока что получилось настроить непрерывный сбор данных, т.е. когда надо и не надо осуществляется построение графика и запись данных в файл *.trd Или может вообще по другому можно решить эту задачу!?
    *** Пример: С датчика тока должны сниматься показания, датчик выдает ток не всегда, поэтому надо сохранять данные, когда появился ток.

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

Ваши права

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