Моделируйте системы управления по расписанию усиления в Simulink

В Simulink®можно смоделировать запланированные по усилению системы управления, в которых усиления или коэффициенты контроллера зависят от переменных планирования, таких как время, условия работы или параметры модели. Библиотека линейных варьирующихся по параметрам блоков в Control System Toolbox™ позволяет реализовать общие элементы системы управления с переменными коэффициентами усиления. Используйте блоки, такие как интерполяционные таблицы или MATLAB Function блоки, для реализации графика усиления, который дает зависимость этих коэффициентов усиления от переменных планирования.

Чтобы смоделировать запланированную по усилению систему управления в Simulink:

  1. Идентифицируйте переменные планирования и сигналы, которые представляют их в вашей модели. Например, если ваша система является крейсерским самолетом, переменными планирования могут быть угол падения и воздушная скорость самолета.

  2. Используйте блок интерполяционной таблицы или MATLAB Function блок, чтобы реализовать коэффициент усиления или коэффициент, который зависит от переменных планирования. Если у вас нет значений интерполяционной таблицы или MATLAB® выражения для расписаний усиления, которые соответствуют вашей эффективностью требованиям, вы можете использовать systune чтобы настроить их. См. раздел Настройка графиков усиления в Simulink.

  3. Замените обычные элементы управления элементами, запланированными по усилению. Для образца вместо ПИД-регулятора с фиксированным коэффициентом используйте блок Varying PID Controller, в котором графики усиления определяют коэффициенты ПИД.

  4. Добавьте логику планирования и гарантии к своей модели по мере необходимости.

Модель запланированных коэффициентов усиления

График усиления преобразует текущие значения переменных планирования в усиления контроллера. Существует несколько способов реализовать график усиления в 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, в котором частота отключения изменяется с переменными планирования.
Используйте эти блоки для реализации узкополосного фильтра, в котором частота, ширина и глубина узора варьируются с переменными планирования.
  • Varying PID Controller

  • Discrete Varying PID

  • Varying 2DOF PID

  • Discrete Varying 2DOF PID

Эти блоки являются предварительно сконфигурированными версиями блоков 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 контроллера формы:

dxe=Axe+Bu+L(yCxeDu)u=Kxe,

где в целом матрицы пространства состояний 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

Вставка таких блоков может быть полезной, например, чтобы ограничить значение усиления определенной областью значений или указать, как часто обновляется график усиления.

Похожие темы