Просмотр полной версии : создание и работа с пользовательскими файлами в ПЛК210
здравствуйте.
можно ли создавать/записывать/дописывать/стирать/удалять и вставлять куски посерёдке/ пользовательских файлов, которые я хочу чтобы образовались вследствие работы пользовательской программы в контроллере.
Надо ли для этого в него устанавливать SD или флешку?
Нужен ли какой-то пароль, потому что при присоединении через WinSCP - нужен.
Ещё в Codesys я файлов не вижу (от ОС, которые уже есть), а через SysFileOpen - да, это нормально?
Какой библиотекой нужно пользоваться - хотелось бы, чтобы можно было применять где-то помимо Овена?
На данный момент в процедурами типа SysDir не получается.
Есть ли какое-то описание этого процесса? Потому что для 110 точно есть.
Спасибо.
Николай Суриков
15.09.2023, 10:25
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Archives_v3.0.pdf
Евгений Кислов
15.09.2023, 10:26
Добрый день.
можно ли создавать/записывать/дописывать/стирать/удалять и вставлять куски посерёдке/ пользовательских файлов, которые я хочу чтобы образовались вследствие работы пользовательской программы в контроллере.
Да.
Нужен ли какой-то пароль, потому что при присоединении через WinSCP - нужен.
Для выполнения описанных выше операций в коде приложения - нет.
Ещё в Codesys я файлов не вижу (от ОС, которые уже есть), а через SysFileOpen - да, это нормально?
Да.
Какой библиотекой нужно пользоваться - хотелось бы, чтобы можно было применять где-то помимо Овена?
CAA File
Есть ли какое-то описание этого процесса?
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Archives_v3.0.pdf
МихаилГл
15.09.2023, 10:27
Можно, только это уже не работа в системе реального времени, а работа в среде Linux, как я понимаю...
Во вложении можно посмотреть кое что, бралось с примеров на сайте и резалось, по крайней мере логически можно понять что к чему. Для полного понимания придется скачивать пример работы с файлами с сайта.
Добрый день.
CAA File
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Archives_v3.0.pdf
Здравствуйте. Оно работает, но есть ещё SysDir и SysFile. С ними тоже получается, и они изображают типа синхронную работу (то есть, в функциях нет выхода "готово", они притворяются, что успевают создать/написать/стереть за один проход, что, конечно же, неправда) и они, с одной стороны - функции и вроде как менее громоздкие, чем ФБ из CAA, а с другой - длительные процессы гороздо приятнее контролировать, когда есть явное сообщение о готовности, воизбежание, хотя бы добавления одного текста посередине другого. Или я преувеличиваю возможность таких накладок?
Евгений Кислов
18.09.2023, 13:32
Здравствуйте. Оно работает, но есть ещё SysDir и SysFile. С ними тоже получается, и они изображают типа синхронную работу (то есть, в функциях нет выхода "готово", они притворяются, что успевают создать/написать/стереть за один проход, что, конечно же, неправда) и они, с одной стороны - функции и вроде как менее громоздкие, чем ФБ из CAA, а с другой - длительные процессы гороздо приятнее контролировать, когда есть явное сообщение о готовности, воизбежание, хотя бы добавления одного текста посередине другого. Или я преувеличиваю возможность таких накладок?
Добрый день.
Не очень понял, какие именно накладки вы имеете в виду.
например, когда две задачи должны писать в один и тот же файл, и надо избежать одновременности.
Короче, я нашёл, что CAA File это не само по себе, а надстройка над SysDir и SysFile, для удобства и соответствия ИЕК...
Евгений Кислов
19.09.2023, 09:10
например, когда две задачи должны писать в один и тот же файл, и надо избежать одновременности.
Может, лучше избежать ситуации, когда доступ к одному ресурсу одновременно осуществляется из разных задач?..
да, для этого и нужен явный признак готовности.
Всё же не получается кое-что с библиотекой. Не работает DirOpen, если его запустить после создания каталога. В любом случае выдаёт ошибку 5110, не важно, как пишется путь к каталогу. (Попробовал все варианты написания пути вот отсюда https://content.helpme-codesys.com/en/libs/CAA%20File/Current/index.html
)
Программу составлял и по своему разумению и по вот этому https://content.helpme-codesys.com/en/libs/CAA%20File/Current/Examples.html образцу.
от уважаемого МихаилГл пока не пробовал, там надо многое отрезать, потому что многих библиотек у меня нет.
Внутри созданного каталога могу создавать каталоги, но удалять получается только в строго обратной созданию последовательности.
В виртуальном контроллере R500 от Прософта точно такое же исполенение работает.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot