В этом примере показано, как реализовать управление по расписанию усиления в модели Simulink ® с использованием семейства контроллеров PID. ПИД-контроллеры настроены на ряд стационарных рабочих точек установки, которые в высшей степени нелинейны.
В этом примере рассматривается работа, проделанная в семействе ПИД-контроллеров для нескольких рабочих точек. В этом примере модель установки реактора с непрерывным перемешиванием (CSTR) линеаризуют в установившихся рабочих точках, которые имеют выходные концентрации C = 2, 3,..., 8, 9. Нелинейность в установке CSTR дает различную линеаризованную динамику при различных концентрациях на выходе. В примере используется pidtune для формирования и настройки отдельного контроллера PID для каждой выходной концентрации.
Можно ожидать, что каждый контроллер будет хорошо работать в небольшом рабочем диапазоне вокруг соответствующей выходной концентрации. В этом примере показано, как использовать блок контроллера PID для реализации всех этих контроллеров в конфигурации с планированием усиления. В такой конфигурации PID получает изменения по мере изменения выходной концентрации. Такая конфигурация обеспечивает хороший контроль PID при любой выходной концентрации в пределах рабочего диапазона системы управления.
Начните с контроллеров, созданных в семействе ПИД-контроллеров для нескольких рабочих точек. Если эти контроллеры еще не находятся в рабочей области MATLAB ®, загрузите их из файла данныхPIDGainSchedExample.mat.
load PIDGainSchedExampleЭта операция помещает две переменные в рабочую область MATLAB, Controllers и C. Массив модели Controllers содержит восемь pid модели, каждая из которых настроена на одну выходную концентрацию в векторе C.
Для реализации этих контроллеров в конфигурации с планированием усиления создайте таблицы поиска, которые связывают каждую выходную концентрацию с соответствующим набором коэффициентов усиления PID. Модель Simulink PIDGainSchedCSTRExampleModel содержит такие таблицы поиска, сконфигурированные для обеспечения запланированного контроля усиления для установки CSTR. Откройте эту модель.
open_system('PIDGainSchedCSTRExampleModel')
В этой модели блок контроллера PID сконфигурирован так, чтобы иметь внешние входные порты для коэффициентов PID. Использование внешних входных данных позволяет изменять коэффициенты при изменении выходной концентрации. Откройте блок для проверки конфигурации.

Установка для параметра Source значения external включает входные порты для коэффициентов.
Модель использует 1-D блок Справочной таблицы для каждого из коэффициентов PID. Как правило, для управления PID с планированием усиления используйте переменную планирования в качестве входного значения таблицы поиска и соответствующие значения коэффициентов контроллера в качестве выходных данных. В этом примере выходная концентрация установки CSTR представляет собой входную информацию таблицы поиска, а выходная информация представляет собой коэффициент PID, соответствующий этой концентрации. Чтобы увидеть, как настраиваются таблицы подстановки, откройте P Lookup Table блок.

Параметр Table data содержит массив пропорциональных коэффициентов для каждого контроллера, Controllers.Kp. (Для получения дополнительной информации о свойствах pid модели в Controllers массив, см. pid.) Каждая запись в этом массиве соответствует записи в массиве C который вводится в параметр Breakpoints 1. Для значений концентрации, которые попадают между записями в C, P Lookup Table блок выполняет линейную интерполяцию для определения значения пропорционального коэффициента. Чтобы настроить таблицы поиска для интегральных и производных коэффициентов, настройте I Lookup Table и D Lookup Table блоки с использованием Controllers.Ki и Controllers.Kdсоответственно. В этом примере эта настройка уже выполняется в модели.
pid модели в Controllers массив выражает коэффициент фильтра производной как постоянную времени, Controllers.Tf (см. pid справочная страница для получения дополнительной информации). Однако блок контроллера PID выражает коэффициент фильтра производной как обратную постоянную, N. Следовательно, N Lookup Table блок должен быть настроен на использование инверсии каждого значения в Controllers.Tf. Откройте окно N Lookup Table для просмотра конфигурации.

Моделирование модели. Concentration Setpoint блок сконфигурирован для прохождения последовательности уставок, которая охватывает рабочий диапазон между C = 2 и C = 9 (показано желтым цветом в области). Моделирование показывает, что запланированная конфигурация усиления обеспечивает хорошее отслеживание уставок в этом диапазоне (розовый в области).

Как было показано в проекте семейства ПИД контроллеров для нескольких рабочих точек, установка CSTR нестабильна в рабочем диапазоне между C = 4 и C = 7. Плановые ПИД-контроллеры обеспечивают стабилизацию установки и обеспечивают хорошее отслеживание уставки по всей нестабильной области. Для полной проверки конструкции управления по нелинейной установке примените различные последовательности тестов уставок, которые проверяют характеристики отслеживания для шагов различных размеров и направлений по всему рабочему диапазону. Можно также сравнить производительность с конструкцией без планирования усиления, установив все записи в Controllers массив равен.
n-D таблица подстановки | pid | PID-контроллер | pidtune