September 3, 2015

Фильтры записи FBWF и EWF

В компактных контроллерах серии CX, в качестве жесткого диска используется флэш-память, у которой есть ограничение на количество перезаписей: 100 000 раз записал и всё. Дальше возможны неприятности и потери.

А еще есть такая операционная система Windows Embedded XP и даже Windows Embedded Standart 7. Они круче чем компактные версии CE, т. к. по сути это те же самые "настольные" операционки. Компьютеры, на которых они установлены, выключаются через меню "Пуск", иначе возможны коллизии интересов: пользователь хочет дернуть рубильник и пойти домой, а операционная система хочет культурного общения и дополнительного времени на выключение (что-то она там себе сохраняет и возможно, даже, что-то важное).

Все это как бы и не имеет отношения к TwinCAT: в первом случае можно записывать пореже, а во втором выключать аккуратнее или бить оператора по рукам, но и тут о нас позаботилась.

На старших контроллерах CX, с установленными операционными системами типа Standart, существует фильтр записи на диск, а иногда даже два:
  • FBWF (File-Based Write Filter) -- действует на уровне файлов.
  • EWF (Enhanced Write Filter) -- действует на уровне секторов, т. е. на уровне более низком, чем файловый.
Эти два фильтра установлены на каждом контроллере с операционной системой Windows Embedded Standart 7. И как я подозреваю, будут встраиваться в следующие операционные системы.
При включенном фильтре (одном из) операционная система думает, что запись идет на диск. Тем временем запись идет в оперативную память, файлы на диске остаются нетронутыми, а операционной системе каждый раз подсовываются файлы из оперативной памяти. После перезагрузки все файлы как бы возвращаются к своему изначальному состоянию, ведь на самом деле они и не изменялись, а изменялись их копии в оперативной памяти.
Об этом стоит помнить. Если вам нужно обновить информацию на контроллере, а фильтр включен (нужно проверить), то сначала выключите фильтр, перезагрузьте контроллер и только затем обновляйте. По окончании, не забудьте включить фильтр обратно. Ресурс флэш-диска не бесконечный.

Какой из фильтров использовать и почему их два?


Для решения проблем изложенных выше, рекомендуется использовать FBWF (он вообще рекомендуется к использованию). Для тонкой настройки и специфических вещей пригодится EWF.

Основная причина использовать FBWF, это возможность установить (или снять) ограничение на конкретные файлы, а лучше на специально выделенные каталоги. Например, каталог TwinCAT\Boot автоматически вносится в исключительный список и всегда доступен для записи:

Изображение: Beckhoff Automation


Если все-таки любопытно, то фильтром EWF поддерживаются следующие функции NTFS и не поддерживаются фильтром FBWF:
  • блокировка и разблокирование файлов;
  • идентификаторы файлов в NTFS;
  • точки повторной обработки;
  • квоты;
  • жесткие связи;
  • нежесткая блокировка;
  • шифрование файлов;
  • поддержка множественных оверлеев;
  • поддержка дисковых оверлеев;
  • фиксация и выключение в режиме реального времени.
На разных томах можно одновременно использовать два разных фильтра. На одном томе можно использовать только один из фильтров или выключить фильтры совсем.
В случае с жестким диском, фильтр помогает сохранять целостность информации при внезапных отключениях ПЛК. Дернули рубильник, затем повторно включили и получили то же самое, что было до отключения: все изменения пропали, никаких ошибок записи или не оконченных операций с жестким диском не осталось.

No comments

Post a Comment

Note: Only a member of this blog may post a comment.