В соответствии с классификацией языков САПР, представленной на рис. 3.5, различают языки программирования и проектирования.
Языки программирования. Языки программирования — языки, предназначенные для написания программного обеспечения.
Эти языки — средство разработчика САПР.
К языкам программирования предъявляют требования удобства использования, универсальности и эффективности объектных программ (т. е. программ, полученных после трансляции на машинный язык). Удобство использования выражается в затратах времени программиста на освоение языка и главным образом на написание программ на этом языке. У нив ер сальность определяется возможностями языка для описания разнообразных алгоритмов, характерных для программного обеспечения САПР, а эффективность объектных программ — свойствами используемого транслятора, которые, в свою очередь, зависят от свойств языка. Эффективность оценивается затратами машинных времени и памяти на исполнение программ.
С позиций универсальности и эффективности объектных программ наилучшими свойствами обладают машинно-ориентированные языки. Близость к машинным языкам (языкам машинных команд) обусловливает простоту и эффективность трансляторов на машинный язык, называемых ассемблерами. Машинно-ориентированные языки называют языками ассемблера или автокодами. Однако языки ассемблера неудобны для человека, их использование снижает производительность труда программистов. Поэтому их применяют для разработки лишь тех модулей программного обеспечения САПР, которые требуют для своего исполнения больших вычислительных ресурсов, существенно влияющих на общие затраты машинных времени и памяти.
Среди алгоритмических языков высокого уровня, созданных на ранних этапах развития вычислительной техники, наибольшее Рис. 3.5. Классификация языков САПР
распространение получил язык ФОРТРАН. Его сравнительная простота обусловливает легкость освоения и достаточно высокую эффективность объектных программ при решении задач численного анализа. Программное обеспечение существующих САПР создано в основном на основе языка ФОРТРАН. Однако язык ФОРТРАН имеет ограниченные возможности для описания сложных алгоритмов логического характера. Поэтому при создании таких программ, как мониторы или языковые процессоры, используют либо языки ассемблера, либо языки высокого уровня с более развитыми возможностями описания невычислительных процедур. К таким языкам относятся ПЛ/1, ПАСКАЛЬ, АДА, СИ.
Языки проектирования.Языки проектирования — языки, предназначенные для описания информации об объектах и задачах проектирования. Большинство этих языков относится к средствам пользователя САПР.
Среди языков проектирования выделяют языки входные, выходные, сопровождения, управления, промежуточные и внутренние.
Входные языки служат для задания исходной информации об объектах и задачах проектирования и включают в себя языки описания объектов (ЯОО) а языки описания заданий (ЯОЗ). Первые служат для описания свойств проектируемых объектов, а вторые — для описания заданий на выполнение проектных операций и процедур.
Из рис. 3.5 видно, что ЯОО, в свою очередь, делятся на языки схемные, графические и моделирования. Эти
языки используются для описания исходной информации, представленной в виде соответственно некоторой схемы, конструкторского чертежа, алгоритма функционирования. Схемные языки широко применяют при описании принципиальных электрических схем в подсистемах проектирования электронных устройств, функциональных схем — в подсистемах функционально-логического проектирования ЭВМ; графические языки — основа лингвистического обеспечения в подсистемах геометрического моделирования и машинной графики; языки моделирования развиты в подсистемах имитационное моделирования систем массового обслуживания.
Выходные языки используются для выражения результатов выполнения проектных процедур на ЭВМ.
Языки сопровождения применяются для корректировки и редактирования данных при выполнении проектных процедур.
Языки управления служат для представления управляющей информации для программно-управляемого исполнительного оборудования, например устройств документирования и технологических автоматов.
Промежуточные и внутренние языки предназначены для представления информации на определенных стадиях ее переработки в ЭВМ. Достоинство этих языков в том, что в отличие от входных языков, характеризующихся большим разнообразием, узкой проблемной ориентацией и изменчивостью при адаптации САПР к изменяющимся условиям, они являются унифицированными и более универсальными. Недостаток узкоспециализированных языков — в необходимости существенной перестройки связанной с ними программной системы при изменении условий проектирования. Недостаток универсальных языков связан с их громоздкостью и, следовательно, с неудобствами применения конечным пользователем.
Устранение указанных выше недостатков выполняется в программных системах, структура которых поясняется рис. 3.6. При этом вводятся универсальный промежуточный язык, отражающий особенности широкого класса проектируемых объектов, и узкоспециализированные входные языки, ориентированные на разработчиков объектов из некоторых подклассов проектируемых объектов.
Примечание. Классом объектов могут быть, например, системы массового обслуживания, а подклассами — многопроцессорные вычислительные системы, неоднородные вычислительные сети, информационно-поисковые системы, АСУ в различных сферах народнохозяйственной деятельности и т. п.
Пользователь составляет описание на входном языке, это описание с помощью специальной транслирующей программы, называемой конвертором, переводится на промежуточный язык. Далее работает основной транслятор, переводящий описание задачи с промежуточного языка в объектную рабочую программу. Преимущества двухуровневого лингвистического обеспечения по схеме, показанной на рис. 3.6, заключаются в тем, что программная система сравнительно легко настраивается на новые подклассы объектов. Для включения в систему нового входного языка достаточно . разработать только конвертор с этого языка на промежуточный язык. Наиболее сложная часть системы — основной языковой процессор — при этом остается без изменений.
Внутренние языки появляются в результате стремления унифицировать формы представления информации внутри ЭВМ, что облегчает решение проблем информационного согласования различных программ в САПР.
Языки процедурные и непроцедурные. Языки проектирования, предназначенные для описания развивающихся во времени процессов, обычно оказываются близкими к языкам описания алгоритмов и называются процедурными
языками. Языки проектирования, предназначенные для описания структур проектируемых объектов, называются непроцедурными языками. Примерами процедурных языков служит большинство языков описания заданий и языков моделирования систем на метауровне, непроцедурных языков — схемные языки, характер которых был пояснен при описании алгоритмов получения математических моделей систем (см. с. 48).
Как правило, для пользователя САПР непроцедурные языки более удобные. С помощью непроцедурных языков непосредственно описывается исходная схема или чертеж, пользователю нужно лишь соблюдать правила языка, не заботясь о разработке моделирующего алгоритма. Формальный характер перевода исходного рисунка схемы в текст на непроцедурном языке облегчает разработку программного обеспечения интерактивных графических систем, в которых исходная информация об объекте формируется пользователем непосредственно в виде рисунка на экране дисплея. Кодирование изображения в соответствии с правилами непроцедурного языка осуществляется автоматически.
Диалоговые языки. Важное значение для САПР имеют диалоговые режимы работы пользователя с ЭВМ. Лингвистическое обеспечение диалоговых режимов представляется диалоговыми языками. Фактически диалоговый язык объединяет в себе средства языков входного, выходного и сопровождения и служит для оперативного обмена информацией между человеком и ЭВМ. Различают пассивный и активный диалоговые режимы, и соответственно пассивные диалоговые языки и активные диалоговые языки.
В пассивном диалоговом режиме инициатива диалога принадлежит ЭВМ. Прерывание вычислительного процесса в нужных местах выполнения маршрута проектирования и обращения к пользователю осуществляются с помощью диалоговых программных средств, воплощенных в мониторной системе САПР или в мониторе ППП. Обращения ЭВМ
к пользователю могут быть следующих типов: запрос, информационное сообщение, подсказка.
Запросы предусматриваются в тех случаях, когда от человека требуется либо задание исходных данных, либо выбор между ограниченным множеством возможных продолжений проектирования. При запросе исходных данных ЭВМ высвечивает на экране дисплея шаблон,, состоящий из вопроса и пустых позиций, в которые нужно поместить ответ. Пользователь должен с помощью клавиатуры дисплея поместить в отведенные позиции запрошенные числа или фразы. При запросе варианта дальнейшего проектирования на экране высвечивается меню — вопросы и несколько поименованных вариантов ответа. Пользователю достаточно указать имя выбранного из меню ответа.
Информационные сообщения используются для передачи пользователю промежуточных и окончательных результатов решения, а также сведений о состоянии его задания. На эти сообщения не требуется реакция пользователя.
Подсказки применяются в тех случаях, когда действия пользователя ошибочны, например нарушаются формальные правила языка.
В активном диалоговом режиме инициатива начала диалога может быть двусторонней — возможности прерываний вычислительного процесса имеются и у ЭВМ, и у пользователя. Активные диалоговые языки могут быть близкими к естественному языку человека, но с ограниченным набором возможных слов и фраз. Для активного диалога требуется существенно более сложное программное обеспечение, чем для пассивного.
Примеры САПР
Примеры пакетов прикладных программ в подсистемах САПР.
В объектно-зависимых подсистемах САПР основу программного обеспечения составляют специализированные ППП. Рассмотрим состав и назначение таких ППП на нескольких конкретных примерах.
Пакет прикладных программ для моделирования и оптимизации газотурбинных двигателей [7] библиотечного типа включает в себя:
1. Модули, реализующие математические модели элементов двигателя: входного диффузора, компрессора, камеры сгорания, турбины, камеры смешения, форсажной камеры, реактивного сопла, переходного канала. Математические модели представляют собой аналитические
выражения, связывающие векторы выходных, внутренних и внешних параметров. Например, модель входного диффузора есть функциональная зависимость коэффициента восстановления давления от отношения скорости потока к скорости звука; модель турбины — система соотношений, связывающих коэффициент повышения давления, КПД, коэффициент устойчивости компрессора, энтропию, энтальпию и температуру газа на выходе с заданными внутренними и внешними параметрами.
2. Модули проектных процедур, таких, как оптимизация двигателя, анализ чувствительности, выполнение многофакторных экспериментов.
3. Модули машинной графики.
Примером ППП с монитором служит пакет для анализа полей температур, напряжений и деформаций в деталях цилиндропоршневой группы дизелей [8]. В основе пакета лежит математическое обеспечение решения двумерных задач теплопроводности и теории упругости методом конечных элементов. Кроме монитора пакет содержит библиотеку модулей, реализующих: генерацию базовых треугольных конечных элементов, вычисление матриц жесткости, базовых конечных элементов, формирование матрицы жесткости и вектора нагрузок для расчета температурных полей и напряженно-деформированных состояний деталей, решение систем линейных алгебраических уравнений методом Гаусса и нелинейных уравнений методами минимизации невязки, расчет поверхностных температур по найденному температурному полю в базовой плоскости.
Интерактивный режим работы пользователя с ППП обеспечивается наличием в пакете диалогового монитора. Примером ППП с диалоговым монитором служит пакет ПАРК для идентификации параметров математических моделей полупроводниковых приборов [9]. Комплекс входит составной частью в САПР больших интегральных схем (БИС) и является связующим звеном между подсистемами схемотехнического проектирования и проектирования компонентов БИС. Идентификация параметров осуществляется на основе минимизации расхождений между характеристиками эталонной и рассчитываемой с помощью создаваемой модели. Эталонная характеристика получается из эксперимента или рассчитывается с помощью более точной модели, относящейся к микроуровню. Выбор минимизируемого функционала, ограничений, их оперативная корректировка осуществляются в диалоговом режиме. В пакет ПАРК кроме диалогового монитора входят:
1. Модули расчета характеристик с помощью макромоделей транзисторов и диодов различных типов.
2. Модули расчета эталонных характеристик.
3. Модули оптимизации.
4. Модули визуализации характеристик в табличном или графическом виде на экране дисплея.
5. Модули редактирования данных.
Достаточно развитыми ППП машинной графики, используемыми в САПР, являются пакеты ГРАФОР и ФАП-КФ.
Оба пакета представляют собой совокупность подпрограмм, реализующих различные операции геометрического проектирования. Входные языки пакетов являются расширением языка ФОРТРАН, алгоритм, выраженный на этих языках, есть последовательность операторов языка ФОРТРАН (главным образом операторов обращения к графическим процедурам). Пакет прикладных программ ГРАФОР ориентирован на обеспечение вывода информации из ЭВМ в графической форме. Подпрограммы пакета делятся на шесть групп. В группу 1 входят подпрограммы инициализации и завершения. С их помощью пользователь указывает единицы расстояний при вычерчивании, задает количество страниц выводимой информации, выбирает цвет и толщину линий путем указания номера соответствующего пера из числа нескольких имеющихся. Группа 2 включает в себя подпрограммы вычерчивания графических примитивов (отрезок прямой, многоугольник, равномерная прямоугольная сетка, дуга окружности, участок спирали, дуга эллипса, в частности прямоугольник, окружность, эллипс). В группу 3 входят подпрограммы для вывода текстовой информации. Операторы входного языка позволяют задавать местоположение, размеры и наклон печатаемых букв, цифр и специальных символов. Подпрограммы группы 4 предназначены для вычерчивания графиков заданных функций. В операторах вычерчивания указываются массивы чисел, рассматриваемых как координаты последовательных точек кривых, которые будут соединены ломаной прямой. Построение возможно в обычном и логарифмическом масштабах. Группа 5 состоит из подпрограмм аффинных преобразований, к которым относятся такие элементарные преобразования целых изображений или их частей, как сдвиг, поворот, растяжение (сжатие), симметричное отображение. Группа 6 подпрограмм ориентирована на вычерчивание изображений трехмерных объектов.
Пакет прикладных программ ФАП-КФ кроме операций вывода графической информации обеспечивает решение ряда других задач геометрического проектирования, например метрических задач, связанных с расчетом моментов инерции и масс тел, размерных цепей, задач типа оптимального раскроя материала, подготовки управляющей информации для станков с ЧПУ и т.п.
Промышленные САПР. Наибольшее развитие получили САПР в радиоэлектронике, что объясняется как высокой сложностью проектируемых объектов и, следовательно, острой необходимостью автоматизации проектирования, так и наличием соответствующих инженерных кадров.
Примером крупной САПР в электронной промышленности может служить САПР БИС [3], имеющая трехуровневую структуру. ЦБК построен на базе трехмашинного комплекса из ЭВМ БЭСМ-6. Интерактивно-графический комплекс состоит из АРМ с мини-ЭВМ типов «Электроника 100-25» и М-6000. Автоматизированные рабочие места подключены к ЦВК по радиальной схеме, показанной на рис. 3.2, а.
Общее программное обеспечение представляет собой операционную систему ДИСПАК, дополненную рядом диалоговых систем общего назначения. При этом обеспечивается функционирование трехмашинного комплекса, связь вычислительных машин осуществляется через общее поле внешней памяти. Реализуется одновременная работа с ЦВК до 16 пользователей в режиме разделения времени со средним временем
реакции ЭВМ не более 2 с. Общее число обслуживаемых рабочих мест может доходить до 48. Основной язык программирования — ФОРТРАН. САПР БИС состоит из нескольких проектирующих подсистем. В подсистеме функционально-логического проектирования проводится моделирование логических схем. В подсистеме схемотехнического проектирования решаются задачи анализа и оптимизации электронных схем. В подсистеме приборно-технологического проектирования моделируются процессы в отдельных компонентах БИС при их изготовлении и функционировании. Рассмотренный выше комплекс ПАРК является составной частью этой подсистемы. В подсистеме топологического проектирования выполняются процедуры размещения компонентов в полупроводниковой пластине, трассировка электрических соединений, проверка соответствия топологической и электрической схем. В подсистеме проектирования фотошаблонов, относящейся к технологическому комплексу САПР БИС, готовится информация для изготовления фотошаблонов на специальных фотонаборных установках.
Примерами САПР радиоэлектронной аппаратуры являются система РАПИРА и ее дальнейшее развитие в системе ПРАМ [10]. Системы РАПИРА и ПРАМ представляют собой совокупность автономных подсистем автоматизированного проектирования, представленных ППП сложной структуры со своим лингвистическим и информационным обеспечением. Большинство подсистем требует технического обеспечения в виде ЭВМ единой серии с емкостью оперативной памяти не менее 512К байт. Для подсистем, связанных с выпуском документации, требуются чертежные автоматы. Некоторые из подсистем ориентированы на исполнение на мини-ЭВМ типа СМ. Основным языком программирования является язык ПЛ/1. Проектирующие подсистемы РАПИРЫ и ПРАМА решают широкий круг задач проектирования радиоэлектронной аппаратуры на макро- и метауровнях: моделирование функциональных и принципиальных схем, синтез контролирующих и диагностических тестов, конструирование печатных плат, СВЧ-узлов и гибридных интегральных схем, оформление конструкторской документации, подготовка управляющей информации для программно-управляемых технологических автоматов и т. п.
В последнее время наблюдается бурное развитие САПР объектов в машиностроении. Краткое описание некоторых из таких САПР содержится в [11].
Примером таких САПР является система для проектирования летательных аппаратов, включающая ряд проектирующих подсистем. В подсистеме формирования конфигурации (облика) аппарата выбирается компоновочная схема, оцениваются масса, стоимость объекта и другие выходные параметры на верхнем иерархическом уровне. В подсистеме прочностных расчетов анализируются напряженно-деформированные состояния основных конструктивных частей объекта под влиянием возможных динамических и статических нагрузок. В подсистеме конструирования X и машинной графики выполняется геометрическое проектирование и оформление конструкторской документации. В подсистеме технологической подготовки производства проектируются технологические процессы и вырабатывается управляющая информация для
станков с числовым программным управлением. Кроме того, существуют отдельные САПР для таких частей объекта, как силовая установка и подсистема жизнеобеспечения. Для проектирования элементов гидроприводов создана САПР «Гидрооборудование» с помощью, которой выполняются проектные процедуры анализа и синтеза по отношению к таким объектам, как насосы, гидродвигатели и т.п. В составе САПР имеются подсистемы машинной графики и оформления документации, синтеза структур гидроприводов, синтеза элементов гидрооборудования, синтеза оптимальных параметрических рядов оборудования, обработки результатов экспериментов, проектирования технологических процессов, информационно-справочная. Синтез реализуется в пределах заданных конструктивных схем, т. е. сводится к параметрической оптимизации. В качестве ЭВМ используется ЕС 1022. Предусмотрены диалоговые средства общения с системой, применяется пассивный режим диалога на основе шаблонов и меню. Монитор системы выражен на языке ПЛ/1, а функциональные модули — на языке ФОРТРАН. Автоматизация проектирования металлообрабатывающих станков и оборудования осуществляется с помощью САПР, включающей несколько проектирующих подсистем. Техническое обеспечение системы представлено ЕС 1022, дисплейными станциями ЕС 7906 или ЕС 7920, графопостроителями.
В подсистеме проектирования тяжелых и уникальных станков реализуется типовой маршрут, состоящий из процедур формирования ТЗ, синтеза компоновочной схемы, эскизного проектирования конструктивных узлов станка, прочностных расчетов, геометрического моделирования, оформления конструкторской документации. Прикладное ПО представлено несколькими пакетами прикладных программ. В первом ППП имеются программы для расчета нагрузок и прочности валов, зубчатых колес, подшипников качения, резьбовых соединений. Во второй ППП включены программы для определения деформаций в плоских направляющих, для расчета изгиба балок на упругом основании, кручения балок, радиального биения шпинделей, для оценки жесткости привода подач и т. п. С помощью третьего ППП осуществляются расчеты моментов инерции, масс, жесткостей различных деталей. В четвертом ППП содержатся программы для расчета динамических режимов процесса резания, вынужденных колебаний крутильных систем, оценки виброустойчивости оборудования. В подсистеме проектирования продольно-обрабатывающих станков имеется ПО для автоматизации таких процедур, как поиск компоновочных схем среди конечного множества заранее подготовленных вариантов, определение габаритных размеров рабочего пространства станка, проверка возможности обработки с помощью заданного инструмента и др.
В подсистеме проектирования деталей основной выполняемой процедурой является оформление конструкторской документации. Существенное ускорение и облегчение процедуры достигается применением методов комплексного чертежа и чертежа-заготовки. Метод комплексного чертежа реализует принцип выделения варианта из обобщенной структуры. Обобщенная структура составляется на группу деталей и является избыточным чертежом, из которого конкретные чертежи получаются удалением избыточных элементов. В качестве групп деталей фигурируют
множества деталей типа крышек, фланцев, кожухов, валов, зубчатых колес и т. п. В виде комплексных чертежей удается представить чертежи 85% всех деталей станков. Чертежи заготовки также заранее составляются для класса деталей, но содержат лишь часть графических элементов, повторяющихся в чертежах всех деталей данного класса. Специфические графические элементы, в том числе! значения указываемых на чертеже размеров, добавляются при оформлении чертежей конкретных деталей.
Особенности учебно-исследовательских САПР. Промышленные САПР не предназначены для выполнения функций обучения методам и приемам работы с САПР. Поэтому в технических вузах создаются и используются учебно-исследовательские САПР (УИ САПР).
Для УИ САПР политехнического вуза характерны следующие особенности:
Многопрофильность, обусловленная наличием в вузе большого числа профилирующих кафедр и дисциплин по проектированию технических объектов. Возможности технических средств в вузе обычно имеют более заметные ограничения, чем на крупных предприятиях промышленности. Это приводит к трудностям при адаптации промышленных САПР и к практической невозможности одновременной эксплуатации многих промышленных САПР в условиях вуза.
Разнообразие математического обеспечения, диктуемое как необходимостью обеспечения многопрофильное™ УИ.САПР, так и потребностями построения учебного процесса на основе анализа и сопоставления ряда конкурирующих методов, алгоритмов и моделей.
Наличие развитых элементов обучающих систем, поскольку значительная часть пользователей УИ САПР не имеет нужных навыков и достаточной квалификации.
Массовость использования, связанная с значительным числом обучающихся в вузе студентов.
Преобладание укороченных маршрутов проектирования, представляющих собой лишь фрагменты реальных маршрутов, и меньшая сложность информационных связей в базе данных по сравнению с промышленными САПР.
Преобладание задач малой размерности.
С одной стороны, эти особенности усложняют построение УИ САПР по сравнению с промышленными САПР. Учебно-исследовательские САПР должны быть открытыми системами, приспособленными для эволюционного развития путем модерниза
ции и добавления новых элементов математического, программного обеспечения и входных языков. В УИ САПР должны быть развиты средства диалогового взаимодействия. Необходим богатый набор математических моделей и методов для выполнения проектных процедур. Многопрофильность обеспечивается развитым инвариантным ядром, усилением проектно-независимых подсистем. С другой стороны, эти Особенности облегчают требования к базе данных УИ САПР, позволяют при тех же вычислительных ресурсах обслуживать большее число пользователей, выбирать иные, чем в промышленных САПР, компромиссы между требованиями к точности и экономичности математических моделей.