Страница 4 из 8 ПерваяПервая ... 23456 ... ПоследняяПоследняя
Показано с 31 по 40 из 74

Тема: архивирование на спк207

  1. #31

    По умолчанию

    Требуется прочитать из текстового файла, допустим, первые 10 символом. Текст программы такой:
    VAR
    File_Open: FILE.Open;
    File_Close: FILE.Close;
    File_Read: FILE.Read;
    FILE_MREAD: FILE.MODE;
    array1: ARRAY [0..10] OF BYTE;
    END_VAR

    File_Open.sFileName:='/mnt/ufs/media/mmcblk0p1/text.txt/';
    File_Open.eFileMode:=FILE_MREAD;
    File_Open.xExecute:=TRUE;
    File_Read( xExecute:=TRUE);
    File_Read.hFile:=hFile;
    File_Read.udiTimeOut:=100000;
    IF File_Open.xDone THEN File_Read.szBuffer:=10; File_Read.pBuffer:=ADR(array1);
    END_IF
    File_Close.xExecute:=TRUE;

    Но в результате File_Open.xDone=FALSE и, естественно, все значения массива array1 нулю. Подскажите, пожалуйста, что не так?
    Последний раз редактировалось GoodLuck; 18.05.2014 в 00:09.

  2. #32

    По умолчанию

    Вот пример, попробуйте сделать по примеру.
    Вложения Вложения

  3. #33

    По умолчанию

    Скажите, пожалуйста, а нет ли какой-нибудь функции, с помощью которой можно найти заданную комбинацию символов в текстовом файле? По аналогии со строковой функцией FIND? Или придется считывать в буфер файл по частям и анализировать каждую часть?

  4. #34

    По умолчанию

    Цитата Сообщение от GoodLuck Посмотреть сообщение
    Скажите, пожалуйста, а нет ли какой-нибудь функции, с помощью которой можно найти заданную комбинацию символов в текстовом файле? По аналогии со строковой функцией FIND? Или придется считывать в буфер файл по частям и анализировать каждую часть?
    Нет. Такой функции нет.
    Вам нужно организовать открытие файла, его вычитку. И далее делать поиск по содержиому счинанного.

  5. #35

    По умолчанию

    Подскажите пожалуйста (или покажите где посмотреть) как сохранять архив на внешний носитель - SD карту или USB Flash. На вутренний диск все сохраняется нормально. Внешние носители нужно как-то "монтировать" в Linux'е? Почему я подключаясь с помощью WINSCP не вижу внешний диск?

  6. #36

    По умолчанию

    подскажите, пожалуйста, если такая возможность существует!

    Какое значение MODE надо поставить в команде WriteData (библиотека ArchivatorOwenLib), чтобы файл создавался раз в год или раз в месяц?

  7. #37

    По умолчанию

    HELP! Доброго времени суток. не могу разобратся с архивированием СПК 207 cs web нужно что б он записывал 8 переменных в архив и сохранял на SD карту. может у кого есть готовый пример скинте пожалуйса, зарание спасибо.

  8. #38
    Пользователь
    Регистрация
    18.08.2008
    Адрес
    Екатеринбург
    Сообщений
    983

    По умолчанию

    В этой же теме на стр.1 А.Приходько дает ссылку на библиотеку архивации для СПК. Делал как там описано. Даже экспериментировал, убирая функцию переноса с SD на флэшь. Все работает и полгода на обьекте почти

  9. #39

    По умолчанию

    Для чтения/записи в файл использую библиотеку CAA_File. Основываясь на примерах встроенной справки CoDeSys 3.5 и примере Мурата, написал вот такую программку: Read_file.projectarchive

    Самого СПК207 пока нет, поэтому проверяю на CODESYS Control Win V3.
    Записываю в файл file_2.txt на диске D следующую строку:
    123;456
    654;321
    Устанавливаю позицию чтения (FileSetPos) в начало первой строки и считываю первую строку, длиной в 7 символов (байт).
    В переменной чтения arc_str записалось следующее:
    '123;456й└˓ш№¶'
    Измеряю длину arc_str = 13 байт (символов).
    Пробовал изменять количество байт на чтение - .szBuffer функционального блока FILE.Read. При каких-то значениях размер прочитанной arc_str совпадает с заданным размером чтения .szBuffer, но чаще получается длиннее, с добавленными символами.
    Просьба к участникам форума проверить мой пример на самой панели СПК207, может это встроенный в CoDeSys контроллер дает ошибки.
    Может я в чем-то ошибаюсь?
    Заметил еще, что в созданном и записанном файле в 3-ей строке появились 6 пробелов, которые я не записывал. Чудеса какие-то.
    Вложения Вложения
    Последний раз редактировалось vniko; 21.08.2015 в 14:16.

  10. #40

    По умолчанию

    По поводу записи в файл лишних пробелов я разобрался. Дело в том, что в модуле записи в файл я указываю количество байт для записи в файл .szSize:=24. Т.е. моя строка на запись имеет размер 18 символов и до 24 пишется в файл пустые символы. В моем случае их 6 (при чтении затем в массив байтов из этих позиций читаются нули).
    Если количество байт для записи в файл определить как .szSize:=SIZEOF(buffer), в файл будет добавлены нулевые символы до 81, т.к. длина строковой переменной buffer по умолчанию равна 80 (0,1,2,3,4,...,80).

    С добавлением символов при чтении строки из файла не разобрался: т.е. в моем случае при чтении из файла строки из 7 символов, реально получаем строку (строковую переменную) с 13-ю символами.
    В проекте делаю так: читаю в строку из файла командой FILE.Read с размером буфера .szSize:=len_str, а затем функцией LEFT ограничиваю длину строки величиной len_str.

Страница 4 из 8 ПерваяПервая ... 23456 ... ПоследняяПоследняя

Похожие темы

  1. Архивирование данных
    от klg в разделе Master SCADA 3
    Ответов: 34
    Последнее сообщение: 27.10.2014, 17:22
  2. Архивирование журналов
    от Columbariy в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 14.09.2012, 18:49
  3. Архивирование на ПЛК
    от Руслан2 в разделе ПЛК1хх
    Ответов: 12
    Последнее сообщение: 07.05.2012, 14:33
  4. архивирование на Usb-флешке
    от Лёша в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 08.06.2009, 17:39

Ваши права

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