Показано с 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
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    7,523

    По умолчанию

    Цитата Сообщение от 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 в разделе СПК1хх
    Ответов: 1
    Последнее сообщение: 27.02.2014, 13:54
  3. Запись / чтение структуры в файл на ПЛК
    от АлексейШ в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 17.08.2011, 19:39
  4. запись тревог в файл на плк
    от rabitt.exe в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 10.02.2010, 17:54

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

Ваши права

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