getComponents

Извлечение компонентов управления SISO из 2-DOF ПИД-регуляторов

Описание

пример

[C,X] = getComponents(C2,looptype) разлагает 2-DOF ПИД-регулятор C2 в два компонента управления SISO. Один из компонентов управления, C, является 1-DOF ПИД-регулятор. Другой, X, является динамической системой SISO. Когда C и X соединяются в структуре цикла, заданной как looptypeполученная система с обратной связью эквивалентна 2-DOF циклу управления.

Дополнительные сведения о 2-DOF ПИД управлении архитектурами см. в разделе ПИД-регуляторов с двумя степенями свободы.

Примеры

свернуть все

Разложите 2-DOF ПИД-регуляторы на компоненты управления SISO, используя каждый из feedforward, обратной связи и фильтрации строений.

Чтобы начать, получите 2-DOF ПИД-регуляторы. В данном примере создайте модель объекта управления и настройте для нее 2-DOF ПИД-регулятор.

G = tf(1,[1 0.5 0.1]);
C2 = pidtune(G,'pidf2',1.5)
C2 =
 
                       1                s    
  u = Kp (b*r-y) + Ki --- (r-y) + Kd -------- (c*r-y)
                       s              Tf*s+1 

  with Kp = 1.12, Ki = 0.23, Kd = 1.3, Tf = 0.122, b = 0.664, c = 0.0136
 
Continuous-time 2-DOF PIDF controller in parallel form.

C2 является pid2 объект контроллера с двумя входами и одним выходом. Разложение C2 в компоненты управления SISO с помощью строения с feedforward.

[Cff,Xff] = getComponents(C2,'feedforward')
Cff =
 
             1            s    
  Kp + Ki * --- + Kd * --------
             s          Tf*s+1 

  with Kp = 1.12, Ki = 0.23, Kd = 1.3, Tf = 0.122
 
Continuous-time PIDF controller in parallel form.


Xff =
 
  -10.898 (s+0.2838)
  ------------------
      (s+8.181)
 
Continuous-time zero/pole/gain model.

Как показано на отображении, эта команда возвращает ПИД-контроллер SISO Cff как pid объект. Компенсатор с feedforward X возвращается как zpk объект.

Разложение C2 использование строения обратной связи. В этом случае также Cfb является pid объект контроллера и компенсатор обратной связи X является zpk модель.

[Cfb,Xfb] = getComponents(C2,'feedback');

Разложение C2 использование строения фильтра. Снова, компоненты являются SISO pid контроллер и zpk модель, представляющая предварительный фильтр.

[Cfr,Xfr] = getComponents(C2,'filter');

Входные параметры

свернуть все

2-DOF ПИД-регуляторы для разложения, заданные как pid2 или pidstd2 объект контроллера.

Структура цикла для разложения контроллера 2-DOF, заданная как 'feedforward', 'feedback', или 'filter'. Они соответствуют следующим декомпозициям и архитектурам управления:

  • 'feedforward'C является обычным ПИД-контроллером SISO, который принимает сигнал ошибки за свой вход. X является контроллером с feedforward, как показано:

    Если C2 является непрерывным временем формы, тогда компоненты задаются:

    C(s)=Kp+Kis+KdsTfs+1,X(s)=(b1)Kp+(c1)KdsTfs+1.

    Следующая команда создает систему с обратной связью от r до y для строения с feedforward.

    T = G*(C+X)*feedback(1,G*C);
  • 'feedback'C является обычным ПИД-контроллером SISO, который принимает сигнал ошибки за свой вход. X - контроллер обратной связи от y до u, как показано:

    Если C2 является непрерывным временем формы, тогда компоненты задаются:

    C(s)=bKp+Kis+cKdsTfs+1,X(s)=(1b)Kp+(1c)KdsTfs+1.

    Следующая команда создает систему с обратной связью от r до y для строения обратной связи.

    T = G*C*feedback(1,G*(C+X));
  • 'filter'X является предфильтром на опорный сигнал. C является обычным ПИД-контроллером SISO, который принимает за свой вход различие между фильтрованной ссылкой и выходом, как показано:

    Если C2 является непрерывным временем формы, тогда компоненты задаются:

    C(s)=Kp+Kis+KdsTfs+1,X(s)=(bKpTf+cKd)s2+(bKp+KiTf)s+Ki(KpTf+Kd)s2+(Kp+KiTf)s+Ki.

    Следующая команда создает систему с обратной связью от r до y для строения фильтра.

    T = X*feedback(G*C,1);

Формулы, показанные выше, относятся к контроллерам в непрерывной параллельной форме. Стандартные контроллеры и контроллеры за дискретное время могут быть разложены на аналогичные строения. getComponents команда работает со всеми 2-DOF объектами ПИД-регулятора.

Выходные аргументы

свернуть все

ПИД-регулятор SISO, возвращаемый как pid или pidstd объект контроллера. Форма C соответствует форме входного контроллера C2. Для примера, если C2 является стандартной формой pidstd2 контроллер, затем C является pidstd объект.

Точная функциональная форма C зависит от структуры цикла, заданную в looptype аргумент, как описано в Входные Параметры.

Компонент управления SISO, заданный как нули , полюса и усиления (zpk) модель. Точная функциональная форма X зависит от структуры цикла, заданную в looptype аргумент, как описано в Входные Параметры.

Введенный в R2015b