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