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

При разработке алгоритмов САУ коллеги применяют методы модельно-ориентированного проектирования, полунатурное моделирование и HIL-тестирование (тестирование готовых электронных блоков на модели двигателя, а не настоящем ГТД). До недавнего времени в компании широко применялись зарубежные программные комплексы компании Mathworks (MATLAB, Simulink, Simscape и т.д.), которые использовались на протяжении полного цикла работ. Очевидно, что задача на среднесрочную перспективу - переход на российские программные решения. Кроме того, при переходе к новому ПО требуется учитывать наличие богатой стендовой базы, построенной на аппаратных решениях National Instruments.
От идеи до реализации
Итак, как же выглядит базовый путь инженерных служб, разрабатывающих в первую очередь алгоритмы САУ? Ответ можно продемонстрировать следующей схемой:

Ключевые этапы разработки - это:
Разработка математической модели ГТД как объекта управления верхнего уровня - нам нужно понимать, как реагирует ГТД на подачу топлива, какая динамика у газодинамических процессов и как меняются измеряемые параметры
Разработка математических моделей гидромеханических агрегатов (например, дозатора топлива) - здесь, во-первых, необходимо оценить поведение агрегата в зависимости от конструктивных особенностей (площади внутренних каналов, массы золотника, жёсткости пружин и т.п.), и, во-вторых, разрабатывать алгоритмы САУ с учетом динамики такого исполнительного механизма. Исходя из задачи обычно разрабатываются математические модели агрегатов с разной степенью детализации: для первой подзадачи необходимы подробные математические модели, учитывающие внутреннюю структуру и характеристики, а для второй - достаточно математического описания динамики объекта, например, с помощью передаточных функций из теории автоматического управления.
Разработка регулятора САУ, как на к��нцептуальном уровне (определение структуры, контуров, требований к качеству регулирования), так и на близком к реализации в железе уровне, где становятся важны аспекты, связанные с работой на микропроцессорах (дискретное выполнение расчёта и передача данных, обработка возможных отказов и т.д.).
Переход к полунатурному тестированию и отладке. Основные задачи - получить код из моделей ГТД и агрегатов для запуска на машине реального времени для имитации реальных образцов, а также получить код из модели алгоритмов для исключения ручного кодирования электронного блока управления.
Выполнение этих задач позволяет существенно сократить сроки разработки а также минимизировать количество ошибок в готовом изделии, а значит и сократить объемы отладки во время доводочных и сертификационных испытаний. А это, в свою очередь, значит, что пресловутое импортозамещение должно как минимум не сломать выполнение приведённых выше задач, как максимум - сохранить привычные принципы работы и переиспользовать весь накопленный опыт.
Такие вводные и привели инженеров ОДК-СТАР к формированию функциональных требований для анализа российского ПО.
Тестовые задачи, участники и результаты сравнения
Очевидно, что тестовые задачи для инженерного ПО по смыслу будут очень близки к реально выполняемым работам, вот они:
Моделирование поведения ГТД
Доп. критерии - наличие конвертера моделей из Simulink для сокращения срока перехода на потенциально новое ПО, а также возможность работы с моделями с помощью скриптов - важная функциональность для автоматизации тестирования и отладки разработанных моделей.Моделирование системы топливоподачи (детализированная модель дозатора топлива с учетом гидравлических, механических и электрических элементов)
Моделирование многоконтурной САУ авиационным двигателем
Доп. критерий - наличие инструментов моделирования событийной логики в виде графов перехода между состояниями - структура САУ предполагает сложные зависимости между режимами работы, которые трудно описываются традиционными условиями if-else… .Генерация кода из алгоритмов САУ и математических моделей объектов управления.
Доп. критерий - возможность работы с имеющейся инфраструктурой стендовой базы и наличие совместимых российский аппаратных комплексов реального времени.
Для тестирования работы в описанном пространстве задач помимо Engee были выбраны ещё две наиболее известные среды математического и имитационного моделирования, присутствующие на российском рынке и включенные в реестр российского ПО. Первая из них присутствует на рынке давно, вторая - молодая, но быстрорастущая среда.
Далее по тексту статьи могло бы быть подробное описание принципов работы в Engee, скриншоты моделей и слова о том, что инженерам всё понравилось. Мы не хотим повторяться, если интересно - можно снова перечитать нашу статью о применении Engee в двигателестроении, посмотреть на наш опыт в моделировании других авиационных систем, или подискутировать о принципиальной необходимости математического моделирования при проектировании сложных систем.
Здесь же мы хотим привести лишь итоговую таблицу, в которой инженеры, изучавшие российские решения и работавшие хоть над тестовыми, но все же важными задачами, отметили итоговые результаты по каждому из ПО.
Задача | Результат Engee | Российское ПО №2 | Российское ПО №3 |
Моделирование ГТД | Результаты моделирования в Engee полностью совпадают с результатами в Simulink. | ГТД может быть смоделирован | Отсутствие полного набора необходимых блоков, невозможность построения сложной многоуровневой модели |
Перенос модели ГТД конвертером моделей из Simulink | Конвертер моделей работает, необходима настройка моделей, необходим ручной перенос отдельных фрагментов кода (при наличии) | Ограниченное количество блоков, доступных для конвертирования. Фактически неработоспособное решение | Есть конвертер моделей из Simulink для старых релизов. Фактически неработоспособное решение |
Программное управление для работы с моделями | Имеется полноценная среда скриптовых расчётов с возможностью взаимодействия с моделями | Отсутствует | Отсутствует |
Моделирование системы топливоподачи | Модель дозатора собрана и работоспособна, потребовалась тонкая настройка локального решателя. | Система топливоподачи принципиально может быть смоделирована, затруднения с пользовательским интерфейсом и отладкой | Отсутствуют необходимые блоки для моделирования. Нет решателей для жестких систем дифференциальных уравнений. |
Моделирование регулятора с событийной логикой | Функционал библиотеки “Конечные автоматы” позволяет разрабатывать сложную логику переключения режимов управления | Есть имитация конечных автоматов с минимальным функционалом. Регулятор не удалось построить из-за недостатка функциональности, непонятного интерфейса и отсутствия возможностей отладки. | Функциональность представлена в количестве, недостаточном для полноценной работы. |
Запуск модели объекта на аппаратных платформах | Генерация платформонезависимого С-кода. Запуск на стендах NI | Инструменты кодогенерации позволяют получить C-код из моделей, состоящих исключительно из базовых блоков. | Инструменты кодогенерации поддерживают не более 20% необходимых для моделирования блоков. |
Наличие совместимых аппаратных комплексов | Запуск моделей на совместимом комплексе полунатурного моделирования РИТМ осуществляется “по кнопке” из Engee. | Отсутствуют бесшовно интегрируемые программно-аппаратные комплексы. | Отсутствуют бесшовно интегрируемые программно-аппаратные комплексы. |
Генерация C-кода из полной модели регулятора | Код сгенерирован из полной модели. Человекочитаемый и трассируемый к модели код | Возможно для моделей, состоящих исключительно из базовых блоков. | Невозможна |
Проверка сгенерированного кода Software-in-the-Loop тестирование | SIL-тестирование подтверждает эквивалентность сгенерированного в Engee кода исходной модели регулятора в Simulink | Возможна, требуются дополнительные действия по переносу кода. | Невозможна |
Заключение
Проведенное инженерами ОДК-СТАР тестирование подтвердило, что Engee является на сегодняшний день наиболее проработанным и функционально полным российским решением для задач проектирования систем автоматического управления (САУ). Ключевое преимущество - покрытие полного цикла работ - от создания сложных моделей объекта управления до генерации кода для «железа». Успешный проект на тестовых задачах создает основу для поэтапного внедрения Engee в реальные проекты промышленности. Это не просто «вынужденное замещение», а переход на работоспособную отечественную платформу, которая позволяет сохранить и транслировать накопленные методики и опыт.
Материал подготовлен в соавторстве с Марией Евгеньевной Санниковой, инженером-конструктором 3 категории конструкторского отдела разработки программного и математического обеспечения систем автоматического управления (КО-4)
