Применение Windows Embedded при разработке систем автоматизации

Павел Белевский

Журнал Точка опоры

№ 15 (140)

Введение

При решении задач автоматизации технологических процессов востребован широкий спектр устройств начиная от простейших контроллеров и заканчивая SCADA-системами, где задействован целый комплекс устройств различной сложности. И чем сложнее процесс, больше параметров, которые необходимо отслеживать, более технологично оборудование, тем более востребованным становится использование таких систем. Все множество устройств используемых в автоматизации можно разделить на следующие категории: устройства опроса и управления оборудованием, инфраструктура для сбора и обработки данных и интерфейсные устройства для наглядного представления выполнения отдельной операции или процесса в целом. Поскольку практически все современные устройства, начиная с блока управления оборудованием и заканчивая сервером баз данных, обладают мощной вычислительной базой, то вполне остро встает вопрос выбора операционной системы. ОС в данном случае является тем важным звеном, которое позволяет быстро разворачивать некий базовый функционал, необходимый для работы специализированных приложений, таких как, например, компоненты SCADA-систем, на широком спектре коммерческого оборудования и без каких-либо серьезных ограничений. Что в свою очередь означает снижение затрат на разработку, внедрение и, особенно, обслуживание, по сравнению со случаем использования узкоспециализированного оборудования. В данной статье рассматриваются сценарии применения линейки встраиваемых ОС Windows Embedded, специализированных ОС компании Microsoft для устройств, при разработке перечисленных классов устройств, а также возможностях и отличительных особенностях данных ОС, которые могут быть востребованы при решении современных задач автоматизации.

Интерфейсные устройства

Интерфейсные устройства предоставляют некоторый человеко-машинный интерфейс (HMI) для оператора. Фактически такой интерфейс представляет собой запущенное на устройстве приложение, которое в свою очередь может являться клиентской частью SCADA-системы. Не секрет, что наиболее популярной платформой для разработки приложений, в том числе это касается и SCADA-систем, является Microsoft Windows. Таким образом, интерфейсные устройства строятся обычно на базе настольных ОС компании Microsoft. В ряде случаев такое решение будет неоправданным расточительством, а в других может поставить под угрозу безопасность и надежность устройства и всей системы в целом. Собственно в целях расширения возможностей классических ОС Windows и повышения их производительности и надежности компанией Microsoft были выпущены специальные встраиваемые версии. На текущий момент это линейка ОС Windows Embedded Standard, состоящая из 2 ключевых продуктов: Windows Embedded Standard 2009 и Windows Embedded Standard 7. Первая из них является компонентной версией Windows XP Professional SP3, вторая – Windows 7 SP1. Благодаря компетентности данных систем разработчик устройства, в нашем конкретном случае интерфейсного устройства оператора технологического процесса, может выбрать только тот функционал ОС, который необходим для выполнения поставленных задач, и тем самым сразу уменьшить количество потенциальных уязвимых мест. А следуя принципу «меньше функций - меньше используемых ресурсов», повысить производительности и надежность устройства. Несмотря на то, что данные ОС являются компонентными, они полностью совместимы с настольными аналогами, что позволяет использовать все доступные драйвера и приложения. Кроме этого есть целый набор вспомогательных средств для встраивания в устройства, таких как загрузка с USB, фильтры защиты от записи и подавления нежелательных сообщений, замена оболочки. В комплексе данные средства позволяют создавать законченные интерфейсные устройства, в которых можно будет полностью исключить движущиеся части за счет использования недорогих USB-носителей, обеспечить дополнительную отказоустойчивость и надежность при помощи фильтров защиты от записи и запуск устройства сразу в собственную оболочку, что также повышает надежность устройства, делая его закрытым от несанкционированного доступа через служебные функции ОС.

Если же проблема безопасности и отказоустойчивости стоит особенно остро, то здесь будет востребовано совместное использование встраиваемых ОС с последними достижениями в области виртуализации и новой версии протокола удаленного рабочего стола RDP 7.1. При использовании данных средств интерфейсные устройства представляют собой терминальные станции для доступа к терминальному серверу, на котором запускается сессия для работы со специализированным приложением и, возможно, выполнения каких-либо вспомогательных действий. Таким образом, за счет того, что оператор фактически работает в защищенной сессии на сервере, повышается безопасность, поскольку гораздо проще обеспечить безопасность сервера или пула серверов, чем большого количества отдельных клиентских систем, имеющих прямой доступ к инфраструктуре предприятия. При использовании данного подхода также повышается отказоустойчивость, так как в случае отказа отдельного интерфейсного устройства достаточно заново подключиться с любого другого устройства к запущенной ранее на сервере сессии без потери данных. Дополнительным преимуществом использования терминальных станций в качестве интерфейсных устройств является возможность существенного снижения требований к аппаратной части таких устройств, наращивание мощности при необходимости производится исключительно на стороне сервера. При использовании последней версии RDP-протокола, RDP 7.1, с поддержкой ускорения графики на стороне сервера и доступа к локальной USB-периферии непосредственно из сессии удаленного рабочего стола, возможности создаваемых интерфейсных устройств практически не уступают возможностях обычных систем. Поддержка протокола RDP7.1 реализована в Windows Embedded Standard 7 SP1 и в последней версии компактной ОС Windows Embedded Compact 7. Для запуска терминальной сессии вторая из перечисленных ОС является, пожалуй, наиболее интересным решением, поскольку предъявляет крайне низкие требования к аппаратной части разрабатываемого устройства и не ограничивает выбор лишь x86-архитектурой – это также может процессор ARM или MIPS. В результате устройство становится компактным, потребляющим чрезвычайно мало электроэнергии и при этом не требующее активной системы охлаждения, а значит, его можно встроить практически куда угодно: в монитор, в стол или стену.

Устройства опроса и управления оборудованием

Или, как их еще иногда называют, оконечные устройства подключены непосредственно к оборудованию, выполняют сбор и передачу данных о состоянии отдельного узла в общей цепочке контролируемого процесса, а также осуществляют управление данным узлом в соответствии с заложенным алгоритмом и, возможно, дополнительной информацией от систем более высокого уровня, к которым, например, относятся SCADA-системы. На практике зачастую невозможно обеспечить удаленное управление критическими узлами с требуемой задержкой. В соответствие с этим оконечные устройства должны обеспечивать управление подконтрольными узлами, в том числе и в автономном режиме, когда отсутствует связь с центром управления. Также на оконечные устройства накладываются определенные требования по работе в режиме реального времени, с тем, чтобы обеспечить безотказное функционирование оборудования. На заре эры автоматизации оконечные устройства содержали достаточно простые микроконтроллеры, что не в последнюю очередь было обусловлено уровнем развития микропроцессорной индустрии на тот момент времени. Разработка таких устройств являлась достаточно затратным занятием, поскольку требовались дорогостоящие специализированные средства разработки и тестирования. Свойственное тому времени использование проприетарных протоколов для соединения с централизованными системами мониторинга и управления отрицательно сказывалось на совместимости устройств различных производителей и их поддержке со стороны подобных систем. Сейчас ситуация сильно изменилась благодаря широкому распространению недорогих производительных 32-х разрядных микропроцессоров и использованию операционных систем, что позволяет быстро разрабатывать многофункциональные универсальные оконечные устройства. Одними из таких систем являются встраиваемые ОС семейства Windows Embedded Compact, ключевой особенностью которых, помимо мультиплатформенности и компактности, является поддержка работы в режиме жесткого реального времени – неотъемлемое требование по управлению оборудованием в любом современном технологическом процессе. Богатый функционал данных компактных ОС, который практически не уступает по возможностям функционалу настольных систем, предоставляет широкие возможности для создания устройств любой сложности. Если говорить о состыковке оконечных устройств со SCADA-системами, то наиболее популярным на данный момент является интерфейс OPC DA. В Windows Embedded CE 6.0 есть компоненты удаленного DCOM, которые необходимы для реализации данного интерфейса, что позволяет на ее базе разрабатывать OPC-сервера совместимые со всеми популярными SCADA-системами. В ОС семейства Windows Embedded Compact также есть все необходимые средства для реализации универсального интерфейса основанного на XML, OPC UA. Если в устройстве требуется поддержка промышленных протоколов связи, например, протокола Modbus, то есть достаточно широкий выбор готовых драйверов сторонних фирм, что способствует быстрому внедрению данных протоколов в устройстве.

Серверная инфраструктура и лицензирование

Последняя категория устройств, которая, как правило, входит в большинство современных систем управления – это сервера сбора данных, их последующей обработки и хранения, а также предоставления информации для интерфейсных устройств. Здесь, как и в случае, с интерфейсными устройствами востребованы ОС общего назначения и если в качестве кандидатов рассматриваются серверные продукты компании Microsoft, то имеет смысл также принять во внимание и встраиваемые версии. В линейке Windows Embedded доступны практически все системы, которые есть в стане классических серверных ОС. Функционал встраиваемых серверных ОС, за исключением нескольких специализированных продуктов, полностью идентичен функционалу соответствующих классических продуктов, а отличают их в основном условия лицензирования. Суть этих условий заключается в том, что встраиваемые ОС не могут быть использованы для построения универсальных систем, не имеющих четкой функциональной направленности. Например, их можно использовать для развертывания сервера баз данных SCADA, но нельзя на этом же сервере запускать такие, не имеющие отношение к SCADA сервисы, как публикация Web-сайта компании. Справедливо заметить, что подобные требования накладываются на все ОС Windows Embedded, тем самым подчеркивая их целевое назначение - построение устройств.

Резюме

Ключевыми преимуществами встраиваемых ОС Windows Embedded при разработке устройств и систем автоматизации являются общность подходов к разработке приложений, наличие специальных средств для встраивания в устройства и гибкой политике лицензирования. Windows Embedded Standard – это полная совместимость с настольными ОС со специальными возможностями для встраивания. Для компактных устройств с требованием работы в режиме реального времени и расширенной поддержкой коммуникаций - Windows Embedded Compact. И, наконец, в решениях, где востребованы серверные технологии компании Microsoft – линейка серверных ОС Windows Embedded Server.

П.В. Белевский, ведущий специалист отдела исследований и разработок,

Департамент встраиваемых систем,

ООО «Кварта Технологии», г. Москва,

pavelb@quarta.ru

Журнал Точка опоры

№ 15 (140)


Подписка на новости