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

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

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

От идеи до реализации

Итак, как же выглядит базовый путь инженерных служб, разрабатывающих в первую очередь алгоритмы САУ? Ответ можно продемонстрировать следующей схемой:

Ключевые этапы разработки - это:

  1. Разработка математической модели ГТД как объекта управления верхнего уровня - нам нужно понимать, как реагирует ГТД на подачу топлива, какая динамика у газодинамических процессов и как меняются измеряемые параметры

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

  3. Разработка регулятора САУ, как на к��нцептуальном уровне (определение структуры, контуров, требований к качеству регулирования), так и на близком к реализации в железе уровне, где становятся важны аспекты, связанные с работой на микропроцессорах (дискретное выполнение расчёта и передача данных, обработка возможных отказов и т.д.).

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

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

Такие вводные и привели инженеров ОДК-СТАР к формированию функциональных требований для анализа российского ПО.

Тестовые задачи, участники и результаты сравнения

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

  1. Моделирование поведения ГТД
    Доп. критерии - наличие конвертера моделей из Simulink для сокращения срока перехода на потенциально новое ПО, а также возможность работы с моделями с помощью скриптов - важная функциональность для автоматизации тестирования и отладки разработанных моделей.

  2. Моделирование системы топливоподачи (детализированная модель дозатора топлива с учетом гидравлических, механических и электрических элементов)

  3. Моделирование многоконтурной САУ авиационным двигателем
    Доп. критерий - наличие инструментов моделирования событийной логики в виде графов перехода между состояниями - структура САУ предполагает сложные зависимости между режимами работы, которые трудно описываются традиционными условиями if-else… .

  4. Генерация кода из алгоритмов САУ и математических моделей объектов управления.
    Доп. критерий - возможность работы с имеющейся инфраструктурой стендовой базы и наличие совместимых российский аппаратных комплексов реального времени.

Для тестирования работы в описанном пространстве задач помимо 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)