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