Приветствую всех!
Появился вопрос такого плана. В памяти ПЛК-150 ежедневно создается файл с протоколом работы системы. Имена файлов уникальные. Вопрос: каким образом программными средствами получить имена всех файлов в Flash-памяти ПЛК?
Приветствую всех!
Появился вопрос такого плана. В памяти ПЛК-150 ежедневно создается файл с протоколом работы системы. Имена файлов уникальные. Вопрос: каким образом программными средствами получить имена всех файлов в Flash-памяти ПЛК?
К сожалению, пока библиотека SysLibDir не поддерживается. В будущих прошивках мы её поддержим.
Сейчас рекомендую, т.к. имена известны - путем последовательных попыток открытия файлов на !чтение! определить какие файлы есть.
Также при создании файлов в отд. файл можно вносить список созданых файлов.
Появилась ли поддержка SysLibDir? Или есть аналоги?
Или вопрос по другому:
Есть ли информация об устройстве памяти ПЛК? Может можно считать область памяти отвечающую за хранение файлов (имена, адреса и пр. инфа) и разобрать ее? (написать свой Dir)
Последний раз редактировалось Smith2007; 28.09.2013 в 12:58.
Вы не сможете получить список файлов. Но т.к. кроме вас файлы на ПЛК никто не записывает, то вы можете сами поддерживать такой список в отдельном файле, имя которого зашито в программу. Лучше расскажите, зачем вам это — опишите задачу.
Имеется ряд контролируемых параметров. В случае выхода параметра за пределы
нормы - генерируется текст с описанием события. Необходимо сохранять лог таких сообщений
для возможности последующего анализа. Сохранить в файл текст я научился.
Но на ПЛК память не резиновая и нужно следить следить, чтобы архив (архивные файлы)
не превысили разумный объем. При превышении необходимо скинуть архив на
внешний ресурс и удалить самые старые файлы. В качестве внешнего ресурса
думаю можно использовать фтп сервер или свой самописный сервис
Слушающий определенный порт. В случае неудачного сброса архива на ресурс повторять попытки.
Если объем занимаемого архива станет равным критическому то удалять
старые файлы без сброса архива.
Примерно так.
А какой функцией можно удалить первую строку? Или при каждом обращении считывать весь файл в память, а затем записывать начиная со второй? А если в файле будет 1000 строк? Как это отразиться на ресурсах ПЛК?