Проверьте модель Используя Simulink Control Design и блоки верификации Simulink

Этот пример показывает, как использовать комбинацию Simulink® Control Design™ и блоков верификации Simulink, чтобы утверждать, что характеристики линейной системы удовлетворяют одну из следующих границ:

  • Поле фазы, больше, чем 60 градусов

  • Поле фазы меньше чем 60 градусов и скорость, меньше чем или равная 90% скорости круиза.

  1. Откройте модель Simulink самолета.

    scdmultiplechecks

    Модель самолета основана на пассажирском самолете долгого пути, летящем на крейсерской высоте и скорости. Самолет запускается с полной топливной загрузки и следует за предзаданным 8-часовым скоростным профилем. Модель является упрощенной версией скоростного цикла управления, который настраивает топливную скорость потока, чтобы управлять скоростью самолета.

    Модель включает блоки в модель:

    • Расход топлива и получившиеся изменения в массе самолета

    • Нелинейные черновые эффекты, ограничивающие скорость самолета

    Константы, используемые в модели, такие как коэффициент сопротивления, заданы в рабочем пространстве модели и инициализированы из скрипта.

    v <= 0.9*vCruise и блоки Assert that: PM >= 60 or if PM < 60 then v <= 0.9*vCruise являются Проверкой Статические блоки Верхней границы и Утверждения, соответственно, от библиотеки Simulink Model Verification. В этом примере вы используете эти блоки с блоком Check Gain and Phase Margins, чтобы разработать сложную логику для утверждения.

  2. Просмотрите вход линеаризации, выведите и настройки во вкладке Linearizations диалогового окна параметров блоков Запасов по амплитуде и фазе Проверки.

    Модель была уже сконфигурирована с:

    • Ввод и вывод линеаризации для вычислительных запасов по амплитуде и фазе

    • Настройки, чтобы вычислить линейную систему

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

  3. Задайте границы поля фазы во вкладке Bounds блока Check Gain and Phase Margins.

    В этом примере ввод и вывод линеаризации включает блок суммирования с отрицательной обратной связью. Измените Feedback sign, используемый, чтобы вычислить поле, к positive feedback.

    Чтобы просмотреть поля фазы, которые будут вычислены позже во время симуляции, задайте Tabular в Plot type и нажмите Show Plot.

  4. Разработайте логику утверждения, которая заставляет блоки верификации утверждать, когда поле фазы больше, чем 60 градусов или если поле фазы является меньше чем 60 градусами, скорость меньше чем или равна 90% скорость круиза.

    1. В диалоговом окне Check Gain and Phase Margins Block Parameters, во вкладке Assertion, выбирают Output assertion signal и нажимают Apply.

      Это действие добавляет выходной порт z-1 в блок.

    2. Дважды кликните блок v <= 0.9*vCruise и задайте параметры блоков, как показано в следующей фигуре. После установки параметров нажмите Apply.

      Эти параметры конфигурируют блок к:

      • Проверяйте, превышает ли скорость самолета скорость круиза к 0,9 разам

      • Добавьте выходной порт в блок

    3. Соедините Запасы по амплитуде и фазе Проверки, v <= 0.9*vCruise и блоки Assert that: PM >= 60 or if PM < 60 then v <= 0.9*vCruise, как показано в следующей фигуре.

      Эта связь заставляет блок Assert that: PM >= 60 or if PM < 60 then v <= 0.9*vCruise утверждать и останавливать симуляцию, если поле фазы является меньше чем 60 градусами, и скорость больше, чем 90% скорости круиза.

    Также можно ввести scdmultiplechecks_final в подсказке MATLAB®, чтобы открыть модель Simulink, уже сконфигурированную с этими настройками.

  5. Моделируйте модель путем выбора Simulation> Run в Редакторе Simulink.

    Во время симуляции:

    • Блок v <= 0.9*vCruise утверждает многократно.

    • Блок Check Gain and Phase Margins утверждает два раза. Можно просмотреть поля фазы, которые нарушают связанное в окне графика.

    • Assert that: PM >= 60 or if PM < 60 then v <= 0.9*vCruise не сталкивается с условием утверждения. Поэтому симуляция не останавливается.

  6. Щелкните по ссылке в нижней части модели Simulink, чтобы открыть окно Diagnostic Viewer.

    Когда блок утверждает, предупреждения появляются в этом окне. Можно посмотреть детали утверждений путем щелчка по ссылке в этом окне.