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

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

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

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

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

  • Переходные ответы для переменных усилений контроллера.

Модель scdcascade содержит два каскадных цикла управления с обратной связью. Каждый цикл включает контроллер PI. Модели объекта управления, 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. Name указывает который переменная отличаться по рабочему пространству модели, рабочей области MATLAB® или словарю данных.

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

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

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

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

| |

Похожие темы