pidstddata2

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

Описание

пример

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

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

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

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

пример

[Kp,Ti,Td,N,b,c,Ts] = pidstddata2(sys) также возвращает значение шага расчета Ts. Для дискретных sys это не является 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

Извлеките коэффициенты из динамической системы с двумя входами и одним выходом, которая представляет допустимый 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 ПИ-контроллеров со случайными значениями Kp, Ti, и 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 ПИД-регулятор в стандартной форме, заданный как pidstd2 объект контроллера, модель динамической системы или динамической системы массив. Если sys не является pidstd2 объект контроллера, это должна быть модель с двумя входами, с одним выходом, которая представляет допустимую 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 является pidstd2 объект контроллера, затем Kp является Kp значение sys.

Если sys не является 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