Проверьте модель с помощью блоков Simulink Control Design и Simulink Verification

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

  • Запас по фазе более 60 степени

  • Запас фазы менее 60 степени и скорость менее или равная 90% от крейсерской скорости.

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

    scdmultiplechecks

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

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

    • Расход топлива и, как следствие, изменения массы самолета

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

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

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

  2. Просмотрите вход, вывод и настройки линеаризации на вкладке Linearizations диалогового окна параметров Check Gain and Phase Margins блоков.

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

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

    • Настройки для вычисления линейной системы

    Программа линеаризирует цикл, наблюдаемый блоком 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. Соедините Check Gain and Phase Margins, 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. Симулируйте модель.

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

    • The v <= 0.9*vCruise блок утверждает несколько раз.

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

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

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

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

Для просмотра документации необходимо авторизоваться на сайте