make2DOF

Преобразуйте ПИД-регулятор 1-DOF в контроллер 2-DOF

Описание

пример

C2 = make2DOF(C1) преобразует один ПИД-регулятор степени свободы C1 к двум степеням свободы. Веса заданного значения b и c контроллера 2-DOF 1 год, и остающиеся коэффициенты ПИДа, не изменяются.

C2 = make2DOF(C1,b) задает вес заданного значения для пропорционального термина.

пример

C2 = make2DOF(C1,b,c) задает веса заданного значения и для пропорциональных и для производных терминов.

Примеры

свернуть все

Спроектируйте ПИД-регулятор 1-DOF для объекта.

G = tf(1,[1 0.5 0.1]);
C1 = pidtune(G,'pidf',1.5)
C1 =
 
             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.

Преобразуйте контроллер в две степени свободы.

C2 = make2DOF(C1)
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 = 1, c = 1
 
Continuous-time 2-DOF PIDF controller in parallel form.

У нового контроллера есть те же коэффициенты ПИД и постоянный фильтр. Это также содержит новые термины, включающие веса заданного значения b и c. По умолчанию, b = c = 1. Поэтому в замкнутом цикле с объектом G, контроллер 2-DOF C2 дает к тому же ответу как C1.

T1 = feedback(G*C1,1);
CM = tf(C2);
T2 = CM(1)*feedback(G,-CM(2));
stepplot(T1,T2,'r--')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent T1, T2.

Преобразуйте C1 контроллеру 2-DOF с различным b и c значения.

C2_2 = make2DOF(C1,0.5,0.75)
C2_2 =
 
                       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.5, c = 0.75
 
Continuous-time 2-DOF PIDF controller in parallel form.

Коэффициенты ПИД и постоянный фильтр все еще неизменны, но веса заданного значения теперь изменяют ответ с обратной связью.

CM_2 = tf(C2_2);
T2_2 = CM_2(1)*feedback(G,-CM_2(2));
stepplot(T1,T2_2,'r--')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent T1, T2\_2.

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

свернуть все

ПИД-регулятор 1-DOF в виде a pid объект или a pidstd объект.

Вес заданного значения на пропорциональном термине в виде действительного, неотрицательного, конечного значения. Если вы не задаете b, затем C2 имеет b = 1.

Вес заданного значения на производном термине в виде действительного, неотрицательного, конечного значения. Если вы не задаете c, затем C2 имеет c = 1.

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

свернуть все

ПИД-регулятор 2-DOF, возвращенный как a pid2 объект или pidstd2 объект. C2 находится в параллельной форме если C1 находится в параллельной форме и стандартной форме если C1 находится в стандартной форме.

Например, предположите C1 непрерывное время, параллельная форма pid контроллер формы:

C1=Kp+Kis+KdsTfs+1.

Затем C2 параллельная форма 2-DOF pid2 контроллер, который имеет два входных параметров и один выход. Отношение между входными параметрами, r и y и выходом u C2 дают:

u=Kp(bry)+Kis(ry)+KdsTfs+1(cry).

Коэффициенты ПИД Kp, Ki, и Kd и постоянная времени фильтра Tf неизменны. Веса заданного значения b и c заданы входными параметрами b и c, или 1 по умолчанию. Для получения дополнительной информации о ПИД-регуляторах 2-DOF, смотрите ПИД-регуляторы с двумя степенями свободы.

Преобразование также сохраняет значения свойств Ts, TimeUnit, Sampling Grid, IFormula, и DFormula.

Введенный в R2015b
Для просмотра документации необходимо авторизоваться на сайте