В Simulink®можно смоделировать запланированные по усилению системы управления, в которых усиления или коэффициенты контроллера зависят от переменных планирования, таких как время, условия работы или параметры модели. Библиотека линейных варьирующихся по параметрам блоков в Control System Toolbox™ позволяет реализовать общие элементы системы управления с переменными коэффициентами усиления. Используйте блоки, такие как интерполяционные таблицы или MATLAB Function блоки, для реализации графика усиления, который дает зависимость этих коэффициентов усиления от переменных планирования.
Чтобы смоделировать запланированную по усилению систему управления в Simulink:
Идентифицируйте переменные планирования и сигналы, которые представляют их в вашей модели. Например, если ваша система является крейсерским самолетом, переменными планирования могут быть угол падения и воздушная скорость самолета.
Используйте блок интерполяционной таблицы или MATLAB Function блок, чтобы реализовать коэффициент усиления или коэффициент, который зависит от переменных планирования. Если у вас нет значений интерполяционной таблицы или MATLAB® выражения для расписаний усиления, которые соответствуют вашей эффективностью требованиям, вы можете использовать systune
чтобы настроить их. См. раздел Настройка графиков усиления в Simulink.
Замените обычные элементы управления элементами, запланированными по усилению. Для образца вместо ПИД-регулятора с фиксированным коэффициентом используйте блок Varying PID Controller, в котором графики усиления определяют коэффициенты ПИД.
Добавьте логику планирования и гарантии к своей модели по мере необходимости.
График усиления преобразует текущие значения переменных планирования в усиления контроллера. Существует несколько способов реализовать график усиления в Simulink.
Доступные блоки для реализации интерполяционных таблиц включают:
Интерполяционные таблицы - A lookup table является списком точек останова и соответствующих значений усиления. Когда переменные планирования падают между точками останова, интерполируется интерполяционная таблица между соответствующими коэффициентами усиления. Используйте следующие блоки для реализации графиков усиления как интерполяционных таблиц.
1-D Lookup Table (Simulink), 2-D Lookup Table (Simulink), n-D Lookup Table (Simulink) - для скалярного усиления, которое зависит от одной, двух или более переменных планирования.
Matrix Interpolation (Simulink) - для матричного коэффициента усиления, который зависит от одной, двух или трех переменных планирования. (Этот блок находится в библиотеке Simulink Extras.)
MATLAB Function (Simulink) - Когда у вас есть функциональное выражение, связывающее усиления с переменными планирования, используйте блок MATLAB Function. Если выражение является сглаженной функцией, использование функции MATLAB может привести к более плавным изменениям усиления, чем интерполяционная таблица. Кроме того, если вы используете продукт генерации кода, такой как Simulink Coder™, для реализации контроллера на оборудовании, функция MATLAB может привести к более эффективной реализации памяти, чем интерполяционная таблица.
Если у вас есть Simulink Control Design™, вы можете использовать
systune
для настройки реализации расписаний усиления как интерполяционных таблиц, так и функций MATLAB. См. раздел Настройка графиков усиления в Simulink.
Как пример, Модель rct_CSTR
включает в себя ПИ-контроллер и свинцовый компенсатор, в которых усиления контроллера реализованы как интерполяционные таблицы, использующие блоки 1-D Lookup Table (Simulink). Откройте эту модель и исследуйте контроллеры.
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 Butterworth, в котором частота отключения изменяется с переменными планирования. | |
Используйте эти блоки для реализации узкополосного фильтра, в котором частота, ширина и глубина узора варьируются с переменными планирования. | |
| Эти блоки являются предварительно сконфигурированными версиями блоков PID Controller и PID Controller (2DOF). Используйте их для реализации ПИД-регуляторов, в которых коэффициенты ПИД варьируются в зависимости от переменных планирования. |
Используйте эти блоки для реализации передаточной функции любого порядка, в котором полиномиальные коэффициенты числителя и знаменателя варьируются с переменными планирования. | |
Используйте эти блоки для реализации контроллера пространства состояний, в котором 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 (Simulink) блок - Задайте функцию MATLAB, которая принимает переменные планирования и возвращает матричные значения.
Matrix Interpolation (Simulink) блок - Задайте интерполяционную таблицу, чтобы связать матричное значение с каждой переменной останова планирования. Между точками останова блок интерполирует элементы матрицы. (Этот блок находится в библиотеке Simulink Extras.)
Для контроллера LQG используйте блоки MATLAB Function или Matrix Interpolation, чтобы реализовать изменяющиеся во времени матрицы в качестве входов для блока Varying Observer Form. Для примера:
В этой реализации изменяющиеся во времени матрицы реализуются как MATLAB Function блок, в котором связанная функция занимает время симуляции и возвращает матрицу соответствующих размерностей.
Если у вас есть Simulink Control Design, можно настроить матричные графики усиления, реализованные как блоки MATLAB Function, так и как блоки Matrix Interpolation. Однако, чтобы настроить блок Matrix Interpolation, необходимо задать Simulate using равным Interpreted execution
. Смотрите Matrix Interpolation (Simulink) блока страницы с описанием для получения информации о режимах симуляции.
Можно также использовать запланированные коэффициенты усиления для создания собственных элементов управления. Для примера, модель rct_CSTR
включает в себя планируемый по усилению компенсатор вывода с тремя коэффициентами, которые зависят от переменной планирования, CR
. Чтобы увидеть, как этот компенсатор реализован, откройте модель и исследуйте Temperature controller
подсистема.
Здесь и общий коэффициент усиления Kt
, нулевое местоположение a
, и положение шеста b
каждый реализован как 1-D интерполяционная таблица, которая принимает переменную планирования за вход. Интерполяционные таблицы подаются непосредственно в блоки продуктов.
Для интерполяционной таблицы или MATLAB Function блока, который реализует расписание усиления, которое будет настраиваться с systune
, он должен в конечном счете питаться либо в:
Блок в библиотеке блоков Linear Parameter Variing.
Блок 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
Вставка таких блоков может быть полезной, например, чтобы ограничить значение усиления определенной областью значений или указать, как часто обновляется график усиления.