Scientific journal
Modern problems of science and education
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 1,006

INTEGRATED ENVIRONMENT FOR ENGINEERING CALCULATIONS

Kozhinov D.G. 1 Krivosheev I.A. 1 Akhmedzyanov D.A. 1 Gorjunov I.M. 1
1 Ufa State Aviation Technical University
An integrated environment is described, based on object-oriented approach and Pascal algorithmic language. The environment is designed for modeling of technical systems and engineering calculations. Object-oriented approach allows decomposing problems into tasks, reducing overall complexity of modeling to coding of particular calculation algorithms of individual object classes. For the coding, algorithmic language Pascal is used. Using Pascal further simplifies the task, as Pascal is a well-structured language, based on a small number of simple rules. Also, Pascal is a well-known algorithmic language, and using it reduces learning curve. This allows formalizing almost any design and finishing situations, which an aircraft engines designer may encounter. The described environment is aimed to be used in design and operation of aircraft engines, power plants, and other industrial products. It is successfully used in a number of industries and high schools.
pascal
object-oriented approach
mechanical engineering
engineering calculations
design
modeling
simulation

Введение

Компьютерные методы и средства, применяемые для инженерных вычислений, находятся в постоянном развитии. Это определяется быстрыми изменениями в возможностях вычислительной техники. За какие-нибудь два десятка лет перфокарты и алфавитно-цифровые терминалы уступили место компактным рабочим станциям с богатыми вычислительными и графическими возможностями. Авторы, занимаясь автоматизацией инженерных вычислений в течение более 20 лет, постоянно находятся на переднем крае развития информационных технологий, предоставляя инженерам-проектировщикам современные программные средства для автоматизации их деятельности. В данной статье рассматривается версия 3 системы CAMCTO (система автоматизированного моделирования сложных технических объектов), которая качественно отличается от предыдущих версий и фактически представляет собой новый, отдельный программный продукт. По ряду признаков технологию САМСТО можно относить к средствам графосимволического программирования или к средствам имитационного моделирования (ИМ). В 3 версии системы САМСТО преемственность сохранена на уровне оригинальной методологии моделирования [1; 2]. Жизненный цикл программного продукта CAMCTO показан на рис. 1.

Рис. 1. Жизненный цикл программного продукта CAMCTO

Цель исследования

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

Материал и методы исследования

Материал исследования включает многолетний опыт разработки систем автоматизированного моделирования и проектирования авиационных двигателей [2], оригинальную объектно-ориентированную методологию моделирования сложных технических объектов [1], данные о существующих авиационных двигателях и энергетических установках. Методы исследования основаны на современных информационных технологиях.

Принцип готового решения

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

Объектно-ориентированный подход

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

Чтобы составить модель, пользователь перетаскивает классы из предметной области на рабочее поле CAMCTO (рис. 2). Можно создать несколько объектов одного класса, например объект «компрессор низкого давления» и объект «компрессор высокого давления» класса Компрессор.

Рис. 2. Создание объекта «входное устройство» из соответствующего класса

 

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

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

Встроенный Pascal

Для реализации методов объектных классов используется встроенный в CAMCTO алгоритмический язык Pascal, являющийся подмножеством языка Object Pascal. Встроенный Pascal обладает следующими возможностями:

• переменные, константы;

• функции и процедуры;

• стандартные конструкции языка:

  • Begin/End,
  • If/Then/Else,
  • For/To/Downto/Do,
  • Case x of,
  • Repeat/Until,
  • While,
  • Exit,
  • Continue,
  • Break
  • Try/Except/End,
  • Try/Finally/End;

• вызов внешних функций из DLL;

• все общие типы, такие как Integer, Cardinal, ShortInt, SmallInt, LongInt, Int64, Byte, Word, LongWord, Real, Single, Double, Extended, Currency, String, AnsiString, UnicodeString, WideString, Char, AnsiChar, WideChar, Boolean, ByteBool, WordBool, LongBool, Перечисления, Варианты, Массивы, Записи, Множества;

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

• поддерживает включаемые файлы (части алгоритма во внешних файлах - {$I имя_файла});

• поддерживает условную компиляцию ({$DEFINE}, {$UNDEF}, {$IFDEF}, {$IFNDEF}, {$ELSE}, {$ENDIF}).

Исходный код компилируется в байт-код, который затем выполняется (интерпретируется). Хотя интерпретация байт-кода происходит медленнее, чем выполнение машинного кода, встроенный Pascal достаточно быстр.

Тест быстродействия интерпретатора Pascal

Для оценки скорости выполнения кода встроенным интерпретатором Pascal авторами составлена тестовая программа, которая выполняет миллион циклов с вычислениями над вещественными числами в каждом цикле. Для реализации примера в среде CAMCTO 3 создан объектный класс, и задан метод Main для него следующим образом (рис. 3):

Рис. 3. Тест быстродействия встроенного интерпретатора Pascal

При запуске данного примера на выполнение в панели сообщений появляется время выполнения теста. В данном случае на компьютере с процессором Intel® Core™ i3 M330 @ 2.13 ГГц время выполнения теста составило 2 секунды.

Почему используется язык Pascal

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

Рис. 4. Соотношение качеств алгоритмических языков

Object Pascal в равной мере обладает всеми тремя взаимоисключающими качествами. В САМСТО встроена реализация алгоритмического языка Object Pascal.

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

Результаты исследования

Разработанная авторами интегрированная среда CAMCTO успешно применяется в ряде авиамоторных ОКБ и заводов, в эксплуатирующих организациях, высших учебных заведениях. В среде САМСТО (рис. 5) в НИЛ САПР-Д УГАТУ был создан целый ряд систем имитационного моделирования (СИМ), прежде всего ГТД (DVIGw), его узлов, а также других процессов и объектов (включая экономические, биологические и экологические системы) – рис. 6. Справочное руководство CAMCTO, включающее подробное описание возможностей встроенного языка Pascal, доступно в Интернете по адресу http://www.ad.ugatu.ac.ru/help.htm .

Рис. 5. Схема формализации предметной области путем формирования с помощью САМСТО системы имитационного моделирования (СИМ) для многоуровневого моделирования и автоматизированного проектирования сложных технических объектов (самолет, двигатель и системы в его составе)

Рис. 6. Примеры созданных с использованием технологии САМСТО систем имитационного моделирования (СИМ) для моделирования ГТД, ДВС, энергоустановок, ракетных двигателей, экологических систем (бассейны рек и водоемов)

Заключение

Созданная в НИЛ САПР-Д УГАТУ интегрированная среда CAMCTO предназначена для автоматизации инженерных расчётов, например применяемых при разработке и эксплуатации авиационных двигателей, энергоустановок и других изделий машиностроения. Она получила широкое распространение в учебном процессе в авиационных вузах (УГАТУ, СГАУ, КГТУ) и успешно используется в промышленности (Энергомаш-корпорация, СНТК им. Н.Д.Кузнецова).

Исследование выполнено при поддержке Министерства образования и науки Российской Федерации

Рецензенты:

Кульга Константин Станиславович, д.т.н., профессор кафедры мехатронных станочных систем ФГБОУ ВПО «Уфимский государственный авиационный технический университет» (Министерство образования и науки РФ), г. Уфа.

Жернаков С.В. д.т.н., зав. кафедрой электроники и биомедицинских технологий ФГБОУ ВПО «Уфимский государственный авиационный технический университет» (Министерство образования и науки РФ), г. Уфа.