- •Часть I р. И. Сольницев
- •Глава 1 Введение в автоматизацию проектирования систем автоматического управления
- •§ 1.1. Системы автоматического управления (сау) как объекты проектирования
- •§ 1.2. Сапр как новые средства проектирования
- •§ 1.3. Этапы истории развития сапр сау.
- •Автоматизация проектирования систем и средств управления
- •Дерево целей проектирования:
- •История развития сапр.
- •Задача векторной оптимизации.
- •Глава 2 процесс проектирования сау и его автоматизация
- •§ 2.1. Цели, критерии и условия ограничений процесса проектирования
- •§ 2.2. Этапы проектирования и проектные процедуры
- •Математическая модель Системы Проектирования (сп) как «спирали проектирования»
- •Глава 3 структура системы автоматизации проектирования сау
- •§ 3.1. Концепция, принципы и их структурная реализация
- •§ 3.2. Техническое обеспечение.
- •§ 3.3. Математическое обеспечение
- •§ 3.4. Лингвистическое обеспечение
- •§ 3.5. Программное обеспечение
- •§ 3.6. Информационное обеспечение
- •§ 3.7. Методическое и организационное обеспечение
- •Глава 4 автоматизация построения математических моделей сау
- •§ 4.1. Методы построения математических моделей и их применение в сапр
- •§ 4.2. Вывод математических моделей в аналитическом виде на эвм
- •§ 4.3. Упрощение и преобразование математических моделей на эвм
- •Математическое обеспечение сапр.
- •Стационарные линейные детерминированные модели систем с сосредоточенными параметрами.
- •Переход от дифференциальных уравнений n – ого порядка к нормальной форме Коши
- •Математические модели элементов сау.
- •Методы линеаризации уравнений
- •Глава 5 моделирование систем автоматического управления
- •§ 5.1. Методы моделирования и их применение в сапр
- •§ 5.2. Приведение математических моделей сау к виду, удобному для моделирования
- •§ 5.3. Численные методы и алгоритмы моделирования
- •§ 5.4. Контроль и оценка точности моделирования
- •Глава 6 автоматизация анализа сау
- •§ 6.1. Методы анализа сау и их применение в сапр
- •6.2§. Машинные методы анализа
- •§ 6.3. Машинно-аналитический метод анализа
- •§ 6.4. Подсистема сапр сау «Анализ»
- •Глава 7 Автоматизация синтеза сау
- •§ 7.2. Машинные методы синтеза
- •§ 7.3. Подсистема сапр сау «Синтез»
- •Методы нлп
- •Задача нлп
- •Градиентный метод оптимизации
- •Метод градиента
- •Метод случайного поиска
- •Метод Даниленко-Каган
- •Метод Трахтенбергп
- •Экстраполяционный случайный поиск с адаптирующимся шагом
- •Алгоритм с перестройкой вероятностных характеристик поиска
- •Глобальный случайный поиск с независимым выбором плотности распределения пробных шагов
- •Локально – глобальный поиск коллективом автоматов имени Буша – Мостселлера.
- •Методика выбора алгоритмов поисковой оптимизации.
- •Метод ситуационного управления:
§ 3.5. Программное обеспечение
Программное обеспечение (ПО) представляет собой совокупность машинных программ, правил и соответствующей документации, представленных в заданной форме и позволяющих использовать технические средства САПР для решения различных задач проектирования.
Программное обеспечение делится на базовое (операционная система), общесистемное и прикладное.
Операционная система ОС — это часть программного обеспечения, предназначенная для управления вычислительным процессом ЭВМ и всех терминальных устройств, распределения ресурсов, сервисного обслуживания пользователей, подготовки, обработки и отладки программ. Прикладное программное обеспечение является основным при разработке ПО САПР и состоит из общесистемного ПО и пакетов прикладных программ (ППП), которые реализуют алгоритмы расчета, конструирования, технологической подготовки, испытаний. Чтобы понять роль ПО в САПР, нужно обратиться к принципу действия любой ЭВМ. В основе всякой ЭВМ лежит «умение» оперировать только с одним носителем данных— двоичными числами (битами): «О» и «1». Как же осуществляется управление движением однородной массы из огромного числа битов, с тем чтобы в результате этого движения получилось решение поставленной на ЭВМ задачи? Только путем построения иерархической лестницы из программ на разных уровнях представления информации. Средством написания таких программ являются рассмотренные выше искусственные языки.
Только с помощью иерархической системы программ становится возможным разобраться в широчайшем множестве различных сложных задач, решаемых на ЭВМ. Начнем с верхней ступени иерархии, представленной базовой операционной системы (ОС).
Любая ОС включает следующие составляющие:
- супервизор управляет всеми устройствами ЭВМ и контролирует их работу;
- управление заданиями автоматизирует переход от одного задания к другому, принимает задания, осуществляет контроль, подготовку запрашиваемых программ к выполнению, запуск их и переход к следующему заданию;
- управление задачами распределяет память ОЗУ; как только «управление заданиями» распознает шаг задания (например, транслирование, редактирование, сама программа), сразу же появляется «задача» (трансляция, ввод — вывод тела программы);
- трансляторы осуществляют перевод с универсальных языков программирования, редактирование, отладку, загрузку;
- обслуживающие программы делают перезапись, чистку ячеек и т. д.;
- библиотеки ОС включают в себя исходные модули, объектные модули и т. д. Напомним, что исходные модули — это программы, записанные на одном из исходных алгоритмических языков программирования (ФОРТРАН, ПЛ/1 и др.);
- объектные модули — это программы на языке машинных команд, полученные после трансляции исходных модулей.
Отметим некоторые черты современных ОС на примере SVM — системы «виртуальных машин» (разработчик - - фирма «IBM», США). В системе SVM виртуальная память может быть расширена до 2 Гбайт, причем каждому пользователю представляется адресное пространство 16 Мбайт, теоретически система допускает обслуживание 9999 пользователей одновременно. На практике эффективный диалог поддерживается с 300—400 пользователями.
SVM дает каждому пользователю возможность за «своим терминалом» иметь «индивидуальную ЭВМ»: виртуальную память, ввод — вывод, процессор.
Стоимость большой ОС определяется трудоемкостью более 500 чел-лет (она включает миллионы команд) и значительно превышает стоимость ЭВМ.
Системные программы прикладного программного обеспечения (ППО).
Это средства построения, функционирования и эксплуатации прикладного программного обеспечения: средства выбора нужного модуля из ППП в соответствии с заданием на ПОЯ; средства построения ПОЯ; средства связи модулей в ППП, отладки программы; средства, осуществляющие сервисные, справочные и диагностические функции.
Системные программы ППО необходимы, так как существующие ОС универсальны и потому далеки от оптимальных в смысле требований конкретного пользователя.
Разработка системных программ прикладного программного обеспечения (ППО) САПР САУ проводится в рамках единой системы САПР САУ и удовлетворяет как общим требованиям к ППО, так и частным, специфическим требованиям проектирования САУ. Удовлетворяет этим требованиям наиболее современная форма организации системной (управляющей) части ППО САПР - инструментальная система программирования. Такая форма организации управляющей части ППО позволяет создавать новые или исправлять старые ПОЯ, причем форма создаваемых языков (так же, как и их содержимое) находится полностью в распоряжении пользователя.
Можно выделить следующие основные черты инструментальных систем программирования:
- наличие средств генерации программ по описаниям, не содержащим явного алгоритма решения задачи;
- ориентацию на решение задач, описываемых на проблемно-ориентированном языке;
- использование банка данных, содержащего большое количество программ и данных;
- наличие средств расширения входных языков;
- эффективное использование базовых ОС для написания и отладки программных модулей.
Пакеты прикладных программ — комплекс программ, предназначенных для решения проектной задачи, управляемых от программы-монитора или системных программ ППО посредством заданий на ПОЯ.
В структуре пакета можно выделить тело пакета и управляющую программу, которую и называют монитором. Тело пакета содержит все программы и сведения о предметной области. Эти сведения определяют семантику входного языка и образуют модель предметной области. Монитор руководит работой всего пакета при решении задач. Он переводит описание задачи с входного языка на внутренний язык, определяет последовательность выполненных программ для каждой задачи, т. е. планирует решение задачи и организует выполнение программ, планируя правильное взаимодействие модулей.
Технология построения ППП в САПР — это деятельность, в которой должны принимать участие специалисты различных областей. Специалисты в предметной области реализуют идеологию проектных процедур, которая является результатом модульного анализа объекта автоматизации.
Когда за разработку пакета принимаются прикладные специалисты, не учитывающие особенности системного программирования, следует опасаться того, что ППП примет форму частично работающего макета задуманной системы. Также малоэффективно, когда ППП разрабатывается без участия достаточно квалифицированных специалистов в предметной области, так как состав решаемых задач может не удовлетворить проектировщика, аметоды решения могут оказаться недостаточно эффективными и ограниченными по применимости.
Прикладное программное обеспечение САПР САУ представляет собой такой же объект проектирования, как и любой другой, поэтому его создание должно быть обеспечено документацией, позволяющей эксплуатировать эти программы. В состав такой документации входят: иерархическая система ППП, описание каждого ППП и каждого модуля внутри ППП, программные документы (листинги, файлы и т. д.), блок-схемы, тесты, инструкции. Построение ППП является сложным и весьма трудоемким процессом.
Построение ППП может быть автоматизировано с помощью системной части ППО, основанной на упомянутой инструментальной системе программирования СПИН.
Инструментальная система программирования СПИН включает в себя систему построения трансляторов (СПТ), которая делится на две составные части: «Конструктор» и «Синтаксический управляемый транслятор» (СУТ). Основной задачей «Конструктора» в ППО является выработка по заданной грамматике ПОЯ совокупности информационных таблиц для настройки СУТ на этот язык. СУТ предназначен для синтаксического анализа входных предложений, составленных на ПОЯ, поступающих из «Конструктора».
Эти требования и принципы положены в основу структуры ППО САПР САУ, изображенной на рис. 21. Функционирование ППО происходит следующим образом. Проектировщик вводит описание задачи, фактически являющейся программой действий на ПОЯ. Управляющая программа распознает, к какому ПОЯ из имеющихся в системе должна быть отнесена данная задача, соответствующим образом «настраивает» СУТ и передает ему управление. СУТ анализирует синтаксис программы и формирует последовательность действий на удобном промежуточном языке. Эта последовательность представляет собой список, элементы которого включают в себя номера вызываемых модулей и адреса параметров, которые в этих модулях используются. Если СУТ не обнаружил ошибок в описании задачи, управляющая программа передает управление программе ИНИЦИАТОР, которая в указанной во входных данных последовательности вызывает соответствующие ППП проектировщика (разработчика, конструктора, технолога, испытателя) и обрабатывающие ППП, передает им адреса параметров и следит за правильностью их выполнения. Обрабатывающие ППП включают следующие программы: формирования и обработки аналитических выражений, численного интегрирования систем дифференциальных уравнений, ввода — вывода и т. д. Расширение этих ППП может идти как за счет адаптации ранее полученных программ, так и посредством подключения новых оригинальных программ и пакетов.
Рис. 21. Структура прикладного программного обеспечения САПР САУ