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

Тема: Запись данных в файл с помощью CAA.File

  1. #1
    Пользователь Аватар для d-view
    Регистрация
    24.03.2013
    Адрес
    Луганск
    Сообщений
    22

    Lightbulb Запись данных в файл с помощью CAA.File

    Во вложении архив проекта с ФБ, в основе которого библиотека CAA.File. Запись производится в файл *.csv. Данные записываются в строку (нужно преобразовать данные в STRING и собрать строку через CONCAT). ФБ автоматически добавляет дату и время в строку и так же автоматически добавляет месяц и год в имя файла (новый месяц - новый файл). Этот проект делал для Modicon TM251MESE, но, думаю проблем в работе на СПК быть не должно. Путь для записи файла /LOG/<имя_файла>_<месяц>_<год>.csv Каждый ФБ создает свой файл (при условии разных имен файлов) или дописывает строку в конец существующего файла. Единственное условие - запуск ФБ по очереди.
    Если кто будет пробовать - отпишитесь о работе данного ФБ на СПК.
    Вложения Вложения
    Последний раз редактировалось d-view; 08.11.2016 в 16:43.

  2. #2

    По умолчанию

    d-view, не обязательно иметь СПК, чтобы попробовать работоспособность проекта в CoDeSys 3 для СПК.
    Удобнее использовать виртуальный контроллер (значок в панели задач CODESYS Control Win SysTray) , а не эмуляцию:
    http://www.owen.ru/forum/showthread....l=1#post227019
    Ваш пример после обновления библиотек и устройства загрузился в Control Win V3 (CoDeSys 3.5 SP5 Patch5).
    Добавление записи в существующий файл работает, но для создания нового файла код надо дорабатывать (при открытии файла используется режим MAPPD).
    P.s. В документе "СПК. Системное время" рекомендуется наиболее простая и функциональная библиотека CAA DTUtil.

  3. #3

    По умолчанию

    Решил тоже разобраться с этой библиотекой (CAA_FILE).
    Какая-то ерунда в следующем:
    При записи в файл STRING:='test', в файле иероглифы. Думаю что-то с кодировкой, но читая этот же файл, получаю в строке эти же 4 иероглифа. При этом массив байт записывается, читается без проблем и искажений.
    Может кто подскажет, что я упускаю.
    Вот экран в отладке:
    Безымянный.JPG
    Последний раз редактировалось slonegd; 18.01.2017 в 16:12.

  4. #4

    По умолчанию

    можете приложить проект тут или ссылку в личку?

  5. #5

    По умолчанию

    да, конечно, только не судите строго это проект исследование.
    Вложения Вложения

  6. #6

  7. #7

    По умолчанию

    Странное дело. Залил в СПК и тоже иероглифы. Но проблема больше не актуальна, переписал блок по другому принципу.

  8. #8

    По умолчанию

    Во вложении простой проект, который записывает по команде с визуализации в файл одну структуру, и читает в другую структуру из того же файла.
    Когда работал с внутренней памятью СПК, всё работало. Файл создавался, всё писалось, всё читалось.
    В архиве я пытаюсь работать уже на флешке (usb). Прописал путь из СПК faq. И тут вылезло странное дело. Файл на флешке не появляется, но функция записи и чтения работают. то есть куда то он это пишет. Достал флешку из usb, запустил проект и всё РАБОТАЕТ, в файл пишется и читается, но файла то НЕТ. Ткните носом, где я туплю, пожалуйста.
    Вложения Вложения
    Последний раз редактировалось slonegd; 06.02.2017 в 12:57.

  9. #9

    По умолчанию

    Пробую проверить флешку на совместимость по инструкции из этого поста http://www.owen.ru/forum/showthread....l=1#post122116
    Подрубился к СПК через winscp. Флешка не вставлена, но папка sda1 есть и в ней есть мои файлы из программы. Подключаю флешку, жму обновить и там уже файлы с флешки.

    Проанализировав всё, подумал, что моя программа создает эту папку до того, как СПК успевает примонтировать флешку. Вставил в программу задержку на 10 секунд. Всё заработало как надо и файл на флешке появился. Теперь такой вопрос: а как определить из программы, примонтировалась ли флешка, чтобы не ждать 10 секунд, а начать работу сразу после того, как флешка в системе?

  10. #10

    По умолчанию

    Цитата Сообщение от slonegd Посмотреть сообщение
    Пробую проверить флешку на совместимость по инструкции из этого поста http://www.owen.ru/forum/showthread....l=1#post122116
    Подрубился к СПК через winscp. Флешка не вставлена, но папка sda1 есть и в ней есть мои файлы из программы. Подключаю флешку, жму обновить и там уже файлы с флешки.

    Проанализировав всё, подумал, что моя программа создает эту папку до того, как СПК успевает примонтировать флешку. Вставил в программу задержку на 10 секунд. Всё заработало как надо и файл на флешке появился. Теперь такой вопрос: а как определить из программы, примонтировалась ли флешка, чтобы не ждать 10 секунд, а начать работу сразу после того, как флешка в системе?
    В принципе, варианта два:

    1. Послать команду в терминал (см. библиотеку CmpSysExec). Подойдет, например, mount или df -h.
    2. Через функционал таргет-файлов. См. http://www.owen.ru/forum/showthread.php?t=25756

Похожие темы

  1. Запись в файл
    от Alex12345 в разделе ПЛК1хх
    Ответов: 16
    Последнее сообщение: 19.03.2015, 16:50
  2. СПК-107 (Запись на флеш через файл)
    от ru522464 в разделе СПК1xx (архив)
    Ответов: 1
    Последнее сообщение: 27.02.2014, 12:54
  3. Запись / чтение структуры в файл на ПЛК
    от АлексейШ в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 17.08.2011, 18:39
  4. запись тревог в файл на плк
    от rabitt.exe в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 10.02.2010, 17:54

Метки этой темы

Ваши права

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