exponenta event banner

Настройка системы управления MIMO для указанной полосы пропускания

В этом примере показано, как настроить следующую систему управления для достижения частоты пересечения контура от 0,1 до 1 рад/с, используя looptune.

Завод, G, - модель с двумя входами и двумя выходами (y - двухэлементный векторный сигнал). В этом примере передаточная функция G задается:

G (s) = 175 с + 1 [87,8-86,4108,2-109,6].

Эта установка для отбора проб основана на дистилляционной колонне, более подробно описанной в примере «Контроллер разъединения для дистилляционной колонны».

Для настройки этой системы управления сначала создается числовая модель завода. Затем создаются настраиваемые модели элементов контроллера и соединяются между собой для построения модели контроллера. Тогда вы используете 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 является системой с двумя выходами.

Представляют компоненты контроллера.

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 являются настраиваемыми контроллерами PI. Эти элементы представлены 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 рад/мин.

wc = [0.1,1];
[G,C,gam,Info] = looptune(G,C0,wc);

Показанный Peak Gain = 0.949 указывает, что looptune обнаружил значения параметров, достигающие целевой полосы пропускания цикла. looptune отображает конечное пиковое значение коэффициента усиления для прогона оптимизации, которое также является выходным gam. Если gam меньше 1, все требования к настройке выполнены. Значение больше 1 указывает на несоответствие некоторым требованиям. Если gam превышает 1, можно увеличить целевой диапазон полосы пропускания или отменить другое требование настройки.

looptune также возвращает настроенную модель контроллера C. Эта модель является настроенной версией C0. Он содержит коэффициенты PI и значения усиления разделительной матрицы, которые дают оптимизированное пиковое значение усиления.

Отображение настроенных параметров контроллера.

showTunable(C)

Проверьте отклик временной области для системы управления с настроенными коэффициентами. Для создания графика создайте замкнутую модель настроенной системы управления. Постройте график ответа на шаг из ссылки на вывод.

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]. Этот график также включает максимальные и настроенные значения функции чувствительности S = (I-GC) -1 и дополнительной чувствительности T = I-S. Второй и третий графики показывают, что пределы устойчивости MIMO настроенной системы (синяя кривая) не превышают верхний предел (желтая кривая).

Связанные примеры

Подробнее