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

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

  1. Открытая модель Simulink.

    Например:

    watertank
  2. Откройте Браузер Библиотеки Simulink путем выбора View> Library Browser в окне модели.

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

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

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

      Модель теперь напоминает следующую фигуру.

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

    Чтобы узнать больше о параметрах блоков, смотрите страницы с описанием блока.

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

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

    Совет

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

    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 for 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 in Plot type

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

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

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

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

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

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

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

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

    Совет

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

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

sys

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

sys = 

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

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

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

Смотрите также

Похожие темы