Меню

Встроенные системы системы реального времени для новых поколений

Встроенные системы: системы реального времени для новых поколений

Встроенные системы реального времени сегодня далеко не те, что были раньше. Появились новые возможности по защите данных и взаимодействию с внешним миром.

Встроенные операционные системы реального времени (ОСРВ) поддерживают работу самолетов, поездов, автомобилей, а также заводского оборудования. В основе их работы лежит четкий детерминизм: гарантия того, что в нужное время или при возникновении определенного события система среагирует на него.

Но сегодня этого недостаточно. Большую роль играют безопасность, надежность и качество передачи информации. Например, рассмотрим опыт поставщика систем промышленного управления Siemens Energy and Automation (SEA), город Норкросс (Norcross), Джорджия. Компании потребовалось установить компьютер в заводском цеху. Как рассказал Эрик Кацзор (Eric Kaczor), менеджер по маркетингу инженерного программного обеспечения SEA, группа быстро определила, что стандартный офисный ПК для поставленной цели не подходит. Чтобы избавиться от сбоев и других неполадок, было решено воспользоваться ОСРВ.

Однако на выбор ОСРВ повлияла необходимость сохранить возможность работы с офисными приложениями. „При выборе операционной системы реального времени мы искали среду, в которую можно будет встроить работу с офисными приложениями»,- говорит Кацзор.

Больше, чем ПЛК

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

SEA воспользовалась ОСРВ RTX (компании Citrix г. Волтхем (Waltham), Массачусетс), установленной на промышленном компьютере Simatic Microbox 420. ОСРВ предоставляет гораздо больше возможностей, чем это кажется на первый взгляд. „Они смотрят на компьютер и считают, что это ПЛК…, не понимая, что ОСРВ — это гораздо больше, чем ПЛК»,-говорит Кацзор.

Одна из ключевых возможностей — это возможность и средства коммуникации. Поль Чен (Paul Chen), менеджер по линии продуктов VxWorks в компании-производителе ОСРВ Wind River Systems (г.Аламеда, Калифорния) отмечает, что взаимодействие с внешним миром — это необходимое требование для современной операционной системы реального времени. Система должна поддерживать такие общепринятые интерфейсы как USB, Ethernet и беспроводную связь. Пользователям также требуется внедрение таких стандартов как Internet нового поколения (IPv6), различные варианты беспроводного протокола 802.х MIPv4 и MIPv6 для мобильных приложений и средства обеспечения безопасности: IPsec и HTTPS.

Требования производителям ОСРВ диктуют пользователи. „Если операционная система реального времени не будет обладать нужной функциональностью, пользователям придется дописывать нужные компоненты самим»,-говорит Чен.

Основная опасность в компонентах, написанных пользователем или производителем оборудования, состоит в том, что они могут повлиять на планировщик ОСРВ — основу системы, которая и определяет детерминизм ее работы. С кодом знакомы только разработчики ОСРВ, поэтому они могут добавить необходимую функциональность, не нарушая детерминизм системы.

То же самое можно сказать и о вопросах безопасности и защиты информации. Они возникают в аэрокосмических, промышленных и медицинских приложениях, которые регулируются стандартами, начинающимися 3-х буквенными аббревиатурами: FAA DO-178B, IEC 61508 и FDA 510(k).

С добавлением коммуникационных возможностей работа встроенной ОСРВ становится все более сложной, особенно в вопросах безопасности. Один из типов системы защиты используется в военных отраслях, в прошлом разные подсистемы отвечали разным уровням доступа. В настоящее время существует тенденция объединения всех уровней в одном приборе, то есть защита доступа к самой важной информации осуществляется с помощью программно-аппаратных средств.

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

В некоторые функции входит шифрование для защиты информации или поиск шаблона при обнаружении вирусов. «Специализированное оборудование обычно работает быстрее программной части, поэтому ОСРВ должна поддерживать и эффективно использовать различные аппаратные средства», — говорит Чен.

Он продолжает: «Во встроенных приложениях стали доступны многоядерные процессоры. При разделении одного процессора на несколько однородных компонентов или ядер, они могут работать с меньшей частотой, следовательно падает потребление энергии, а производительность увеличивается. Таким образом, ОСРВ становится более совершенной, но для этого программное обеспечение должно поддерживать распараллеливание выполнения задач на несколько процессоров».

Появление чипов флэш-памяти достаточной емкости позволило промышленным системам отказаться от вращающихся дисков с их низким сроком службы и перейти на твердотельные носители. Фото предоставлено Siemens Energy and Automation.

Появление чипов флэш-памяти достаточной емкости позволило промышленным системам отказаться от вращающихся дисков с их низким сроком службы и перейти на твердотельные носители. Фото предоставлено Siemens Energy and Automation.

Роберт Дей (Robert Day), вице-президент по маркетингу компании Lynuxworks (Сан-Хосе, Калифорния) отмечает, что в современных многоядерных микропроцессорах существуют выделенные области памяти, и все участки разделены, как кирпичными стенами. Этим методом можно воспользоваться и в следующей системе: одна система реального времени является управляющей, она контролирует работу основной ОСРВ, находящейся в одной области памяти, а другие приложения работают в совершенно другой области.

Ден Мендер (Dan Mender), директор по развитию компании-производителя ОСРВ Green Hills Software Inc. (Санта-Барбара, Калифорния) отмечает, что такое разделение ядра системы кроме безопасности имеет и другие достоинства. По его словам «Тот же самый принцип выделения и защиты части системы от атак можно использовать, чтобы защитить программное обеспечение от ошибок в самой программе».

Компоненты первой необходимости

ОСРВ должна не только поддерживать и пользоваться этими технологическими новшествами, но и обеспечивать средства передачи и защиты информации. Дей сразу перечислил несколько компонентов, которые абсолютно обязательны в системе реального времени. Во-первых, должен быть какой-то протокол взаимодействия приложений, чтобы какое-либо из них, запустив множество потоков, не нарушило работу остальных.

«Большинству многопоточных приложений требуется средства общения различных задач: очереди, семафоры, мьютексы. Последнее особенно необходимо для приложений, в которых нельзя допустить инверсии приоритета, т.е. недопустима ситуация, когда задача с низким приоритетом препятствует работе остальных, жизненно важных для системы функций», — говорит Дей.

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

В задачах автоматизации приложений и приборов существуют свои средства и протоколы связи. Иногда поставленные требования уже выполняются в других стандартах, например IPv4 и IPv6, и специализированный протокол не требуется. Однако они всегда полезны, а иногда даже необходимы. К таким специализированным протоколам относятся CAN (асинхронная последовательная коммуникационная шина), OPC (OLE для управления процессами), DCOM (объектная модель распределённых компонент), промышленная беспроводная локальная сеть, Profinet или другой промышленный Ethernet протокол и сетевые службы под управлением XML и SOAP (это основа набора сетевых служб, обеспечивающих базовую функциональность для обмена сообщениями, на ней основаны следующие абстрактные уровни). Также появляются новые технологии и стандарты, например, ZigBee в области беспроводной связи, все они могут входить в комплект средств ОСРВ.

У Марка Гамильтона (Mark Hamilton), разработчика в компании-производителе связующего ПО Real-Time Innovations (г. Санта-Клара, Калифорния) накоплен большой опыт по созданию и внедрению систем реального времени для информационных и военных задач. Огромный список протоколов и других функций — это, конечно, здорово, но он предупреждает, что у каждой ОСРВ есть свой предел.

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

Не удивительно, что он обратил внимание на тот факт, что ПО его компании может помочь избежать этих проблем за счет управления взаимодействием различных приложений. В частности, это позволит ОСРВ выгружать некоторые компоненты, и требования системы не превысят возможностей планировщика. Еще одно достоинство связующего программного обеспечения — существование готовых решений множества типичных задач.

«Связующее программное обеспечение гарантирует очень эффективную передачу данных между различными процессорами системы, так, что вам не нужно беспокоиться и программировать сетевое общение» — утверждает Гамильтон.

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

Чтобы удовлетворить эти требования, производители ОСРВ предпринимают серьезные шаги. Один из методов — оставить конечное решение за потребителем. Итоговая конфигурация системы определяется на стадии сборки, есть возможность добавить или удалить компоненты. Экономия ресурсов при таком подходе может быть весьма значительной.

Например, во время разработки и тестирования может потребоваться вывод контрольной информации во множестве этапов работы системы. После завершения тестирования эта информация будет лишней и, убрав ее, можно сэкономить иногда десятки процентов занимаемых ресурсов.

Разумеется, отдельные модули должны быть очень небольшими, только в этом случае итоговая система получится достаточно компактной. Еще один метод решения проблемы ограниченных ресурсов — грамотный выбор языка программирования и компилятора. Ошибка может значительно сказаться на размере приложения. В Lab VIEW компании National Instruments, например, есть возможность разработать, интегрировать и повторно использовать существующий код, а потом загрузить разработанную функциональность реального времени на различные носители.

Как показывает взаимодействие между ОСРВ и приложениями, какие бы шаги не были предприняты для удовлетворения поставленных требований, всегда потребуется создание прослойки между ОСРВ, приложением, аппаратными и программными средствами. По образному выражению Тодда Брайена (Todd Brian), менеджера по маркетингу продукции Nucleus Kernals в корпорации-разработчике автоматизированного электронного оборудования Mentor Graphics (г. Вильсонвилль, Орегон). Разработчик операционной системы реального времени не изолирован на острове. Его работа направляется всеми окружающими, это необходимо для повышения производительности любой встроенной ОСРВ. «Требуются партнеры, продукция которых будет интегрирована в ОСРВ. В этом случае им не потребуется заботиться об интеграции», — утверждает Брайен.

От такого взаимодействия выиграют и производители ОСРВ, и ее пользователи, по этому критерию можно выбирать производителя ОСРВ. «Сложность разработки приборов растет такими темпами, что недостаточно просто предоставить программное обеспечение. Оно должно быть интегрировано в систему, пользователь не должен этим заниматься», — говорит Брайен.

Источник

Введение во встроенные системы

Этот духовой шкаф TMIO ConnectIO является встроенной системой. Он может охладить продукты перед их приготовлением. Им можно удаленно управлять через Интернет или по телефону. Он использует ОС Windows Embedded CE OS. Позвоните ему по пути домой и ваша еда будет готова, когда вы будете дома. Фотография с разрешения TMIO LLC .

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

Читайте также:  Поставка электронного медицинского оборудования

Примеры встроенных систем

Робот, такой как марсоход , показанный на рисунке 1.1, является встроенной системой. Сотовый телефон, PDA , или портативный мультимедиа плеер, показанные на рисунке 1.2, являются встроенными устройствами. Даже электрическая зубная щетка, показанная на рисунке 1.2, является встроенной системой. Небольшой микроконтроллер в зубной щетке обеспечивает программируемое управление скоростью и индикацию состояния заряда батареи. Высококачественные автомобили могут содержать около ста встроенных микроконтроллеров. Типичное домовладение среднего класса имеет около пятидесяти встроенных устройств. Для каждого ПК в мире имеется более сотни встроенных устройств. В общей сложности, встроенные устройства составляют большую часть мирового производства микропроцессоров.

Роботы, такие как марсоход, являются встроенными системами. Фотография с разрешения NASA/JPL CALTECH

Как видно в таблице 1.1, встроенные устройства можно найти в разнообразных продуктах, включая самолеты и военные системы, биомедицинские системы, автомобили, коммуникацию, компьютерные устройства в/в, электронные инструменты, домашняя электроника, промышленное оборудование, офисные машины, персональные устройства, роботы, и интеллектуальные игрушки. Встроенные устройства можно найти повсюду.

Конструкторы встроенных систем часто сталкиваются со сложными проектными задачами. Встроенные системы должны быть надежными. Многие встроенные устройства не могут ломаться, и не могут быть перезагружены. Программное обеспечение невозможно обновить во многих встроенных устройствах. Многие устройства имеют жесткие конструкционные ограничения по производительности и потреблению энергии. Некоторым устройствам необходимо работать от батареи длительный период времени. Кроме того, потребительские устройства обычно очень быстро выходят на рынок с новыми продуктами и имеют жесткую ценовую конкуренцию. Во многих приложениях существуют ограничения реального времени и многие устройства имеют ограниченную память и вычислительную мощность .

Сотовые телефоны, PDA, и мультимедийные плееры, все являются встроенными системами. Даже эта электрическая зубная щетка! Фотографии с разрешения Motorola, Microsoft, и Philips Sonicare

Таблица 1.1. Примеры встроенных систем

Авиационные & Военные системы Автопилоты самолетов, авионика и навигационные системы, системы автоматической посадки, системы наведения, управление двигателем.
Биомедицинские системы Cистемы компьютерной томографии и ультразвукового исследования, мониторинг пациентов, кардиостимуляторы.
Автомобили Управление двигателем, антиблокировочные тормозные системы, противобуксовочная тормозная система, управление подушками безопасности, управление системой обогрева и кондиционирования воздуха, навигация GPS, спутниковое радио, системная диагностика.
Коммуникация Коммуникационные спутники, сетевые маршрутизаторы, коммутаторы, концентраторы.
Потребительская электроника телевизоры, духовки, посудомоечные машины, плееры DVD, стереосистемы, системы безопасности, управление поливом газонов, термостаты, фотокамеры, радиочасы, автоответчики, декодеры кабельного телевидения, другие устройства.
Устройства в/для компьютера Клавиатуры, мыши, принтеры, сканеры, дисплеи, модемы, устройства жестких дисков, устройства DVD, графические платы, устройства USB.
Электронные инструменты Системы сбора данных, осциллографы, вольтметры, генераторы сигналов, логические анализаторы .
Промышленное оборудование Управление лифтами, системы наблюдения, роботы, станки с ЧПУ, программируемые логические контроллеры, промышленные системы автоматизации и управления.
Офисные машины факс-аппараты, копиры, телефоны, калькуляторы, кассовые аппараты.
Персональные устройства сотовые телефоны, переносные плееры MP3, видео-плееры, персональные цифровые помощники (PDA), электронные наручные часы, портативные видеоигры, цифровые камеры, системы GPS.
Роботы Промышленные роботы , автономные транспортные средства, космические исследовательские роботы (например, роботы- марсоходы )
Игрушки системы видеоигр, игрушки роботы типа «Aibo», «Furby», и «Elmo».

Операционные системы реального времени

Системы реального времени должны отвечать на внешние параметры ввода и создавать новые результаты вывода за ограниченное время, как показано на рисунке 1.3. Время ответа должно быть ограничено. Очень длительное время ответа может привести к отказу систем реального времени.

Иллюстративным примером системы реального времени является контроллер автомобильной воздушной подушки безопасности. Когда датчики движения воздушной подушки ( акселерометры ) распознают столкновение, системе необходимо среагировать, раскрывая воздушную подушку в течение 10 мс, или система не сработает нужным образом. На высокой скорости с задержкой более 10 мс водитель уже столкнется с рулевым колесом до того, как раскроется подушка.

В мягкой системе реального времени приоритет имеют критически важные задачи. Мягкая система реального времени обычно удовлетворяет ограничениям отклика реального времени. Примером типичной мягкой системы реального времени является плеер мультимедиа . Плеер может иногда пропустить видео кадр или аудио сэмпл, и пользователь может это даже не заметить, пока плеер правильно работает большую часть времени.

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

Процедуры обмена страниц виртуальной памяти и сборки мусора, необходимые объектно-ориентированным языкам, могут вызывать проблемы в жестких системах реального времени. Даже кэширование является иногда проблемой, так как может приводить к изменению времени выполнения программы.

Многие встроенные системы являются системами реального времени с несколькими входами и выходами. Несколько событий происходят независимо друг от друга. Программирование упрощается при разделении задач, но это требует от ЦП постоянного переключения между различными задачами. Операционная система , которая поддерживает мультизадачность, обеспечивает разделение времени ЦП между несколькими задачами. ОС обеспечивает также элементы синхронизации, необходимые для координации действий между различными задачами, выполняющимися параллельно.

Операционные системы часто классифицируют по их характеристикам реального времени. Операционная система реального времени должна быть тщательно спроектирована, чтобы поддерживать приложения реального времени. Недавнее исследование приходит к выводу, что 95% приложений реального времени требуют ограниченного времени ответа в диапазоне от 0.5 до 10 мсек. Только 10% отклонение (колебание от 50 микросекунд до 1 мсек) во времени ответа может быть допустимо. Согласно таким требованиям большинство операционных систем общего назначения не являются системами реального времени. Согласно этим критериям встроенная ОС, такая как Windows Embedded CE, квалифицируется как операционная система реального времени (ОС РВ) (Основывается на определении и оценках времени принятых рабочей группой Open , Modular, Architecture Control (OMAC): Жесткой системой реального времени является система, которая отказывает, если ее требования по времени не удовлетворяются; мягкая система реального времени может допускать значительные вариации при предоставлении служб операционной системы, таких как прерывания, таймеры, и планирование).

Код ядра в ОС РВ написан таким образом, что прерывания процессора отключаются только на очень короткие периоды времени. Максимальное время реакции прерывания (задержка) является ключевым фактором во времени ответа ОС РВ. Традиционная ОС настольного компьютера, такая как Windows XP, может рассматриваться в лучшем случае только как мягкая ОС реального времени . Для Windows XP существуют некоторые инструменты сторонних поставщиков, которые улучшают время ответа.

Операционные системы для встроенных систем

Большинство новых устройств имеет сложное программное обеспечение , которое требуется для мультизадачности, синхронизации задач, поддержки широкого диапазона устройств ввода/вывода, планирования и буферизации операций ввода/вывода, управления памятью, поддержки графических дисплеев, файловых систем, сетей, безопасности и управления питанием. Операционная система может предоставить все эти возможности, чтобы помочь разработчикам приложений. Прикладные программисты будут более продуктивными, так как они работают на более высоком уровне абстракции, используя эти средства, предоставляемые операционной системой.

Выпущенная недавно модель сотового телефона содержит более пяти миллионов строк кода. Немногие, если вообще какие-то проекты, будут иметь время и средства, необходимые для разработки всего этого кода полностью самостоятельно. В таких случаях имеет экономический смысл использовать существующую операционную систему. Сокращение времени разработки и снижение расходов вполне оправдают стоимость лицензии операционной системы.

Лицензионные отчисления типичной коммерческой встроенной ОС составляют только несколько долларов на устройство. Некоторые очень простые устройства могут обходиться без ОС, но новые устройства постоянно становятся все более сложными.

В связи с этим большинство встроенных устройств используют встроенную операционную систему. Встроенные операционные системы обычно разрабатываются большей частью на C/C++ и поставляются вместе с компилятором C/C++, ассемблером, и инструментами отладки, чтобы помочь разработчикам в разработке прикладных программ и тестировании устройства. Инструменты разработки встроенных систем должны также поддерживать выполнение программ с помощью кода, хранящегося в энергонезависимой памяти, такой как ROM или память Flash .

Источник



Системы реального времени.

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

Система реального времени (СРВ) — это система, которая должна реагировать на события во внешней по отношению к системе среде или воздействовать на среду в рамках требуемых временных ограничений. Говорят, что система работает в режиме реального времени, если для описания работы этой системы требуются количественные временны́е характеристики.

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

Процессы (задачи) систем реального времени могут иметь следующие характеристики и связанные с ними ограничения :

• дедлайн (англ. deadline) — критический срок обслуживания, предельный срок завершения какой-либо работы;

• латентность (англ. latency) — время отклика (время задержки) системы на внешние события;

• джиттер (англ. jitter) — разброс значений времени отклика. Джиттер может возникать под влиянием других, одновременно исполняемых задач.

В зависимости от допустимых нарушений временных ограничений системы реального времени можно поделить на системы жёсткого реального времени , для которых нарушения равнозначны отказу системы , и системы мягкого реального времени , нарушения характеристик которых приводят лишь к снижению качества работы системы .

Следует заметить, что определение жёсткого реального времени ничего не говорит об абсолютном значении времени отклика: это могут быть как миллисекунды , так и недели . Требования к системам мягкого реального времени можно задать только в вероятностных терминах, например, как процент откликов, выданных в установленные временны́е рамки. Интересно, что при проектировании предварительные расчёты легче выполнить для системы жёсткого реального времени, чем получить, например, долю выполняемых в срок задач в системе мягкого реального времени, поэтому разработчики таких систем часто пользуются инструментами и методиками для проектирования систем жёсткого реального времени

События реального времени могут относиться к одной из трёх категорий:

• Асинхронные события — полностью непредсказуемые события. Например, вызов абонента телефонной станции.

• Синхронные события — предсказуемые события, случающиеся с определённой регулярностью. Например, вывод аудио и видео.

• Изохронные события — регулярные события (разновидность асинхронных), случающиеся в течение интервала времени. Например, в мультимедийном приложении данные аудиопотока должны прийти за время прихода соответствующей части потока видео.

С развитием технологий системы реального времени нашли применения в самых различных областях. Особенно широко СРВ применяются в промышленности, включая системы управления технологическими процессами, системы промышленной автоматики, испытательное и измерительное оборудование, робототехнику.

Применения в медицине включают в себя томографию, оборудование для радиотерапии, прикроватный мониторинг. СРВ встроены в периферийные устройства компьютеров, телекоммуникационное оборудование и бытовую технику, такую как лазерные принтеры, сканеры, цифровые камеры, кабельные модемы, маршрутизаторы, системы для видеоконференций и интернет-телефонии, мобильные телефоны, микроволновые печи, музыкальные центры, кондиционеры, системы безопасности.

На транспорте СРВ применяются в бортовых компьютерах, системах регулирования уличного движения, управлении воздушного движения, аэрокосмической технике, системе бронирования билетов и т. п. СРВ находят применения и в военной технике: системах наведения ракет, противоракетных системах, системах спутникового слежения.

Примеры систем, работающих в режиме реального времени:

Читайте также:  2 Оборудование одиночного окопа парных окопов для стрельбы из автомата

• АСУ ТП химического реактора;

• бортовая система управления космического аппарата;

• АСНИ (автоматизированная система науных исследований) в области ядерной физики;

• система обработки аудио- и видеопотоков при трансляции в прямом эфире;

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

Операционная система реального времени , ОСРВ (англ. real-timeoperatingsystem, RTOS ) — тип операционной системы, способной поддерживать работу системы реального времени.

Стандарт POSIX 1003.1 даёт следующее определение: «Реальное время в операционных системах — это способность операционной системы обеспечить требуемый уровень сервиса в определённый промежуток времени» 1 .

Операционные системы реального времени иногда делят на два типа – ОС жесткого реального времени и ОС мягкого реального времени.

Операционная система, которая может обеспечить требуемое время выполнения задачи реального времени даже в худших случаях, называется операционной системой жёсткого реального времени.

Операционная система, которая может обеспечить требуемое время выполнения задачи реального времени в среднем, называется операционной системой мягкого реального времени.

Промышленный контроллер — это устройство, которое создано для управления технологическими процессами в промышленности, либо сложными технологическими объектами.

Программи́руемыйлоги́ческийконтро́ллер (сокр. ПЛК ; англ. programmablelogiccontroller, сокр. PLC; более точный перевод на русский — контроллер с программируемой логикой) — электронная составляющая промышленного контроллера, управляющая системой в соответствии с заданной программой.

В качестве основного режима работы ПЛК выступает его длительное автономное использование, зачастую в неблагоприятных условиях окружающей среды, без серьёзного обслуживания и практически без вмешательства человека.

Иногда на ПЛК строятся системы числового программного управления станков.

ПЛК являются устройствами реального времени .

ПЛК имеют ряд особенностей, отличающих их от прочих электронных приборов, применяемых в промышленности:

• в отличие от микроконтроллера (однокристального компьютера) — микросхемы, предназначенной для управления электронными устройствами — областью применения ПЛК обычно являются автоматизированные процессы промышленного производства в контексте производственного предприятия;

• в отличие от компьютеров, ориентированных на принятие решений и управление оператором, ПЛК ориентированы на работу с машинами через развитый ввод сигналов датчиков и вывод сигналов на исполнительные механизмы;

• в отличие от встраиваемых систем ПЛК изготавливаются как самостоятельные изделия, отдельные от управляемого при его помощи оборудования.

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

В современных ПЛК числовые операции в языках их программирования реализуются наравне с логическими. Все языки программирования ПЛК имеют лёгкий доступ к манипулированию битами в машинных словах, в отличие от большинства высокоуровневых языков программирования современных компьютеров.

ПЛК в общем виде состоит из двух основных блоков: процессорного модуля и системы ввода/вывода внешних сигналов. Процессорный модуль управляет всей логикой работы ПЛК и делится на процессор и память.

Система ввода/вывода физически подключается к, так называемым, полевым устройствам (реле-усилители, выключатели, пускатели, датчики и т.д.) и обеспечивает интерфейс между процессорным модулем и информационными (входами) и управляющими (выходами) каналами.

При работе процессор “считывает» входные данные с подключенных полевых устройств с помощью своих входных интерфейсов, и затем выполняет управляющую программу, которая загружена в память процессорного модуля. Программы обычно разрабатываются на языке релейной логики, который очень похож на схемы релейной автоматики, и должны быть загружены в память контроллера до начала его работы. Далее, в соответствии с программной логикой ПЛК «записывает» или обновляет управляющие выходы через выходные интерфейсы. Этот процесс, называемый циклом сканирования , постоянно выполняется в одной и той же последовательности без остановки и изменяется только когда, когда вносятся изменения в управляющую программу.

ПЛК обычно управляют машинами или процессами последовательными по своему происхождению, используя «дискретные» входы и выходы для определения состояния объекта. Например, если концевой выключатель определяет наличие детали, то он переходит в состояние «ВКЛЮЧЕНО», а если не обнаруживает деталь, то выдает сигнал «ВЫКЛЮЧЕНО».

Машина или устройство постоянно выполняет предопределенные последовательные действия либо на основании событий, либо по истечению заданного времени. Предполагаемая последовательность действий обычно прерывается только тогда, когда возникает аварийная ситуация.

Именно для подобных применений появились первые системы автоматики на базе релейных схем, а на смену им пришли первые ПЛК.

ПЛК может также управлять непрерывными процессами, т.е. принимать и выдавать аналоговые сигналы. Например, температурный датчик выдает изменяющийся переменный сигнал 0-10 В на основании измерения фактической температуры. Программа контроллера постоянно отслеживает данные от датчика и обслуживает оборудование, которое может быть также аналоговым по своему происхождению. Примером подобного устройства может служить клапан с диапазоном открытия задвижки от 0 до 100%, управляемый через аналоговый выход контроллера 4-20 мА, или управление скоростью двигателя. Подобные применения называют также непрерывными приложениями, поскольку они обычно не имеют определенного начала или конца. Как только подобный алгоритм инициализируется, ПЛК должен поддерживать обслуживаемый процесс в «устойчивом» состоянии.

• Siemens — SIMATIC S5 и S7;

• Schneider Electric — серия Modicon (M168, M238, M258, M340, Premium, Quantum);

• Segnetics — Pixel2511 и SMH 2Gi;

• Mitsubishi — серия Melsec (FX, L, Q);

• Delta — DVP — EH 2, DVP — ES , DVP — EX , DVP — SS , DVP — SA , DVP — SX , DVP — SC , DVP — SV , DVP — PM .

Технологии производства ПЛК постоянно развиваются в последнее время. Однако, следует отметить, что развитие ПЛК идет более медленно, чем в компьютерной технике, в связи с традиционно осторожным подходом к промышленным системам и более тщательной проверкой и отладкой используемого фирменного программного обеспечения контроллеров.

Сегодняшний ПЛК — это более быстрое время сканирования, компактные системы ввода/вывода, стандартизированные средства программирования и специальные интерфейсы, позволяющие подключать нетрадиционные устройства автоматики непосредственно к контроллеру или объединять разное оборудование в единую систему управления. ПЛК могут не только связываться с другими управляющими системами, но также могут формировать отчет о функционировании, диагностировать свои собственные ошибки, а также ошибки в работе оборудования или процесса.

Для классификации современных ПЛК обычно используют количество входов/выходов, а также указывают некоторые конструктивные характеристики и типы приложений, в которых данный контроллер может использоваться. Нано- и микро-, немодульные мини-ПЛК (также известные как моноблочные) обычно имеют меньшую память и малое число входов/выходов в фиксированных конфигурациях. Модульные ПЛК имеют каркасы или стойки для установки в них многочисленных модулей ввода/вывода и могут использоваться для более сложных приложений.

Архитектурой контроллера называют набор его основных компонентов и связей между ними. Типовой состав ПЛК включает центральный процессор, память, сетевые интерфейсы и устройства ввода-вывода. Иногда эта конфигурация дополняется устройством для программирования и пультом оператора, устройствами индикации, реже — принтером, клавиатурой, мышью или трекболом.

Процессорный модуль включает в себя микропроцессор (центральное процессорное устройство — ЦПУ), запоминающие устройства, часы реального времени и сторожевой таймер. Термины «микропроцессор» и «процессор» в настоящее время стали синонимами, поскольку все вновь выпускаемые процессоры выполняются в виде СБИС, т.е. являются микропроцессорами.

Основными характеристиками микропроцессора являются разрядность (в ПЛК используются 8-ми, 16-ти и 32-разрядные микропроцессоры), тактовая частота, архитектура, наличие операций с плавающей точкой, типы поддерживаемых портов ввода-вывода, температурный диапазон работоспособности и потребляемая мощность.

Производительность микропроцессоров с одной и той же архитектурой пропорциональна тактовой частоте. Большинство контроллеров используют микропроцессоры с сокращенным набором команд (RISC — ReducedInstructionSetComputing), в которых используется небольшое количество команд одинаковой длины и большое количество регистров. Сокращенный набор команд позволяет строить более эффективные компиляторы и конвейер процессора, способный за каждый такт выдавать результат исполнения очередной команды.

Для контроллеров, выполняющих интенсивную математическую обработку данных, важно наличие математического сопроцессора (вспомогательного процессора, выполняющего операции с плавающей точкой) или сигнальных процессоров, в которых операции типа Y=A*B+X выполняются за один такт. Сигнальные процессоры позволяют ускорить выполнение операций свертки или быстрого преобразования Фурье.

Емкость памяти определяет количество переменных (тегов), которые могут быть обработаны в процессе функционирования ПЛК. В микропроцессорах время доступа к памяти является одним из существенных факторов, ограничивающих быстродействие. Поэтому память делят на несколько уровней иерархии, в зависимости от частоты использования хранящихся в ней данных и быстродействия. Иерархия памяти относится ксущественным характеристиками архитектуры процессора, поскольку она позволяет снизить отрицательное влияние медленной памяти на быстродействие микропроцессора. Основными типами памяти является постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ) и набор регистров.

Регистры являются самыми быстродействующими элементами памяти, поскольку они используются арифметико-логическим устройством (АЛУ) для исполнения элементарных команд процессора. ПЗУ используют для хранения редко изменяемой информации, такой, как операционная система, драйверы устройств, загрузчик, исполняемый модуль программы пользователя. ОЗУ используется для хранения данных, которые многократно изменяются в процессе работы контроллера, например, значения тегов, результаты промежуточных вычислений, диагностическая информация, массивы, выводимые на графики, данные для отображения на дисплее.

Сторожевой таймер (WatchdogTimer — WDT) представляет собой счетчик, который считает импульсы тактового генератора и в нормальном режиме периодически сбрасывается (перезапускается) работающим процессором. Если процессор «зависает», то сигналы сброса не поступают в счетчик, он продолжает считать и при достижении некоторого порога вырабатывает сигнал «Сброс» для перезапуска «зависшего» процессора.

Часы реального времени (РВ) представляют собой кварцевые часы, которые питаются от батарейки и поэтому продолжают идти при выключенном ПЛК. Часы РВ используются, например, для управления уличным освещением в зависимости от времени суток, в системах охраны объектов и других случаях, когда необходима привязка данных или событий к астрономическому времени.

Стандартными напряжениями питания ПЛК являются напряжения 12 В, 24 и 48 В. Источником электрической энергии обычно является промышленная сеть 220В, 50 Гц. В случае распределенных систем автоматизации источник питания может быть расположен вдали от ПЛК, поэтому напряжение на клеммах ПЛК или модулей ввода-вывода может сильно отличаться от напряжения источника питания вследствие падения напряжения на сопротивлении кабеля. Для решения этой проблемы каждый ПЛК или каждый модуль удаленного ввода снабжаются встроенным стабилизатором напряжения, который обеспечивает нормальное их функционирование в диапазоне напряжений от 10 до 30 В.

Низкое напряжение питания позволяет питать контроллеры от аккумуляторов бортовых сетей транспортных средств или переносных аккумуляторов.

В ПЛК иногда используют батарею для питания часов реального времени (которые должны функционировать при выключенном ПЛК) и для сохранения информации в ПЗУ на время аварийных перерывов питания.

Процессорный модуль ПЛК выполняет следующие задачи:

• собирает данные из модулей ввода в память и отсылает данные из памяти в модули вывода;

• выполняет обмен данными с устройством для программирования контроллера;

• выдает метки часов реального времени;

• осуществляет обмен данными с промышленной сетью;

• реализует стек протоколов промышленной сети (для этой цели могут использоваться вспомогательные коммуникационные процессоры);

• выполняет начальную загрузку и исполнение операционной системы;

• исполняет загрузочный модуль пользовательской программы системы автоматизации;

• управляет актами обмена с памятью.

Читайте также:  Мастера монтаж промышленного оборудования в Краснодаре

Одной из тенденций в развитии ПЛК является использование процессорных модулей разной мощности для одного конструктива контроллера. Это позволяет получить серию контроллеров разной мощности и тем самым покрыть больший сегмент рынка, а также выполнить модернизацию (upgrade) контроллеров, купленных потребителями, путем замены всего одного модуля.

Быстродействие процессорного модуля ПЛК обычно оценивают по времени выполнения логических команд, поскольку они наиболее распространены при реализации алгоритмов управления.

Разнообразиезадач, возлагаемых на ПЛК, и сильная зависимость цены от мощности контроллера явились причиной большого разнообразия используемых микропроцессоров, от простых и дешевых 8-разрядных Atmel и Microchip до самых высокопроизводительных микропроцессоров серии IntelPentium, включая двухъядерные и четырехъядерные процессоры.

Восьмиразрядные микропроцессоры пользуются большим успехом в автономных ПИД-контроллерах и микро-ПЛК для несложного алгоритмического управления станками, теплицами, небольшими технологическими аппаратами, в качестве межсетевых шлюзов. Их достоинством является высокая надежность, связанная с предельной простотой программного обеспечения.

Обычно микропроцессоры, используемые в ПЛК, на несколько поколений отстают от процессоров офисных персональных компьютеров (ПК) в связи с относительно малым объемом рынка ПЛК, который не обеспечивает окупаемость разработки нового контроллера за период смены поколений микропроцессоров.

Источник

Лекция 6. Тема: Системы реального времени

Тема: Системы реального времени

1. Общие сведения о системах реального времени (СРВ). Определения.

2. Классификация СРВ, режимы реального времени.

3. Компоненты СРВ.

4. Операционные системы реального времени (ОСРВ).

5. Архитектура ОСРВ, требования к ОСРВ.

6. Задачи, процессы, потоки.

7. Современные ОСРВ: Vx Works, Windows CE, QNX.

Система реального времени, жесткое реальное времени, мягкое реальное время, система управленич, отказ, время отклика, время обработки, мультимедиа, программные комплекс, целевая платформа, процесс, потоки, ядрА, операционная система, синхронизация, внешние события, планирование, автоматизация, высокопроизводительные системы, архиткектура, интерфейс, аппаратно-программный комплекс, внешние события, системы автоматизации.

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

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

· датчики, регистрирующие события на объекте

· модули ввода/вывода, преобразующие показания датчиков в цифровой вид, пригодный для обработки этих показаний на компьютере;

· компьютер с программой, реагирующей на события, происходящие на объекте.

Главные требования СРВ – эти системы должны выполнять свои операции вовремя. Из определения СРВ вытекает основное свойство СРВ: предсказуемость или детерминированность. Только благодаря этому свойству, разработчик сможет гарантировать функциональность и корректность спроектированной системы. При этом, собственно, скорость реакции системы важна только относительно скорости протекания внешних процессов, за которыми СРВ должна следить или которыми должна управлять.

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

Например, мультимедийные системы предъявляют к системе те же требования, что и промышленные задачи реального времени. В мультимедиа основной проблемой является синхронизация изображения на экране со звуком. Звук генерируется внешним аппаратным устройством с собственным таймером, и изображение синхронизируется с ним. Человек способен заметить малые временные неоднородности в звуковом потоке, а пропуск кадров в визуальном потоке не так заметен. Расхождение же звука и изображения фиксируется человеком уже при задержках около 30мс. Поэтому системы высококачественного мультимедиа должны обеспечивать синхронизацию с такой же или более высокой точностью, что мало отличается от реального времени.

Классификация систем реального времени . Принято различать системы «жесткого» и «мягкого» реального времени.

Системой «жесткого» реального времени называется система, где неспособность обеспечивать реакцию на какие-либо события в заданное время является отказом и ведет к невозможности решения поставленной задачи. Системы жесткого реального времени не допускают никаких задержек реакции системы ни при каких условиях, т.к. может произоти катастрофа в случае задержки реакции (например, не сработала система аварийных блокировок атомного реактора), стоимость опоздания может быть бесконечно велика. Жесткое реальное время требует, чтобы время отклика никогда не превышало срок исполнения (т.е. R ≤ D)

Рис. 1. Жесткое время исполнения.

Примеры: система управления двигателем, система торможения, подушка безопасности.

Точного определения для мягкого времени не существует, поэтому будем считать, что сюда относятся все системы реального времени, не попадающих в категорию жестких. (теоретически не проработаны).

Рис. 2. Мягкое реальное время.

Примеры: экранный редактор, сеть передачи данных, сервер базу данных.

Комбинированное реальное время – режим работы системы, имеющий черты как жесткого, так и мягкого режима.

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

Примеры: мультимедиа приложения, высокоскоростные системы передачи данных.

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

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

По своей внутренней архитектуре ОСРВ можно условно разделить на монолитные ОС,Ос на основе микроядра клиент-сервер и объектно-ориентированные(уровневые).

Ядра предоставляют пользователю такие базовые функции, как планирование и синхронизация задач, межзадачная коммутация, управление памятью и т.п. Операционные системы в дополнение к этому имеют файловую систему, сетевую поддержку, интерфейс с оперетором и другие средства высокого уровня.

Принцип построения монолитных ОС заключается в представлении ОС как набора модулей, взаимодействующих между собой внутри ядра системы и предоставляющих прикладным программам входные интерфейсы для обращения к аппаратуре. Главным недостатком такой архитектуры является плохая предсказуемость ее поведения (из-за взаимодействия модулей системы).

В задачах автоматизации широкое распространение в качестве ОСРВ получили уровневыеОС. Примером такой ОС является система MS-DOS. В этих системах прикладные приложения могли получить доступ к аппаратуре только посредством ядра системы и непосредственно. По сравнению с монолитными ОС такая архитектура обеспечивает большую предсказуемость реакции системы. Недостаток таких систем является отсутствие в них многозадачности.

Одной из наиболее эффективных архитектур для построения ОСРВ считается архитектура клиент-сервер. Общая схема ОС, работающей на этой технологии представлена на рисунке 3.

Рис. 3. Построение ОСРВ с использованием архитектуры клиент-сервер.

Основным принципом такой архитектуры является вынесекние сервисов ОС в виде серверов на уровне пользователя, а микроядро выполняет функции диспетчера сообщений между клиентскими пользовательскими программами и серверами-сестемными сервисами. Преимущества такой архитектуры:

· повышенная надежность ОС;

· повышенная отказоустойчивость («зависший» сервис может быть перезапущен без перезагрузки системы).

Среди известных ОСРВ, реализующих архитектуру микроядра, можно отметить OS9 и QNX.

Существуют различные определения термина «задача» для многозадачной ОСРВ. Будем считать задачей набор операций (машинных инструкций), предназначенный для выполнения логически законченной функцией системы. Принято различать 2 разновидноти задач: процессыи потоки. Процесспредставляет собой отдельный загружаемый программный модуль (файл), который вовремя исполнения имеет в памяти свои независимые области для кода и данных. В отличие от этого, потоки могут пользоваться общими участками кода и данных в рамках единого программного модуля.

Хорошим примером многоточной программы является редактор текста Word, где в рамках одного приложения может одновременно происходить и набор текста и проверка правописания.

Каждый поток имеет важное свойство, на основе которого ОС принимает решение о том, когда предоставить ему время процессора. Это свойство называется приоритетом потока и выражается численным значением.

Важной частью любой ОСРВ является планировщик задач (диспетчер, супервизор и т.п.). Его функции остаются теме же: определить какая из задач должна выполняться в системе в каждый конкретный момент времени.

Приоритет используется в основном планировщиком задач для определения того, какая из готовый к работе задач должна получить управление. Самым простым методом планирования, не требующим никакого специального ПО и планировщика, является использование циклического алгоритма.

Современные ОСРВ. К ним относятся VxWorks, Windows CE, QNX. VxWorks –Unix-подобная ОСРВ, разрабатываемая компанией WRS (США). ОС VxWorks построена по принципам монолитной ОС. Она включает в себя многозадачное ядро и планировщик с быстрым откликом на прерывания, средства межпроцессорного и синхронизации, а также файловую систему и сетевую подсистему (TCP/IP). Система имеет мощные средства разработки и отладки приложений и в течение многих лет считается одним из лидеров ОСРВ. Примеры использования VxWorks:

· аппарат NASA, предназначенный для изучения Марса;

· новейшие авиалайнеры Boeing 787;

· медицинское оборудование компании Siemens;

· система управления робототехническими комплексами и другие.

Windows CE –это вариант ОС Ms Windows для наладонных компьютеров, мобильных телефонов и встраиваемых систем. Архитектура этой системы соответствует монолитной модели архитектуры ОС. На базе ОС Windows CE основано множество платформ, а также промышленных устройств и встроенных систем.

QNX –коммерческая POSIX-совместимая ОСРВ, предназначенная для встраиваемых систем. Считается одной из лучших реализаций концепции микроядерных ОС.

· системы управления ядерным реактором;

· система управления дорожным движением;

· работа с кредитными карточками и другие.

Контрольные вопросы и задания

1. Дайте определение системы реального времени (СРВ).

2. Какие системы могут быть отнесены к СРВ?

3. Перечислите устройства, входящие в аппаратно-программный комплекс СРВ.

4. Определение главного требования и основное свойства СРВ.

5. Что называется системой жесткого реального времени?

6. В чем основное отличие между системами жесткого и мягкого реального времени?

7. Назовите компоненты СРВ.

8. Приведите примеры систем жесткого времени.

9. Объясните построение ОСРВ с использованием архитектуры клиент-сервер (Рис. 3)

10. Что представляют собой процессы и потоки?

11. Какую функцию в СРВ выполняет планировщик задач?

12. Перечислите известные вам современные ОСРВ.

Источник