Пакет линеаризует модель для изменений параметра в одной рабочей точке

В этом примере вы варьируетесь параметры модели и линеаризуете модель в ее номинальных условиях работы с помощью linearize команда.

Можно обработать в пакетном режиме, линеаризуют модель для изменений параметра в одной рабочей точке, чтобы учиться:

  • Динамика объекта для различных допусков компонента.

  • Робастность контроллера к изменениям параметров объекта.

  • Переходные процессы для того, чтобы изменять усиления контроллера.

scdcascade модель содержит два каскадных цикла управления с обратной связью. Каждый цикл включает ПИ-контроллер. Модели объекта управления, G1 и G2, модели LTI.

Для этой модели рабочая точка модели представляет номинальные условия работы системы. Поэтому вы не должны обрезать модель перед линеаризацией. Если ваше приложение включает изменения параметра, которые влияют на рабочую точку модели, необходимо сначала обработать обрезку в пакетном режиме модель для изменений параметра. Затем можно линеаризовать модель в обрезанных рабочих точках. Для получения дополнительной информации смотрите, что Пакет Линеаризует Модель в Нескольких Рабочих точках, Выведенных из Изменений Параметра.

Чтобы исследовать эффекты изменяния контроллера внешнего цикла усиления, линеаризуйте модель в номинальной рабочей точке для каждой комбинации значений усиления.

Откройте модель.

sys = 'scdcascade';
open_system(sys)

Задайте точки ввода и вывода линеаризации для вычисления ответа ввода/вывода с обратной связью системы.

io(1) = linio('scdcascade/setpoint',1,'input');
io(2) = linio('scdcascade/Sum',1,'output');

io(1), сигнал, происходящий в выходном порту setpoint блокируйтесь, ссылочный вход. io(2), сигнал, происходящий в выходном порту Sum блокируйтесь, система выход.

Чтобы извлечь несколько разомкнутый цикл и передаточные функции с обратной связью из той же модели, пакет линеаризует систему с помощью slLinearizer интерфейс. Для получения дополнительной информации смотрите, Варьируются Значения параметров и Получают Несколько Передаточных функций.

Изменяйте контроллер внешнего цикла усиления, Kp1 и Ki1, в 20% их номинальной стоимости.

Kp1_range = linspace(Kp1*0.8,Kp1*1.2,6);
Ki1_range = linspace(Ki1*0.8,Ki1*1.2,4);
[Kp1_grid,Ki1_grid] = ndgrid(Kp1_range,Ki1_range);

Создайте структуру параметра с полями Name и ValueИмя указывает который переменная варьироваться по рабочему пространству модели, рабочей области MATLAB® или словарю данных.

params(1).Name = 'Kp1';
params(1).Value = Kp1_grid;
params(2).Name = 'Ki1';
params(2).Value = Ki1_grid;

params 6 4 сетка значения параметров, где каждый узел решетки соответствует уникальной комбинации Kp1 и Ki1 значения.

Получите передаточную функцию с обратной связью от ссылочного входа до объекта выход для заданных значений параметров. Если вы не задаете рабочую точку, linearize использует рабочую точку текущей модели.

G = linearize(sys,io,params);

G 6 4 массив линеаризовавших моделей. Каждая запись в массиве содержит линеаризацию для соответствующей комбинации параметра в params. Например, G(:,:,2,3) соответствует линеаризации, полученной путем устанавливания значений Kp1 и Ki1 параметры к Kp1_grid(2,3) и Ki1_grid(2,3), соответственно. Набор значений параметров, соответствующих каждой записи в массиве моделей G хранится в SamplingGrid свойство G. Например, исследуйте соответствующие значения параметров на линеаризацию G(:,:,2,3):

G(:,:,2,3).SamplingGrid
ans = 

  struct with fields:

    Kp1: 0.1386
    Ki1: 0.0448

Чтобы изучить эффекты различных значений усиления, анализируйте линеаризовавшие модели в G. Например, исследуйте переходные процессы на весь Kp2 значения и третий Ki1 значение.

stepplot(G(:,:,:,3))

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

| |

Похожие темы