Отметьте точки анализа в моделях замкнутой системы

В этом примере показано, как создать блок и вставить точки анализа в интересующие места с помощью connect команда. Затем можно использовать точки анализа, чтобы извлечь различные отклики системы из модели.

В данном примере создайте модель предиктора Смита, многоуровневой системы управления SISO, показанной на следующем блоке.

Точки, отмеченные x, являются точками анализа, которые нужно отметить для этого примера. Например, если вы хотите вычислить переходную характеристику системы с обратной связью на нарушение порядка на входе объекта, можно использовать точку анализа в u. Если вы хотите вычислить ответ системы с одним или обоими открытыми циклами управления, можно использовать точки анализа в yp или dp.

Чтобы создать эту систему, сначала создайте динамические компоненты блока. Задайте имена для входа и выходных каналов каждой модели так, чтобы connect может автоматически присоединиться к ним, чтобы создать блок.

s = tf('s');

% Process model
P = exp(-93.9*s) * 5.6/(40.2*s+1);
P.InputName = 'u'; 
P.OutputName = 'y';

% Predictor model
Gp = 5.6/(40.2*s+1);
Gp.InputName = 'u'; 
Gp.OutputName = 'yp';

% Delay model
Dp = exp(-93.9*s);
Dp.InputName = 'yp'; 
Dp.OutputName = 'y1';

% Filter
F = 1/(20*s+1);
F.InputName = 'dy'; 
F.OutputName = 'dp';

% PI controller
C = pidstd(0.574,40.1);
C.Inputname = 'e'; 
C.OutputName = 'u';

Создайте суммирующие соединения, необходимые для выполнения блока. (Для получения дополнительной информации о создании суммирующих соединений см. sumblk).

sum1 = sumblk('e = ysp - ym');
sum2 = sumblk('ym = yp + dp');
sum3 = sumblk('dy = y - y1');

Соберите полную модель.

input = 'ysp';
output = 'y';
APs = {'u','dp','yp'};
T = connect(P,Gp,Dp,C,F,sum1,sum2,sum3,input,output,APs)
T =

  Generalized continuous-time state-space model with 1 outputs, 1 inputs, 4 states, and the following blocks:
    AnalysisPoints_: Analysis point, 3 channels, 1 occurrences.

Type "ss(T)" to see the current value, "get(T)" to see all properties, and "T.Blocks" to interact with the blocks.

Когда вы используете APs входной параметр, connect команда автоматически вставляет AnalysisPoint блок в обобщенное пространство состояний (genss) модель, T. Автоматически сгенерированный блок имеет имя AnalysisPoints_. Три канала AnalysisPoints_ соответствуют трем местоположениям, указанным в APs аргумент в connect команда. Использование getPoints для просмотра списка доступных точек анализа в модели.

getPoints(T)
ans = 3x1 cell
    {'dp'}
    {'u' }
    {'yp'}

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

Tp = getIOTransfer(T,'u','y');
stepplot(Tp)

Figure contains an axes. The axes with title From: u To: y contains an object of type line. This object represents Tp.

Точно так же вычислите разомкнутый контур ответ объекта и контроллера, открывая оба циклов обратной связи.

openings = {'dp','yp'};
L = getIOTransfer(T,'ysp','y',openings);
bodeplot(L)

Figure contains 2 axes. Axes 1 with title From: ysp To: y contains an object of type line. This object represents L. Axes 2 contains an object of type line. This object represents L.

Когда вы создаете системную модель управления, можно создать AnalysisPoint блокируйте явно и присваивайте ему входные и выходные имена. Затем можно включить его во входные параметры, чтобы connect как один из блоков для объединения. Однако использование APs аргумент в connect как проиллюстрировано в этом примере, является более простым способом отметить интересующие точки при построении системных моделей управления.

См. также

| |

Похожие примеры

Подробнее о