Отметьте аналитические точки в моделях с обратной связью

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

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

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

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

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

| |

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

Больше о