exponenta event banner

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

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

Для этого примера создайте модель предсказателя Смита, многолучевую систему управления SISO, показанную на следующей блок-схеме.

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

См. также

| |

Связанные примеры

Подробнее