PDA

Просмотр полной версии : Файловая система ПЛК



korzhyk
08.09.2008, 11:31
Для работы с файловой системой ПЛК поставляется две библиотеки (SysLibFile и SysLibFileAsync) с одинаковыми функциями. Чем отличаются синхронные операции от асинхронных и какую библиотеку надо использовать, если необходимо считывать информацию из файла через определенные промежутки времени?

Малышев Олег
08.09.2008, 16:45
1) Поддерживается только SysLibFile
2) Рекомендации по использованию
Нельзя открыть больше 5 файлов одновременно
Не используйте файлы больше 32 кб - работать будет, но торможение будет сильным.

Филоненко Владислав
08.09.2008, 17:45
Поправка, открытие и перемещение по большому файлу несколько медленнее. Но если открыть файл и закрывать только при необходимости - проблем не будет.

korzhyk
09.09.2008, 09:52
Т.е. закрытие файла тормозит выполнение программы?

Филоненко Владислав
09.09.2008, 13:14
Открытие, а не закрытие

Mikewolf
10.09.2008, 16:16
А если при открытом файле выключилось питание? 4то будет с вновь записанными данными?

Филоненко Владислав
10.09.2008, 22:41
Запись идет в кеш, из него в фоновом режиме происходит запись в реальную Flash. У ПЛК аккумулятор держит 10 мин. Но даже в самом критическом случае на запись данных из кэша записи (~35 Кбайт) уйдет 1-1,2 сек. макс. т.е. запись всегда состоится.
Возможный случай пропадания данных - записать и нажать на резет/вызвать зависание (например беск. цикл) в программе ПЛК.
Но файловая система журналируемая и при загрузке попытается восстановить целостность.