В этом примере показано, как настроить следующую систему управления, чтобы достигнуть частоты среза цикла между 0,1 и 1 рад/с с помощью looptune
.
Объект, G
, 2D вход, 2D выходная модель (y двухэлементный векторный сигнал). В данном примере передаточная функция G
дают:
Этот демонстрационный объект основан на столбце дистилляции, описанном более подробно в Контроллере Разъединения в качестве примера для Столбца Дистилляции.
Чтобы настроить эту систему управления, вы сначала создаете числовую модель объекта. Затем вы создаете настраиваемые модели элементов контроллера и соединяете их, чтобы создать модели контроллеров. Затем вы используете looptune
настроить свободные параметры моделей контроллеров. Наконец, исследуйте эффективность настроенной системы, чтобы подтвердить, что настроенный контроллер дает к желательной эффективности.
Создайте модель объекта.
s = tf('s'); G = 1/(75*s+1)*[87.8 -86.4; 108.2 -109.6]; G.InputName = {'qL','qV'}; G.OutputName = 'y';
Когда вы настраиваете систему управления, looptune
использует названия канала G.InputName
и G.OutputName
соединять объект и контроллер. Поэтому присвойте эти названия канала, чтобы совпадать с рисунком. Когда вы устанавливаете G.OutputName = 'y'
, G.OutputName
автоматически расширен до {'y(1)';'y(2)'}
. Это расширение происходит потому что G
2D выходная система.
Представляйте компоненты контроллера.
D = tunableGain('Decoupler',eye(2)); D.InputName = 'e'; D.OutputName = {'pL','pV'}; PI_L = tunablePID('PI_L','pi'); PI_L.InputName = 'pL'; PI_L.OutputName = 'qL'; PI_V = tunablePID('PI_V','pi'); PI_V.InputName = 'pV'; PI_V.OutputName = 'qV'; sum1 = sumblk('e = r - y',2);
Система управления включает несколько настраиваемых элементов управления. PI_L
и PI_V
настраиваемые ПИ-контроллеры. Эти элементы представлены tunablePID
модели. Фиксированная структура управления также включает разъединяющуюся матрицу усиления D
, представленный настраиваемым tunableGain
модель. Когда система управления настраивается, D
гарантирует что каждый выход G
отслеживает соответствующий опорный сигнал r
с минимальными перекрестными помехами.
Присвоение InputName
и OutputName
значения к этим элементам управления позволяют вам соединять их, чтобы создать настраиваемую модель целого контроллера C
как показано.
Когда вы настраиваете систему управления, looptune
использование эти названия канала, чтобы соединить C
и G
. Контроллер C
также включает соединение подведения итогов sum1
. Это двухканальное соединение подведения итогов, потому что r
и y
сигналы с векторным знаком размерности 2.
Соедините компоненты контроллера.
C0 = connect(PI_L,PI_V,D,sum1,{'r','y'},{'qL','qV'});
C0
настраиваемый genss
модель, которая представляет целую структуру контроллера. C0
хранит настраиваемые параметры контроллера и содержит начальные значения тех параметров.
Настройте систему управления.
Входные параметры к looptune
G
и C0
, объект и начальные модели контроллеров, которые вы создали. Вход wc = [0.1,1]
устанавливает целевой диапазон для полосы пропускания контура. Этот вход указывает, что частота среза каждого цикла в настроенной системе падает между 0,1 и 1 рад/min.
wc = [0.1,1]; [G,C,gam,Info] = looptune(G,C0,wc);
Final: Peak gain = 0.983, Iterations = 26 Achieved target gain value TargetGain=1.
Отображенный Peak Gain = 0.949
указывает на тот looptune
нашел значения параметров, которые достигают целевой полосы пропускания контура. looptune
отображает итоговое пиковое значение усиления запущенной оптимизации, который является также выходом gam
. Если gam
меньше 1, всем настраивающим требованиям удовлетворяют. Значение, больше, чем 1, указывает на отказ удовлетворить некоторое требование. Если gam
превышает 1, можно увеличить целевую область значений полосы пропускания или ослабить другое настраивающее требование.
looptune
также возвращает настроенные модели контроллеров C
. Эта модель является настроенной версией C0
. Это содержит коэффициенты PI и разъединяющиеся матричные значения усиления, которые дают к оптимизированному пиковому значению усиления.
Отобразите настроенные параметры контроллера.
showTunable(C)
Decoupler = D = u1 u2 y1 1.403 -0.9678 y2 -1.566 1.279 Name: Decoupler Static gain. ----------------------------------- PI_L = 1 Kp + Ki * --- s with Kp = 2.16, Ki = 0.105 Name: PI_L Continuous-time PI controller in parallel form. ----------------------------------- PI_V = 1 Kp + Ki * --- s with Kp = -1.72, Ki = -0.0721 Name: PI_V Continuous-time PI controller in parallel form.
Проверяйте ответ временного интервала на систему управления с настроенными коэффициентами. Чтобы произвести график, создайте модель с обратной связью настроенной системы управления. Постройте переходной процесс от ссылки до выходного.
T = connect(G,C,'r','y'); step(T)
Разъединяющаяся матрица в контроллере разрешает каждый канал двухканального выходного сигнала y
отслеживать соответствующий канал опорного сигнала r
, с минимальными перекрестными помехами. Из графика вы можете, как хорошо это требование достигается, когда вы настраиваете систему управления для одной только полосы пропускания. Если перекрестные помехи все еще превышают ваши конструктивные требования, можно использовать TuningGoal.Gain
объект требования ввести дальнейшие ограничения для настройки.
Исследуйте ответ частотного диапазона настроенного результата как альтернативный метод для проверки настроенного контроллера.
figure('Position',[100,100,520,1000])
loopview(G,C,Info)
Первый график показывает, что перекрестные соединения коэффициента усиления разомкнутого контура находятся в пределах заданного интервала [0.1,1]
. Этот график также включает максимальные и настроенные значения функции чувствительности и дополнительная чувствительность . Вторые и третьи графики показывают, что запасы устойчивости MIMO настроенной системы (синяя кривая) не превышают верхний предел (желтая кривая).