68. Работа с файлами (CAA File)

Поділитися
Вставка
  • Опубліковано 28 лис 2024

КОМЕНТАРІ • 29

  • @marsNearby
    @marsNearby 2 роки тому

    Спасибо, все работает. Адаптировал для своего проекта. Добавил считывание всех строк в массив структур для постобработки внутри ПЛК. Странно, что нет вообще комментариев, материал бесценный. ;)

  • @demosthenes4276
    @demosthenes4276 7 місяців тому

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

  • @gravitopol
    @gravitopol 3 дні тому +1

    А разве на 5:22 перезапись 1 строчки(записи) прошла? значения то старые остались.

    • @CodesysOneLove
      @CodesysOneLove  2 дні тому

      Вы правы. Я сейчас скачал пример из описания к видео и повторил ту же последовательность действий - перезапись прошла успешно.
      Сейчас сложно предположить, что именно не так пошло в момент записи видео.
      В любом случае, с тех пор пример изменился - его актуальная версия описана в данном документе:
      ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Archives_v3.1.pdf

  • @Drugpa4ever
    @Drugpa4ever 10 місяців тому +1

    Здравствуйте, Евгений! Поправьте, пожалуйста, ссылки - на фтп"шнике наводили порядок...

    • @CodesysOneLove
      @CodesysOneLove  10 місяців тому

      Добрый день. Уточните, пожалуйста - в чем проблема? Сейчас проверил - ссылка из описания к видео рабочая.

  • @АндрейМатис-ш3г
    @АндрейМатис-ш3г Рік тому +1

    Отличное видео, спасибо большое, что поделились опытом!! Подскажите пожалуйста, как быть с ограничением размера строки (255 байт)? Допустим у меня структура занимает много места, и в одну строку все значения не влезут, как бы вы посоветовали решить данную проблему?

    • @CodesysOneLove
      @CodesysOneLove  Рік тому +1

      255 - это ограничение не на длину строки, а на возможности строковых функций библиотеки Standard. В вашем случае вы можете использовать функции библиотеки String Utils (видео про нее тоже есть на канале) - у них такого ограничения нет.

  • @redov_mihail
    @redov_mihail 2 місяці тому

    мудрено немного - придется разбираться🙁 А для чтения файла только этот метод подходит, есть еще варианты? ОвенАрхивер может прочитать, то что сохранил? Или мне нужно эту библиотеку использовать? И не подскажите где поискать материал как построить тренд по меткам времени и данным - где-то у Вас в комментариях видел ссылку, не найду. Хотелось бы построить график из файла - вот думаю как лучше это сделать..

    • @CodesysOneLove
      @CodesysOneLove  2 місяці тому

      1. Варианты могут быть разными в зависимости от конкретной задачи. Типовой вариант - библиотека CAA File или SysFile.
      2. ОвенАрхивер не может прочитать, то что сохранил.
      3. Возможно, речь об этом: owen.ru/forum/showthread.php?t=38366

    • @redov_mihail
      @redov_mihail 2 місяці тому

      @@CodesysOneLove Да похоже эта ссылку, спасибо, посмотрю подробно. Как конкретно буду делать пока не решил - может Вы мне что посоветуете, если не затруднит. Мне нужно с плк200 по мере готовности скадой скачивать файл графика (неск переменных от времени) График по времени час-два (кадж 10-60сек?). Я в этом чайник - пока не понимаю как лучше - хранить файлы на фтп сервере плк или можно сразу скаде скачать с флешки или какой-то внут памяти плк? Или гнать последовательно переменные по модбас тсп? Архивом также планирую пользоваться и самим плк, строив нужный график на экране визуализ (через браузер) по необходимости.

    • @CodesysOneLove
      @CodesysOneLove  2 місяці тому

      @@redov_mihail Сложно дать какой-то совет, не зная всех нюансов ситуации (например, возможностей SCADA). Можете связаться со мной по телеграм, если хотите обсудить конкретные детали реализации: t.me/JuneSmellsLikeBlood

  • @ВиталийЯсницкий-г8и
    @ВиталийЯсницкий-г8и 3 місяці тому

    Добрый день, открыл ваш пример в CDS 3.5 sp17 patch3 не могу от компилировать ваш пример, выдают ошибку "C0521: Библиотека "visuelemtrace, 4.1.0.0 (system)" была создана в неизвестной версии компилятора "3.5.17.0". Как это исправить?

    • @CodesysOneLove
      @CodesysOneLove  3 місяці тому

      Добрый день. Напишите, пожалуйста, на support@owen.ru и подготовьте удаленный доступ по AnyDesk.

  • @ЕвгенийМорозов-е6л

    Спасибо за классное полезное видео. Вопрос. Как сделать так, чтобы то, что сохраняется в файл, могло быть отражено в таблице визуализации полным списком, а не отдельным индексом структуры? Бьюсь, и никак не могу додуматься как это сделать.

    • @CodesysOneLove
      @CodesysOneLove  Рік тому

      Вам нужно объявить массив структур и привязать его к таблице. При записи нужно будет добавлять информацию в очередной элемент массива, увеличивая переменную-индекс.

    • @ЕвгенийМорозов-е6л
      @ЕвгенийМорозов-е6л Рік тому

      @@CodesysOneLove спасибо

    • @ЕвгенийМорозов-е6л
      @ЕвгенийМорозов-е6л Рік тому

      @@CodesysOneLove все равно так и не могу разобраться как это сделать. Помогите пожалуйста

    • @CodesysOneLove
      @CodesysOneLove  Рік тому

      @@ЕвгенийМорозов-е6л пришлите на e.kislov@owen.ru ваш контактный телефон и данные для подключения по AeroAdmin.

  • @kreal89
    @kreal89 7 місяців тому

    Почему то чтение строки архива (READ) выбивает контроллер в непонятный Exeption, если длину записи c_usiRecordSize указать больше 80. С чем это связано? С помощью отладки и точек останова опытным путем выяснил что ошибка возникает на этапе работы метода SplitStringBySeparator с sDate/sTime

    • @CodesysOneLove
      @CodesysOneLove  7 місяців тому

      У asDateTimeBuffer тип ARRAY [0..5] OF STRING - нужно это учесть при адаптации. Вероятно, стоит его заменить на ARRAY [0..5] OF STRING(c_usiRecordSize).
      Это же касается входной переменной метода SplitStringBySeparator.
      Вообще, есть более свежая версия этого примера, описанная в данном документе: ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Archives_v3.0.pdf

    • @kreal89
      @kreal89 7 місяців тому

      @@CodesysOneLove Благодарю, помогло) хоть смысл и не понял до конца))

  • @MaximAndri
    @MaximAndri Рік тому

    А как реализовать хранение в файле данных в двоичном формате?

    • @CodesysOneLove
      @CodesysOneLove  Рік тому

      Для этого достаточно в вызове ФБ WRITE передавать указатель на ваши бинарные данные.
      Вот здесь в п. 5 приводится расширенная версия примера - в т.ч. с бинарным архивом:
      ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Archives_v3.0.pdf

  • @Glukonic
    @Glukonic Рік тому

    Таким способом я могу импортировать архив из SD карты памяти на USB ? сделал архивацию на SD карту памяти SPK107 (1xx) пока не назначит старт автоматический через переключатель, но теперь нужно реализовать что-бы могли подойти с флешкой вставить передать данные желательно выбрав период и нажать скачать, буду думать как это реализовать.

    • @CodesysOneLove
      @CodesysOneLove  Рік тому

      да, можно сделать и такую реализацию.

    • @Glukonic
      @Glukonic Рік тому

      @@CodesysOneLove жаль что пример не на ST было бы приятнее.

    • @CodesysOneLove
      @CodesysOneLove  Рік тому

      @@Glukonic пример как раз на ST...

    • @Glukonic
      @Glukonic Рік тому

      @@CodesysOneLove спасибо, а то я смотрю на видео модули на CFC показаны, тогда надо глянуть.