piddata2

Доступ к коэффициентам параллельной формы ПИД-регулятор 2-DOF

Описание

пример

[Kp,Ki,Kd,Tf,b,c] = piddata2(sys) возвращает коэффициенты ПИД Kp, Ki, Kd, постоянная времени фильтра Tf, и веса заданного значения b и c из параллельной формы ПИД-регулятор 2-DOF представлен динамической системой sys.

Если sys pid2 объект контроллера, затем каждым выходным аргументом является соответствующий коэффициент в sys.

Если sys не pid2 объект, затем каждым выходным аргументом является соответствующий коэффициент параллельной формы ПИД-регулятор 2-DOF, который эквивалентен sys.

Если sys массив динамических систем, затем каждым выходным аргументом является массив тех же размерностей как sys.

пример

[Kp,Ki,Kd,Tf,b,c,Ts] = piddata2(sys) также возвращает шаг расчета Ts. В течение дискретного времени sys это не pid2 объект, piddata2 вычисляет содействующие значения с помощью ForwardEuler по умолчанию дискретная формула интегратора для обоих IFormula и DFormula. Смотрите pid2 страница с описанием для получения дополнительной информации о дискретных формулах интегратора.

пример

[Kp,Ki,Kd,Tf,b,c,Ts] = piddata2(sys,J1,...,JN) извлекает данные для подмножества записей в sys, где sys N-мерный массив динамических систем. Индексы J задайте запись массива, чтобы извлечь.

Примеры

свернуть все

Как правило, вы извлекаете коэффициенты из контроллера, полученного из другой функции, такие как pidtune или getBlockValue. В данном примере создайте ПИД-регулятор 2-DOF, который имеет случайные коэффициенты.

rng('default');    % for reproducibility
C2 = pid2(rand,rand,rand,rand,rand,rand);

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

[Kp,Ki,Kd,Tf,b,c] = piddata2(C2);

Создайте ПИД-регулятор 2-DOF в стандартной форме.

C2 = pidstd2(2,3,4,10,0.5,0.5)
C2 =
 
                       1      1                      s      
  u = Kp * [(b*r-y) + ---- * --- * (r-y) + Td * ------------ * (c*r-y)]
                       Ti     s                  (Td/N)*s+1 

  with Kp = 2, Ti = 3, Td = 4, N = 10, b = 0.5, c = 0.5
 
Continuous-time 2-DOF PIDF controller in standard form

Вычислите коэффициенты эквивалентного ПИД-регулятора параллельной формы.

[Kp,Ki,Kd,Tf,b,c] = piddata2(C2);

Проверяйте некоторые коэффициенты, чтобы подтвердить, что они отличаются от коэффициентов стандартной формы.

Ki
Ki = 0.6667
Kd
Kd = 8

Извлеките коэффициенты из 2D входа, динамическая система с одним выходом, которая представляет допустимый ПИД-регулятор параллельной формы 2-DOF.

Следующий A, B, C, и матрицы D формируют модель в пространстве состояний дискретного времени, которая представляет ПИД-регулятор 2-DOF.

A = [1,0;0.09975,0.995];
B = [0.00625,-0.00625;0.1245,-0.1241];
C = [0,4];
D = [2.875,-5.75];
sys = ss(A,B,C,D,0.1)
sys =
 
  A = 
            x1       x2
   x1        1        0
   x2  0.09975    0.995
 
  B = 
             u1        u2
   x1   0.00625  -0.00625
   x2    0.1245   -0.1241
 
  C = 
       x1  x2
   y1   0   4
 
  D = 
          u1     u2
   y1  2.875  -5.75
 
Sample time: 0.1 seconds
Discrete-time state-space model.

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

[Kp,Ki,Kd,Tf,b,c,Ts] = piddata2(sys);

Для системы дискретного времени, piddata2 вычисляет содействующие значения с помощью ForwardEuler по умолчанию дискретная формула интегратора для обоих IFormula и DFormula.

Как правило, вы получаете массив контроллеров при помощи pidtune на массиве моделей объекта управления. В данном примере создайте массив 2х3 ПИ-контроллеров 2-DOF со случайными значениями Kp, Ki, и b.

rng('default');
C2 = pid2(rand(2,3),rand(2,3),0,0,rand(2,3),0);

Извлеките все коэффициенты из массива.

[Kp,Ki,Kd,Tf,b,c] = piddata2(C2);

Каждые из выходных параметров являются самостоятельно массивом 2х3. Например, исследуйте Ki.

Ki
Ki = 2×3

    0.2785    0.9575    0.1576
    0.5469    0.9649    0.9706

Извлеките только коэффициенты записи (2,1) в массиве.

[Kp21,Ki21,Kd21,Tf21,b21,c21] = piddata2(C2,2,1);

Каждые из этих выходных параметров являются скаляром.

Ki21
Ki21 = 0.5469

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

свернуть все

ПИД-регулятор 2-DOF в параллельной форме, заданной как pid2 объект контроллера, модель динамической системы или массив динамической системы. Если sys не pid2 объект контроллера, это должен быть 2D вход, модель с одним выходом, которая представляет допустимый ПИД-регулятор 2-DOF, который может быть написан в параллельной форме.

Индексы записи, чтобы извлечь из массива моделей sys, заданный как положительные целые числа. Обеспечьте столько же индексов, сколько существуют измерения массива в sys. Например, предположите sys 4 5 (двумерный) массив pid2 контроллеры или модели динамической системы, которые представляют ПИД-регуляторы 2-DOF. Следующая команда извлекает данные для записи (2,3) в массиве.

[Kp,Ki,Kd,Tf,b,c,Ts] = piddata2(sys,2,3);

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

свернуть все

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

Если sys pid2 объект контроллера, затем Kp Kp значение sys.

Если sys не pid2 объект, затем Kp пропорциональное усиление параллельной формы ПИД-регулятор 2-DOF, который эквивалентен sys.

Если sys массив динамических систем, затем Kp массив тех же размерностей как sys.

Интегральное усиление параллельной формы ПИД-регулятор 2-DOF представлено sys, возвращенный как скаляр или массив.

Производное усиление параллельной формы ПИД-регулятор 2-DOF представлено sys, возвращенный как скаляр или массив.

Отфильтруйте постоянную времени параллельной формы ПИД-регулятор 2-DOF, представленный sys, возвращенный как скаляр или массив.

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

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

Шаг расчета pid2 контроллер, динамическая система sys, или массив динамической системы, возвращенный как скаляр.

Смотрите также

| |

Введенный в R2015b