Комплексная автоматизация на платформе Windows Embedded

Журнал Rational Enterprise Management

№ 2/2012

Задачи автоматизации, от промышленности до торговли, часто сводятся к созданию одного или нескольких устройств, осуществляющих сбор, обработку, хранение, передачу данных и взаимодействие с пользователем или оператором в рамках специфических технических ограничений (условия рабочей среды, объем энергопотребления, физические габариты, надежность и безопасность, дополнительные отраслевые требования и др.). Выбор ОС для автоматизации – многокритериальная задача, при решении которой разработчикам приходится учитывать как технические, так и экономические факторы. Ключевые технические характеристики специализированной ОС – это метрики ее производительности и надежности на целевых задачах, наличие механизмов жесткого реального времени, поддержка аппаратных платформ и периферийных устройств, набор штатных компонентов, технологий и средств разработки, а также наличие API, знакомого программистам и позволяющего использовать готовое ПО с минимумом переработок. Основной экономический показатель – стоимость жизненного цикла системы, на которую влияют стоимость средств разработки, условия лицензирования, доступность ОС и средств разработки в долгосрочной перспективе.

К сожалению, универсальной встраиваемой ОС, подходящей под все требования, не существует. Именно поэтому производители интеллектуальных устройств часто используют несколько ОС в различных проектах. Если эти ОС разработаны разными производителями, то между ними вероятны существенные различия – от технических до лицензионных, что резко повышает расходы проектов из-за необходимости иметь в штате сотрудников с нужными квалификациями, а также переносить наработки из одной ОС в другую либо создавать кроссплатформенное ПО (если это технически возможно и не нарушает критериев производительности). Чем более схожи между собой встраиваемые ОС, тем проще оптимизировать работу проектной команды и сократить циклы разработки различных устройств. Технологическая платформа, позволяющая создавать широкий спектр систем автоматизации с самыми разными требованиями, разработана компанией Microsoft с 15-летним опытом в сфере встраиваемых систем. Эта платформа называется Windows Embedded и состоит из набора ОС, сочетающих возможности «настольных» версий Windows с особыми архитектурами и технологиями для специализированных устройств.

Устройства автоматизации можно разделить на три категории: интерфейсные, управляющие и информационные.

Интерфейсные устройства отображают характеристики управляемых процессов и принимают команды от оператора. Обычно в такие устройства можно установить «настольную» версию Windows, однако это неоправданно завышает требования к аппаратной платформе (а, следовательно, и ее стоимость) и обеспечивает отказоустойчивость устройства на уровне обычного ПК при существенно более высоких рисках. Более рациональное решение заключается в использовании ОС семейства Windows Embedded Standard, в котором на сегодняшний день имеется две ключевых ОС –Windows Embedded Standard 2009 (на основе Windows XP Professional SP3) и Windows Embedded Standard 7 (на основе Windows 7 SP1). Компонентная архитектура и штатные средства разработки образов ПО позволяют разработчику включать в устройство только необходимые функции из дистрибутива, что повышает отказоустойчивость устройства и в несколько раз сокращает размер образа Windows Embedded Standard по сравнению с «настольными» аналогами (типичный размер образа WES 2009 составляет 100-300 Мбайт, а WES 7 – 1-3 Гбайт). В состав ОС Windows Embedded Standard также входит комплект специализированных инструментов для встраивания (Embedded Enabling Features):

  • Enhanced Write Filter (EWF) – фильтр, откладывающий запись данных на накопители прозрачно для приложений. С его помощью можно отменять результаты нежелательных операций записи, продлевать срок службы накопителей на флеш-памяти, загружать ОС с накопителей, не поддерживающих запись, а также быстро восстанавливать состояние системы из файла гибернации;
  • File-Based Write Filter – фильтр, откладывающий запись данных на уровне файловой системы (с возможностью конфигурирования сквозной или отложенной записи для файлов и каталогов);
  • Registry Filter – фильтр операций записи в системный реестр;
  • поддержка загрузки с USB- и флеш-накопителей, а для Windows Embedded Standard 2009 также по сети (посредством PXE-загрузчика) и с CD-ROM.

Для операционных систем Windows Embedded Standard также бесплатно доступна сервисная операционная среда Windows PE, с помощью которой можно подготовить устройство к установке образа, клонировать и тиражировать один образ на множество устройств и решать другие сервисные задачи.

Штатные возможности Windows Embedded Standard поддерживают технологии для создания развитых пользовательских интерфейсов (Silverlight, Windows Media Player, Internet Explorer, а в Windows Embedded Standard 7 также multitouch, распознавание жестов и интерфейс Windows Aero), средства коммуникации (протокол RDP версии до 7.0 в WES 2009 и самой полнофункциональной версии 7.1 в WES 7, поддержка Active Directory, групповых политик и протокола IPv6 ), средства управления конфигурациями и обновлениями системного ПО и приложений (System Center Configuration Manager, System Center Operations Manager и Windows Server Update Services).

Традиционная сфера применения для ОС Windows Embedded Standard – устройства на процессорах с архитектурой x86/x64 со стандартной периферией и допустимым размером образа в несколько сотен Мбайт или несколько Гбайт. К таким устройствам относятся разнообразные точки обслуживания, видеорегистраторы, системы визуализации данных, тонкие клиенты и др. Новейшее решение на ОС Windows Embedded Standard 7 – интерактивный киоск для банковской индустрии, разработанный компанией «Кварта Технологии» (рис. 1). Этот киоск позволяет клиенту банка не только самостоятельно знакомиться с продуктами и услугами, но и консультироваться с сотрудниками банка посредством аудио- и видеосвязи. Блок анализа востребованности продуктов и услуг позволяет банку управлять их сбытом на основе численных показателей, а блок контроля качества работы с клиентами – обеспечивать необходимый уровень обслуживания. Киоск оснащен развитым пользовательским интерфейсом на основе технологии multi-touch, в ближайшем будущем будет поддерживаться Kinect. Киоск позволяет банку легко организовать точку присутствия в любом общественном месте или отделении и обеспечивает развитые информационные возможности как клиенту, так и банку. ОС Windows Embedded Standard 7 выбрана в качестве технологической платформы для киоска благодаря наличию в ней требуемых коммуникационных технологий и средств разработки развитых пользовательских интерфейсов, которые обеспечивают эффективное внедрение и применение киоска в банковской инфраструктуре.

Рис. 1. Интерактивный банковский киоск под управлением Windows Embedded Standard 7

Устройства управления содержат модуль принятия решений, подают сигналы на блок сопряжения с управляемым объектом, а также получают информацию о состоянии объекта и/или внешней среды через измерительный блок. Ключевая задача устройства управления – своевременно реагировать на внешние события, обрабатывать их и генерировать команды воздействия на объект. Появление недорогих встраиваемых процессоров позволило создавать многофункциональные устройства управления, интегрируемые со SCADA-системами и поддерживающие различные промышленные протоколы связи. Для устройств на промышленных процессорах ARM, MIPS и x86 (в том числе многоядерных) с особыми требованиями по компактности образа, энергосбережению и поддержке жесткого реального времени компания Microsoft разработала семейство ОС Windows Embedded CE / Compact. В настоящее время в этом семействе наиболее распространены ОС Windows Embedded CE 6.0 и Windows Embedded Compact 7. Их архитектура и API отличаются от «настольных» Windows (планировщик с поддержкой многозадачности с вытеснением на основе приоритетов, принципы построения драйверов и методы их взаимодействия с приложениями и др.), однако базовый системный API схож с Win32, а некоторые подсистемы CE / Compact (например, системный реестр и управление оконным интерфейсом) очень близки к своим аналогам в «настольных» ОС. Кроме того, функции работы с процессами, потоками и синхронизацией межзадачного взаимодействия имеют общие черты со стандартом POSIX, хорошо знакомым специалистам по UNIX-системам. Таким образом, разработчики, независимо от своего предшествующего профессионального опыта, смогут использовать имеющиеся знания для быстрого освоения Windows Embedded CE.

Дистрибутив Windows Embedded CE / Compact состоит из компонентов, которые разработчик может по необходимости включать в образ устройства. В поставку Windows Embeddded CE также включены пакеты аппаратной поддержки (Board Support Packages, BSP) как минимум по одному для каждой поддерживаемой процессорной архитектуры, а также существенный объем исходного кода (согласно оценке компании Microsoft, для Windows Embedded Compact 7 он составляет 45% от всего кода ОС, в том числе 100% исходного кода ядра, 75% API и CRT, 75% кода ключевых системных служб и драйверов, а также примеры драйверов и BSP). Исходный код позволяет пересобирать компоненты ОС, BSP и драйверы для реализации специфических требований к устройству (например, создание собственного загрузчика или расширение штатных функций ОС), а также существенно облегчает написание, доработку, отладку и анализ системного ПО.

Штатные компоненты Windows Embedded CE / Compact обеспечивают широкие функциональные возможности, в том числе приложения (ActiveSync, просмотрщиков документов и т.д.), поддержку различных файловых систем (FAT, TFAT, exFAT, CD/DVD, файловых систем в ОЗУ, файловых систем разработчика, фильтров для реализации контроля доступа, антивирусного сканирования, шифрования и сжатия данных), поддержку коммуникационные протоколов (TCP/IP, IPSec, протоколы прикладного уровня, беспроводной и сотовой связи и др.), средства разработки пользовательских интерфейсов (Silverlight и Internet Explorer в версиях, оптимизированных для встраиваемых систем, инструментальный комплект Windows Embedded Silverlight Tools, поддержка multitouch и распознавания жестов).

Средства разработки для Windows Embedded CE 6.0 и Compact 7 представляют собой модуль Platform Builder, подключаемый к среде Visual Studio 2005 и 2008 соответственно (поставляется вместе с Platform Builder), что обеспечивает разработчикам знакомый и удобный интерфейс для написания и отладки ПО. Platform Builder содержит набор инструментов для разработки образов устройств и взаимодействия с целевыми системами (отладка, запуск программ, сбор событий в удаленном режиме, просмотр и модификация файлов, системного реестра и т.п.).

Потенциал Windows Embedded CE / Compact в качестве платформы для многофункциональных устройств с гарантированной и быстрой реакцией в полной мере реализуется компанией Beckhoff в ее линейке систем и устройств для промышленной автоматизации. Одна из новейших разработок в этой линейке - система обнаружения шаблонов печати на основе Windows Embedded Compact 7 (рис. 2). В современных печатных машинах скорость подачи бумаги составляет более 10 м/с, при этом размер печатаемого пикселя в разрешении 200 dpi должен быть меньше 0,1 мм. В таких условиях перед системой управления печатью стоит задача управлять более чем 100 000 точками в секунду. Чтобы определить на бумаге позиции для печати различных цветов, требуется распознать специальные шаблоны печати, при этом распознавание шаблона и печать должны происходить за очень ограниченный промежуток времени в несколько микросекунд. Наблюдение за шаблонами реализовано с использованием стробоскопа, который создает изображения быстро вращающего печатного колеса с помощью ярких световых вспышек с высокой периодичностью.

Рис. 2. Система обнаружения шаблонов печати под управлением Windows Embedded Compact 7

Система обнаружения шаблонов печати основана на решении Beckhoff под названием XFC (eXtreme Fast Control, сверхбыстрое управление) на базе панельного компьютера с процессором Intel Core Duo 2,0 ГГц, ОЗУ объемом 2 Гб и ОС Windows Embedded Compact 7. Поддержка многоядерных процессоров в Compact 7 позволяет выполнять критические по времени задачи на одном ядре ЦП, в то время как на втором ядре работает графический пользовательский интерфейс на основе технологии Silverlight for Embedded. Пользовательский интерфейс не влияет на реальное время, а контроль печатной машины с периодом 100 мкс не создает проблем во взаимодействии системы с пользователем (например, путем блокирования пользовательского интерфейса). Технология Silverlight for Embedded позволяет использовать богатые визуальные возможности Silverlight для отрисовки интерфейса, а программную часть дает возможность реализовывать на «родном» коде Windows Embedded, используя архитектурные преимущества ОС.

Информационные устройства решают задачи обработки, хранения данных и обеспечения доступа к ним, в том числе для интерфейсных устройств. Если информационному устройству необходимы передовые возможности по надежности хранения и защиты данных, интеграции с корпоративными информационными системами, то его можно реализовать на серверных продуктах компании Microsoft. Для разработки встраиваемых систем на основе серверных ОС в линейке Windows Embedded имеются аналоги почти всех серверных ОС общего назначения. Технически эти аналоги идентичны, различия заключаются лишь в условиях лицензирования и более низкой стоимость встраиваемых серверных продуктов. Разработчик встраиваемой системы декларирует ее функциональное назначение и не может вывести систему за его пределы, например, на сервере баз данных SCADA-системы нельзя запустить сервис публикации web-сайта, поскольку он не требуется для обеспечения функционирования SCADA. Аналогичные требования применяются и к другим ОС Windows Embedded, что подчеркивает их ключевое назначение – построение специализированных устройств.

Фундамент успеха компании-разработчика на динамичном современном рынке систем автоматизации – короткий цикл разработки устройств с минимальными издержками. Этот фундамент можно создать с помощью технологической базы, обеспечивающей максимальный эффект от использования существующих наработок и навыков специалистов. Платформа Windows Embedded представляет собой набор ОС с разными характеристиками и сферами применения, но общей основой в виде развитых технологий «настольных» версий Windows. Для минимизации рисков, связанных с доступностью технологий в долгосрочной перспективе, компания Microsoft предоставляет производителям интеллектуальных устройств 15-летнюю гарантию доступности всех ОС Windows Embedded. Технологии Windows Embedded могут использоваться во всех классах устройств автоматизации: для интерфейсных устройств наиболее богатые возможности предоставляют ОС Windows Embedded Standard, для устройств управления - Windows Embedded CE / Compact, а для систем хранения и обработки данных –Windows Embedded Server. Комплексный подход к решению задач разработки специализированных устройств, реализуемый Microsoft на протяжении более 15 лет, открывает перед производителями систем автоматизации возможность комплексно выстраивать процессы разработки устройств в долгосрочной перспективе, получая максимальный эффект как от передовых технологий Microsoft, так и от собственных наработок.

Полный текст статьи

Александр Кузнецов, Руководитель направления образовательных проектов

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

alexanderk@quarta.com

Журнал Rational Enterprise Management

№ 2/2012