В Simulink® можно смоделировать запланированные на усиление системы управления, в которых усиления контроллера или коэффициенты зависят от планирования переменных, таких как время, условия работы или параметры модели. Библиотека линейных отличающихся по параметру блоков в Control System Toolbox™ позволяет вам реализовать общие элементы системы управления с переменными усилениями. Используйте блоки, такие как интерполяционные таблицы или блоки MATLAB function, чтобы реализовать расписание усиления, которое дает зависимость этих усилений на переменных планирования.
Смоделировать запланированную на усиление систему управления в Simulink:
Идентифицируйте переменные планирования и сигналы, которые представляют их в вашей модели. Например, если ваша система является крейсерским самолетом, то переменные планирования могут быть углом установки и скоростью полета самолета.
Используйте блок интерполяционной таблицы или блок MATLAB function, чтобы реализовать усиление или коэффициент, который зависит от переменных планирования. Если у вас нет значений интерполяционной таблицы или выражений MATLAB® для расписаний усиления, которые соответствуют вашим требованиям к производительности, можно использовать systune
, чтобы настроить их. См. Расписания Усиления Мелодии в Simulink.
Замените обычные элементы управления на запланированные на усиление элементы. Например, вместо ПИД-регулятора фиксированного коэффициента, используйте блок Varying PID Controller, в котором расписания усиления определяют коэффициенты ПИД.
Добавьте логику планирования и гарантии к вашей модели по мере необходимости.
Расписание усиления преобразовывает текущие значения переменных планирования в усиления контроллера. Существует несколько способов реализовать расписание усиления в Simulink.
Доступные блоки для реализации интерполяционных таблиц включают:
Интерполяционные таблицы — lookup table является списком точек останова и соответствующих значений усиления. Когда переменные планирования падают между точками останова, интерполяционная таблица интерполирует между соответствующими усилениями. Используйте следующие блоки, чтобы реализовать расписания усиления как интерполяционные таблицы.
1D Интерполяционная таблица, 2D Интерполяционная таблица, n-D Интерполяционная таблица — Для скалярного усиления, которое зависит от один, два, или больше переменных планирования.
Матричная Интерполяция — Для усиления с матричным знаком, которое зависит от один, два, или три переменные планирования. (Этот блок находится в библиотеке Simulink Extras.)
Блок MATLAB function — Когда у вас будет функциональное выражение, связывающее усиления с переменными планирования, используйте блок MATLAB function. Если выражение является сглаженной функцией, использование функции MATLAB может привести к более сглаженным изменениям усиления, чем интерполяционная таблица. Кроме того, если вы используете продукт генерации кода, такой как Simulink, Coder™to реализуют контроллер в оборудовании, функция MATLAB может привести к большему количеству эффективного внедрения памяти, чем интерполяционная таблица.
Если у вас есть Simulink Control Design™, можно использовать
systune
, чтобы настроить реализацию расписаний усиления или как интерполяционные таблицы или как функции MATLAB. См. Расписания Усиления Мелодии в Simulink.
Как пример, модель rct_CSTR
включает контроллер PI и ведущий компенсатор, в котором усиления контроллера реализованы как интерполяционные таблицы с помощью 1D блоков Интерполяционной таблицы. Открытый, что модель и исследует контроллеры.
open_system(fullfile(matlabroot,'examples','controls_id','rct_CSTR.slx'))
И Concentration controller
и блоки Temperature controller
берут объект CSTR
вывод, Cr
, как вход. Это значение является и управляемой переменной системы и переменной планирования, от которой зависит действие контроллера. Дважды кликните блок Concentration controller
.
Этот блок является контроллером PI, в котором пропорциональное усиление Kp
и усиление интегратора Ki
определяются путем питания параметра планирования Cr
в 1D блок Lookup Table. Точно так же блок Temperature controller
содержит три усиления, реализованные как интерполяционные таблицы.
Используйте библиотеку блоков Linear Parameter Varying Control System Toolbox, чтобы реализовать элементы общего контроля с переменными параметрами или коэффициентами. Эти блоки обеспечивают общие элементы, в которых усиления или параметры доступны как внешние входные параметры. В следующей таблице перечислены некоторые приложения этих блоков.
Блок | Приложение |
---|---|
Используйте эти блоки, чтобы реализовать Баттерворта lowpass, просачиваются, который частота среза меняется в зависимости от планирования переменных. | |
Использование эти блоки, чтобы реализовать метку просачиваются, который частота метки, ширина и глубина меняются в зависимости от планирования переменных. | |
| Эти блоки являются предварительно сконфигурированными версиями ПИД-регулятора и ПИД-регулятора (2DOF) блоки. Используйте их, чтобы реализовать ПИД-регуляторы, в которых коэффициенты ПИД меняются в зависимости от планирования переменных. |
Используйте эти блоки, чтобы реализовать передаточную функцию любого порядка, в котором полиномиальные коэффициенты числителя и знаменателя меняются в зависимости от планирования переменных. | |
Используйте эти блоки, чтобы реализовать контроллер пространства состояний, в котором A, B, C и матрицы D меняются в зависимости от переменных планирования. | |
Используйте эти блоки, чтобы реализовать запланированный на усиление контроллер пространства состояний формы наблюдателя, такой как контроллер LQG. В таком контроллере A, B, C, матрицы D и обратная связь состояния и матрицы усиления наблюдателя состояния меняются в зависимости от переменных планирования. |
Например, подсистема на следующем рисунке использует блок Varying Notch Filter, чтобы реализовать фильтр, частота метки которого отличается как функция двух переменных планирования. Отношение между частотой метки и переменными планирования реализовано в функции MATLAB.
Как другой пример, следующая подсистема является запланированным на усиление контроллером PI дискретного времени, в котором и пропорциональные и интегральные усиления зависят от той же переменной планирования. Этот диспетчер использует 1D блоки Интерполяционной таблицы, чтобы реализовать расписания усиления.
Можно также реализовать расписания усиления с матричным знаком Simulink. Расписание усиления с матричным знаком берет одну или несколько переменных планирования и возвращает матрицу, а не скалярное значение. Например, предположите, что вы хотите реализовать изменяющийся во времени контроллер LQG формы:
где, в целом, матрицы пространства состояний A, B, C и D, матрица обратной связи состояния K и матрица усиления наблюдателя L все меняются в зависимости от времени. В этом случае время является переменной планирования, и расписание усиления определяет значения матриц в установленный срок.
В вашей модели Simulink можно реализовать использование расписаний усиления с матричным знаком:
Блок MATLAB function — Задает функцию MATLAB, которая берет переменные планирования и возвращает матричные значения.
Матричный блок Interpolation — Задает интерполяционную таблицу, чтобы сопоставить матричное значение с каждой переменной планированием точкой останова. Между точками останова блок интерполирует элементы матрицы. (Этот блок находится в библиотеке Simulink Extras.)
Для контроллера LQG используйте или блоки MATLAB function или Матричные блоки Интерполяции, чтобы реализовать изменяющиеся во времени матрицы как входные параметры к блоку Varying Observer Form. Например:
В этой реализации изменяющиеся во времени матрицы каждый реализованы как блок MATLAB function, в котором присоединенная функция берет время симуляции и возвращает матрицу соответствующих размерностей.
Если у вас есть Simulink Control Design, можно настроить расписания усиления с матричным знаком, реализованные или как блоки MATLAB function или как когда Матричная Интерполяция блокируется. Однако, чтобы настроить блок Matrix Interpolation, необходимо установить Simulate using на Interpreted execution
. Смотрите страницу с описанием блока Matrix Interpolation для получения информации о режимах симуляции.
Можно также использовать запланированные усиления, чтобы создать собственные элементы управления. Например, модель rct_CSTR
включает запланированный на усиление ведущий компенсатор с тремя коэффициентами, которые зависят от переменной планирования, CR
. Чтобы видеть, как этот компенсатор реализован, откройте модель и исследуйте подсистему Temperature controller
.
Здесь, полное усиление Kt
, нулевое местоположение a
и местоположение полюса, b
каждый реализован как 1D интерполяционная таблица, которая берет переменную планирования, как введено. Интерполяционные таблицы питаются непосредственно в блоки продукта.
Для интерполяционной таблицы или блока MATLAB function, который реализует расписание усиления, чтобы быть настраиваемым с systune
, это должно в конечном счете питаться в также:
Блок в Линейном Параметре Переменная библиотека блоков.
Блок продукта, который применяет усиление к данному сигналу. Например, если блок продукта берет в качестве входных параметров запланированное усиление g (α) и u сигнала (t), то выходным сигналом блока является y (t) = g (α) u (t).
Может быть один или несколько следующих блоков между интерполяционной таблицей или блоком MATLAB function и блока продукта или отличающегося по параметру блока:
Усиление
Смещение
Блоки, которые эквивалентны модульному усилению в линейной области, включая:
Транспортная задержка, переменная транспортная задержка
Насыщайте, Deadzone
Ограничитель уровня, переход уровня
Квантизатор, память, Нулевой Порядок содержит
MinMax
Преобразование типа данных
Спецификация сигнала
Блоки switch, включая:
Переключатель
Многопортовый переключатель
Ручной переключатель
Вставка таких блоков может быть полезной, например, чтобы ограничить значение усиления к определенной области значений или задать, как часто расписание усиления обновляется.