September 21, 2015

Питание компактных контроллеров и модулей расширения

Большинство компактных устройств, модули расширения или компактные контроллеры CX, получают электропитание из двух источников. Хотя это и доставляет небольшую проблему при монтаже, но существует вполне объективная причина зачем так сделано.

Модули расширения EtherCAT (EL, ES, EK) получают питание от шины EtherCAT (5 вольт от двух контактов шины, оставшиеся четыре — передача данных) и 24 вольта через два контакта ближе к лицевой стороне (отмечены кругами на рисунке ниже).

 

Шина обеспечивает питание "мозгов" модуля, его внутренней логики, μC-контроллера. Дополнительные контакты питают внешний интерфейс (на картинке выше, это дискретные выхода модуля EL1809). Такое разделение необходимо для того, чтобы отделить "силовое" питания от "логического", что является обычной практикой и позволяет одновременно получать диагностику и сохранять работоспособность модуля независимо от состояния внешнего интерфейса (короткие замыкания, обрывы и пр. неполадки).

В случае с компактными контроллерами CX, контакты 24V и 0V (см. выше зеленая стрелка) обеспечивают питание непосредственно контроллера и его периферии (в том числе и EtherCAT-шины), а контакты ++ и --  (см. выше желтая стрелка) обеспечивают дополнительное питание внешнего интерфейса модулей расширения (24В на дополнительных контактах, отмеченных кругами). Такое разделение позволяет сохранять питание контроллер в случае если у него отвалилась периферия или обеспечить более мощное питание для шины за счет подключения отдельного мощного блока питания, или переводить систему в режим пониженного энергопотребления, отключением энергоемких модулей расширения. Можно придумать что-нибудь еще, но чаще ставят перемычки и "питают" контроллер от единого БП.

Что произойдет если на контроллере не запитывать контакты ++ и --, будут ли работать модули расширения? Будут, но неполноценно: модули будут присутствовать на шине, продолжат передавать информацию по шине, но не будут реагировать или выдавать что-либо на свой внешний интерфейс. Иначе говоря, модули будут выдавать диагностику, но не будут работать с внешним интерфейсом, они замкнуться в своем компактном логическом мире. Еще проще на примере дискретных входов/выходов: контроллер будет считать модуль расширения работоспособным, модуль будет находится в рабочем режиме (OP), но дискретные входа/выхода будут всегда неактивны при любых внутренних и внешних условиях.


Нагрузочная способность шины


Стандартно блоки питания CX-контроллеров выделяют на шину 2А тока. При подготовке новой конфигурации существует хороший способ проверить хватит ли этого для новой конфигурации.



Упрощенно, в таблице выше поле "E-Bus (mA)" показывает сколько "тока" остается на шине после этого модуля. Число может уйти в минус, если достигнут предел нагрузочной способности шины. В таком случае необходимо подпитать шину, освежить ее. Для этого служат модули EL94x0 (EL9410 — с диагностикой).



На самом деле никто ток на шине не измеряет. Значение потребления тока берется из "справочника", который устанавливается вместе с TwinCAT. Это максимально возможный ток потребления, который измеряется в лаборатории при разработке и тестировании нового оборудования.

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;
  • точки повторной обработки;
  • квоты;
  • жесткие связи;
  • нежесткая блокировка;
  • шифрование файлов;
  • поддержка множественных оверлеев;
  • поддержка дисковых оверлеев;
  • фиксация и выключение в режиме реального времени.
На разных томах можно одновременно использовать два разных фильтра. На одном томе можно использовать только один из фильтров или выключить фильтры совсем.
В случае с жестким диском, фильтр помогает сохранять целостность информации при внезапных отключениях ПЛК. Дернули рубильник, затем повторно включили и получили то же самое, что было до отключения: все изменения пропали, никаких ошибок записи или не оконченных операций с жестким диском не осталось.