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