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

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

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

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

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

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

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

Запланированные усиления модели

Расписание усиления преобразует текущие значения переменных планирования в усиления контроллера. Существует несколько способов реализовать расписание усиления в Simulink.

Доступные блоки для реализации интерполяционных таблиц включают:

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

  • Discrete Varying PID

  • Varying 2DOF PID

  • Discrete Varying 2DOF PID

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

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 каждый реализованы как 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

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

Похожие темы