PDA

Просмотр полной версии : создание и работа с пользовательскими файлами в ПЛК210



chm
15.09.2023, 10:06
здравствуйте.
можно ли создавать/записывать/дописывать/стирать/удалять и вставлять куски посерёдке/ пользовательских файлов, которые я хочу чтобы образовались вследствие работы пользовательской программы в контроллере.
Надо ли для этого в него устанавливать 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, как я понимаю...
Во вложении можно посмотреть кое что, бралось с примеров на сайте и резалось, по крайней мере логически можно понять что к чему. Для полного понимания придется скачивать пример работы с файлами с сайта.

chm
18.09.2023, 13:24
Добрый день.


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, а с другой - длительные процессы гороздо приятнее контролировать, когда есть явное сообщение о готовности, воизбежание, хотя бы добавления одного текста посередине другого. Или я преувеличиваю возможность таких накладок?

Добрый день.
Не очень понял, какие именно накладки вы имеете в виду.

chm
19.09.2023, 09:06
например, когда две задачи должны писать в один и тот же файл, и надо избежать одновременности.

Короче, я нашёл, что CAA File это не само по себе, а надстройка над SysDir и SysFile, для удобства и соответствия ИЕК...

Евгений Кислов
19.09.2023, 09:10
например, когда две задачи должны писать в один и тот же файл, и надо избежать одновременности.

Может, лучше избежать ситуации, когда доступ к одному ресурсу одновременно осуществляется из разных задач?..

chm
19.09.2023, 13:16
да, для этого и нужен явный признак готовности.

Всё же не получается кое-что с библиотекой. Не работает 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 от Прософта точно такое же исполенение работает.