Визуализация линейной системы на нескольких снимках симуляции

Этот пример показывает, как визуализировать характеристики линейной системы нелинейного Simulink® модель на нескольких снимках симуляции.

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

    Для примера:

    watertank
  2. Откройте браузер библиотеки Simulink. В редакторе Simulink, на вкладке Simulation, нажмите Library Browser.

  3. Добавьте блок графика в модель Simulink.

    1. В библиотеке Simulink Control Design выберите Linear Analysis Plots.

    2. Перетащите блок, такой как блок Gain and Phase Margin Plot, в окно модели Simulink.

      Теперь модель напоминает следующий рисунок.

  4. Дважды кликните блок, чтобы открыть диалоговое окно Параметров блоков.

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

  5. Задайте точки ввода-вывода линеаризации.

    Линейная система вычисляется для системы бака с водой.

    Совет

    Если ваша модель уже содержит точки ввода-вывода, блок автоматически обнаруживает эти точки и отображает их. Щелкните в любое время, чтобы обновить таблицу Linearization inputs/outputs с помощью операций ввода-вывода из модели.

    1. Чтобы задать вход:

      1. Щелкните рядом с таблицей Linearization inputs/outputs.

        Диалоговое окно Параметров блоков развернется для отображения области Click a signal in the model to select it.

      2. В модели Simulink щелкните выходной сигнал PID Controller блок, чтобы выбрать его.

        Область Click a signal in the model to select it обновляется, чтобы отобразить выбранный сигнал.

        Совет

        Можно выбрать несколько сигналов сразу в модели Simulink. Все выбранные сигналы появляются в области Click a signal in the model to select it.

      3. Щелкните, чтобы добавить сигнал к таблице Linearization inputs/outputs.

    2. Чтобы задать выход:

      1. В модели Simulink щелкните выходной сигнал Water-Tank System блок, чтобы выбрать его.

        Область Click a signal in the model to select it обновляется, чтобы отобразить выбранный сигнал.

      2. Щелкните, чтобы добавить сигнал к таблице Linearization inputs/outputs.

      3. В раскрывающемся списке Configuration таблицы Linearization inputs/outputs выберите Open-loop Output для watertank/Water-Tank System : 1.

      Теперь Linearization inputs/outputs таблица напоминает следующий рисунок.

    3. Щелкните, чтобы свернуть область Click a signal in the model to select it.

    Совет

    Кроме того, перед добавлением блока Linear Analysis Plots щелкните правой кнопкой мыши по сигналам в модели Simulink и выберите Linear Analysis Points > Input Perturbation и Linear Analysis Points > Open-loop Output. Аннотации ввода-вывода линеаризации появляются в модели, а выбранные сигналы появляются в таблице Linearization inputs/outputs.

  6. Задайте время моментального снимка симуляции.

    1. На вкладке Linearizations проверьте, что Simulation snapshots выбран в Linearize on.

    2. В поле Snapshot times введите [0 1 5].

  7. Задайте тип графика, чтобы построить график усиления и запасов по фазе. Тип графика Bode по умолчанию.

    1. Выберите Nichols в Plot type

    2. Щелкните Show Plot, чтобы открыть пустой график Николса.

  8. Сохраните линейную систему.

    1. Выберите вкладку Logging.

    2. Выберите опцию Save data to workspace и укажите имя переменной в поле Variable name.

      Вкладка Logging теперь напоминает следующий рисунок.

  9. Постройте график усиления и запасов по фазе нажатием в окне графика.

    Программа линеаризирует фрагмент модели между входом линеаризации и выходом в времена симуляции 0, 1 и 5 и графики усиления и запасов по фазе.

    После завершения симуляции окно plot напоминает следующий рисунок.

    Совет

    Щелкните, чтобы просмотреть легенду.

Вычисленная линейная система сохранена как sys в MATLAB® рабочей области. sys - структура с time и values поля. Чтобы просмотреть структуру, введите:

sys

Эта команда возвращает следующие результаты:

sys = 

         time: [3x1 double]
       values: [4-D ss]
    blockName: 'watertank/Gain and Phase Margin Plot'
  • The time поле содержит времена симуляции, в которое модель линеаризируется.

  • The values поле является массивом объектов пространства состояний, которые хранят линейные системы, вычисленные в заданные времена симуляции.

(Если модель Simulink сконфигурирована, чтобы сохранить выход симуляции как один объект, структуру данных sys является полем в Simulink.SimulationOutput объект, который содержит записанные в журнал данные моделирования. Для получения дополнительной информации о регистрации данных в Simulink, смотрите Экспорт данных моделирования и Simulink.SimulationOutput страница с описанием.)

См. также

Похожие темы