getComponents

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

Синтаксис

[C,X] = getComponents(C2,looptype)

Описание

пример

[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 с помощью настройки фильтра. Снова, компоненты являются контроллером pid SISO и моделью 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));
  • фильтр 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