pidstddata2

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

Описание

пример

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

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

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

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

пример

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

пример

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

Примеры

свернуть все

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

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

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

[Kp,Ti,Td,N,b,c] = pidstddata2(C2);

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

C2 = pid2(2,3,4,10,0.5,0.5)
C2 =
 
                       1                s    
  u = Kp (b*r-y) + Ki --- (r-y) + Kd -------- (c*r-y)
                       s              Tf*s+1 

  with Kp = 2, Ki = 3, Kd = 4, Tf = 10, b = 0.5, c = 0.5
 
Continuous-time 2-DOF PIDF controller in parallel form.

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

[Kp,Ti,Td,N,b,c] = pidstddata2(C2);

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

Ti
Ti = 0.6667
Td
Td = 2

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

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

A = [1,0;0,0.5];
B = [0.1,-0.1;-0.25,0.5];
C = [4,400];
D = [220,-440];
sys = ss(A,B,C,D,0.1)
sys =
 
  A = 
        x1   x2
   x1    1    0
   x2    0  0.5
 
  B = 
          u1     u2
   x1    0.1   -0.1
   x2  -0.25    0.5
 
  C = 
        x1   x2
   y1    4  400
 
  D = 
         u1    u2
   y1   220  -440
 
Sample time: 0.1 seconds
Discrete-time state-space model.

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

[Kp,Ti,Td,N,b,c,Ts] = pidstddata2(sys);

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

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

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

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

[Kp,Ti,Td,N,b,c] = pidstddata2(C2);

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

Ti
Ti = 2×3

    0.2785    0.9575    0.1576
    0.5469    0.9649    0.9706

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

[Kp21,Ti21,Td21,N21,b21,c21] = pidstddata2(C2,2,1);

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

Ti21
Ti21 = 0.5469

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

свернуть все

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

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

[Kp,Ti,Td,N,b,c,Ts] = piddstdata2(sys,2,3);

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

| |

Введенный в R2015b