exponenta event banner

getComponents

Извлечь компоненты управления SISO из контроллера PID 2-DOF

Описание

пример

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

Для получения дополнительной информации об архитектуре контроля за PID с 2 финансовыми департаментами, см. Двух Диспетчеров PID Степени свободы.

Примеры

свернуть все

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

Для запуска получите 2-DOF PID-контроллер. В этом примере создайте модель завода и настройте для нее 2-DOF PID-контроллер.

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 с использованием конфигурации прямой связи.

[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.

Как показано на дисплее, эта команда возвращает контроллер PID SISO Cff в качестве pid объект. Компенсатор обратной связи X возвращается как zpk объект.

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

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

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

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

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

свернуть все

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

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

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

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

    C (s) = Kp + Kis + KdTfs + 1, X (s) = (b 1) Kp + (c − 1) KdTfs + 1.

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

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

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

    C (s) = bKp + Kis + cKdTfs + 1, X (s) = (1 b) Kp + (1 − c) KdTfs + 1.

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

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

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

    C (s) = Kp + Kis + KdTfs + 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 командуйте работами над всем контроллером PID с 2 финансовыми департаментами объекты.

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

свернуть все

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

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

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

Представлен в R2015b