Смекни!
smekni.com

Тема ЭВМ в системах управления мы все умны, когда дело идет о том, чтобы давать советы (стр. 6 из 7)

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

Лингвистическое обеспечение СУ - совокупность языковых средств для формализации естественного языка, построения и сочетания информационных единиц при общении персонала СУ с ЭВМ. Необходимость использования нескольких языков программирования объясняется разнообразием задач, решаемых в СУ, и степенью приспособления того или иного языка к конкретной задаче. В этом смысле языки программирования можно разбить на три группы: 1) машинные (МЯ); 2) машинно-ориентированные (МОЯ); 3) проблемно-ориентированные (ПОЯ).

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

МОЯ - группа языков, ориентированных на конкретный тип ЭВМ, содержат элементы автоматизации процесса распределения памяти ЭВМ, а часто используемые совокупности машинных команд объединены в макрокоманды, что повышает производительность программирования. Примером машинно-ориентированного языка является АССЕМБЛЕР, который использует набор макрокоманд функций операционной системы ЕС ЭВМ.

ПОЯ — группа языков программирования, ориентированных не на ЭВМ, а на особенности решаемых задач. Для перевода ПОЯ на язык конкретной машины в составе программного обеспечения ЭВМ имеются трансляторы. В распоряжении пользователей ЭВМ есть несколько языков программирования высокого уровня, к которым относятся: ФОРТРАН, КОБОЛ, АЛГОЛ, РПГ, ПЛ/1 и др.

Кроме этого, в составе лингвистического обеспечения вычислительной системы содержатся информационные языки, используемые для обработки данных: запроса к базе данных; формирования различных логических отношений между элементами структур базы данных; передачи информации в базу данных; управления внешними устройствами. К числу таких языков относятся: языки описания данных для описания структуры и содержания базы данных; язык команд, используемый пользователем для взаимодействия с базой данных; язык управления внешними устройствами. Перечисленные информационные языки являются средствами СУБД - систем управления базами данных.

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

7.5. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СИСТЕМ УПРАВЛЕНИЯ [10].

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

Часть программного обеспечения - системное ПО, обычно поставляется фирмой и рассчитано на конкретную вычислительную платформу. Функционально близко к системному программному обеспечению находится специальное программное обеспечение, предназначенное не для автоматического управления, а для оперативного наблюдения за ходом процессов в системе, ведения архивов, отчётов, наглядного представления текущих параметров процессов, организации виртуальных измерительных приборов, дисплеев и т.п. Эти системы обычно не работают в жёстком реальном времени. Имеется достаточное количество таких готовых систем (Trace Mode, UltraLogik и др.). В целях обеспечения независимости от производителя, а также в целях повышения надёжности и проблемной ориентированности часто такие системы создают специально.

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

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

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

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

- использование распространенных и проверенных промышленных стандартов;

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

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

- обеспечение бесконфликтного взаимодействия параллельных задач с аппаратурой;

- бесконфликтное разделение ресурсов вычислительной системы (память, диски и т.п.);

- обеспечение надежной передачи данных между процессами в адресных пространствах;

- обеспечение стандартных средств доступа к ресурсам;

- обеспечение стандартных телекоммуникаций и сетевой поддержки;

- поддержание службы времени (системных и сетевых таймеров);

- создание вычислительной среды повышенной надёжности;

Но ОСРВ эти функции выполняет за гарантированное и известное время.

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

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

Системы реального времени также делятся на "soft real-time" и "hard real-time" - мягкое реальное время (МРВ) и жёсткое реальное время (ЖРВ). Для МРВ-систем возможна потеря внешнего события (прерывания) без оказания серьезного влияния на систему в целом. Потерянное прерывание в ситуации с ЖРВ имеет серьезные последствия, как например, "потеря" аварийной ситуации в системе исключения столкновений на авиалиниях. Следует также понимать, что ЖРВ не связано с абсолютными значениями времени реакции ОС, так как есть процессы со временами работы, исчисляющимися сотыми долями секунды (например, в энергетических системах), а есть такие, для которых характерные постоянные времени равны часам (тепловые процессы).

В настоящее время интерес к операционным системам реального времени очень велик и известно множество ОС реального времени. Каждая из ведущих фирм-производителей, выпускающих промышленные компьютеры, обязательно имеет версию своей операционной системы для работы в реальном масштабе времени. Для компании Hewlett-Packard (HP) - это HP RT, для компании SGI - это ОС REACT, а для систем фирмы Motorola - это целое семейство различных ОС РВ.

Прикладное программное обеспечение для САУ можно разбить на следующие группы:

- дополнение к операционной системе (драйверы и т.п.);

- программы управления, передачи данных, обработки данных, планирования и т.п., то есть прикладные вычислительные задачи;

- программное обеспечение локальных регуляторов. Эта часть программного обеспечения часто создаётся для специализированных микроконтроллеров.

Для создания этих разнородных частей прикладного программного обеспечения используются разные методы программирования. Наиболее традиционной частью являются прикладные вычислительные задачи, для которых стараются использовать программирование на языках высокого уровня. Обычно здесь удаётся обойтись программированием на языке С, С++, Pascal, привлекая для этого интегрированные среды типа Visual C, Builder или Delphi.

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

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

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