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

Этот пример показывает, как создать блок-схему и вставить аналитические точки в местоположениях интереса с помощью команды 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 array
    {'dp'}
    {'u' }
    {'yp'}

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

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

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

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

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

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

| |

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

Больше о

Для просмотра документации необходимо авторизоваться на сайте