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