В этом примере показано, как визуализировать характеристики линейной системы нелинейной модели Simulink® в нескольких снимках состояния симуляции.
Открытая модель Simulink.
Например:
watertank
Откройте Браузер Библиотеки Simulink. В Редакторе Simulink, на вкладке Simulation, нажимают Library Browser.
Добавьте блок графика в модель Simulink.
В библиотеке Simulink Control Design выберите Linear Analysis Plots.
Перетащите мышью блок, такой как блок Gain and Phase Margin Plot, в окно модели Simulink.
Модель теперь напоминает следующую фигуру.
Дважды кликните блок, чтобы открыть диалоговое окно Block Parameters.
Чтобы узнать больше о параметрах блоков, смотрите страницы с описанием блока.
Задайте точки ввода-вывода линеаризации.
Линейная система вычисляется для Системы Бака с водой.
Если ваша модель уже содержит точки ввода-вывода, блок автоматически обнаруживает эти точки и отображает их. Щелкните в любое время, чтобы обновить таблицу Linearization inputs/outputs с I/Os из модели.
Задавать вход:
Щелкните смежный с таблицей Linearization inputs/outputs.
Диалоговое окно Параметров блоков расширяется, чтобы отобразить область Click a signal in the model to select it.
В модели Simulink кликните по выходному сигналу PID Controller
блокируйтесь, чтобы выбрать его.
Область Click a signal in the model to select it обновляется, чтобы отобразить выбранный сигнал.
Можно выбрать несколько сигналов целиком в модели Simulink. Все выбранные сигналы появляются в области Click a signal in the model to select it.
Щелкните, чтобы добавить сигнал в таблицу Linearization inputs/outputs.
Задавать выход:
В модели Simulink кликните по выходному сигналу Water-Tank System
блокируйтесь, чтобы выбрать его.
Область Click a signal in the model to select it обновляется, чтобы отобразить выбранный сигнал.
Щелкните, чтобы добавить сигнал в таблицу Linearization inputs/outputs.
В Configuration выпадающий список таблицы Linearization inputs/outputs выберите Open-loop Output
для watertank/Water-Tank System : 1.
Таблица Linearization inputs/outputs теперь напоминает следующую фигуру.
Щелкните, чтобы свернуть область 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.
Задайте времена снимка состояния симуляции.
Во вкладке Linearizations проверьте тот Simulation snapshots
выбран в Linearize on.
В поле Snapshot times введите [0 1 5]
.
Задайте тип графика, чтобы построить запасы по амплитуде и фазе. Типом графика является Bode
по умолчанию.
Выберите Nichols
в Plot type
Нажмите Show Plot, чтобы открыть пустой график Николса.
Сохраните линейную систему.
Выберите вкладку Logging.
Выберите опцию Save data to workspace и задайте имя переменной в поле Variable name.
Вкладка Logging теперь напоминает следующую фигуру.
Постройте запасы по амплитуде и фазе путем нажатия в окне графика.
Программное обеспечение линеаризует фрагмент модели между вводом и выводом линеаризации во временах симуляции 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
страница с описанием.)