connect

Соединения блок-схемы динамических систем

Синтаксис

sysc = connect(sys1,...,sysN,inputs,outputs)
sysc = connect(sys1,...,sysN,inputs,outputs,APs)
sysc = connect(blksys,connections,inputs,outputs)
sysc = connect(___,opts)

Описание

sysc = connect(sys1,...,sysN,inputs,outputs) соединяет элементы блок-схемы sys1,...,sysN на основе имен сигнала. Элементы блок-схемы sys1,...,sysN являются моделями динамической системы. Эти модели могут включать соединения подведения итогов, что вы создаете использование sumblk. Команда connect соединяет элементы блок-схемы путем соответствия с сигналами ввода и вывода, что вы задаете в свойствах InputName и OutputName sys1,...,sysN. Совокупная модель sysc является моделью динамической системы, задающей вводы и выводы inputs и outputs соответственно.

sysc = connect(sys1,...,sysN,inputs,outputs,APs) вставляет AnalysisPoint в каждом местоположении сигнала, заданном в APs. Используйте аналитические точки, чтобы отметить местоположения интереса, которые являются внутренними сигналами в совокупной модели. Например, местоположение, в котором вы хотите извлечь передаточную функцию цикла или измерить запасы устойчивости, является местоположением интереса.

sysc = connect(blksys,connections,inputs,outputs) использует основанное на индексе соединение, чтобы создать sysc из совокупной, несвязанной модели blksys. Матричный connections задает, как выходные параметры и входные параметры blksys соединяют. Для основанных на индексе соединений inputs и outputs являются индексными векторами, которые задают, какие вводы и выводы blksys являются внешними вводами и выводами sysc. Этот синтаксис может быть удобным, когда вы не хотите присваивать имена ко всем вводам и выводам всех моделей, чтобы соединиться. Однако в целом легче отслеживать именованные сигналы.

sysc = connect(___,opts) создает взаимосвязанную модель с помощью дополнительных опций. Можно использовать opts с входными параметрами любого из предыдущих синтаксисов.

Входные параметры

sys1,...,sysN

Модели динамической системы, которые соответствуют элементам вашей блок-схемы. Например, элементы вашей блок-схемы могут включать одну или несколько моделей tf или ss, которые представляют динамику объекта. Элементы блок-схемы могут также включать модель pid или tunablePID, представляющую контроллер. Можно также включать один или несколько суммирующего соединение, что вы создаете использование sumblk. Обеспечьте несколько аргументов sys1,...,sysN, чтобы представлять все элементы блок-схемы и соединения подведения итогов.

inputs

Для основанного на имени соединения, вектора символов или массива ячеек из символьных векторов, которые задают входные параметры совокупной модели sysc. Входные параметры в inputs должны соответствовать записям в свойстве InputName или OutputName одного или нескольких элементов блок-схемы sys1,...,sysN.

outputs

Для основанного на имени соединения, вектора символов или массива ячеек из символьных векторов, которые задают выходные параметры совокупной модели sysc. Выходные параметры в outputs должны соответствовать записям в свойстве OutputName одного или нескольких элементов блок-схемы sys1,...,sysN.

APs

Местоположения (внутренние сигналы) интереса к совокупной модели, заданной как вектор символов или массив ячеек из символьных векторов, такие как 'X' или {'AP1','AP2'}. Получившаяся модель содержит аналитическую точку в каждом таком местоположении. (См. AnalysisPoint). Каждое местоположение в APs должно соответствовать записи в свойстве InputName или OutputName одного или нескольких элементов блок-схемы sys1,...,sysN.

blksys

Несвязанная совокупная модель. Чтобы получить blksys, используйте append, чтобы соединить модели динамической системы элементов вашей блок-схемы. Например, если ваша блок-схема содержит модели C динамической системы, G и S, создайте blksys со следующей командой:

blksys = append(C,G,S)

connections

Матрица, которая задает связи и соединения подведения итогов блок-схемы. Каждая строка connections задает одно соединение связи или подведения итогов с точки зрения входного вектора u и выходной вектор y несвязанной совокупной модели blksys. Например, строка:

[3 2 0 0]

указывает, что y(2) соединяется в u(3). Строка

[7 2 -15 6]

указывает, что y(2)-y(15)+y(6) питается в u(7).

Если вы не задаете связи для конкретного ввода или вывода, connect не использует тот ввод или вывод из совокупной модели.

opts

Дополнительные опции для соединения, заданного как набор опций, который вы создаете с connectOptions.

Выходные аргументы

sysc

Взаимосвязанная система, возвращенная или как модель в пространстве состояний или как модель частотной характеристики. Тип возвращенной модели зависит от входных моделей. Например:

  • Соединение числовых моделей LTI (кроме моделей frd) возвращает модель ss.

  • Соединение числовой модели LTI с Блоком Системы управления возвращает обобщенную модель LTI. Например, соединение модели tf с Блоком Системы управления tunablePID возвращает genss.

  • Соединение любой модели с моделью данных частотной характеристики возвращает модель данных частотной характеристики.

По умолчанию connect автоматически отбрасывает состояния, которые не способствуют передаточной функции ввода-вывода от заданных входных параметров до заданных выходных параметров взаимосвязанной модели. Чтобы сохранить несвязанные состояния, установите опцию Simplify connectOptions к false. Например:

opt = connectOptions('Simplify',false);
sysc = connect(sys1,sys2,sys3,'r','y',opt);

Примеры

Обратная связь SISO

Создайте совокупную модель следующей блок-схемы от r до y.

Создайте C и G, и назовите вводы и выводы.

C = pid(2,1); 
C.u = 'e';  
C.y = 'u';
G = zpk([],[-1,-1],1);
G.u = 'u';  
G.y = 'y';

Обозначения C.u и C.y являются краткими выражениями, эквивалентными C.InputName и C.OutputName, соответственно. Например, ввод C.u = 'e' эквивалентен вводу C.InputName = 'e'. Наборы команд свойство InputName C к значению 'e'.

Создайте соединение подведения итогов.

Sum = sumblk('e = r - y');

Объедините C, G и соединение подведения итогов, чтобы создать совокупную модель от r до y.

T = connect(G,C,Sum,'r','y');

connect автоматически соединяет вводы и выводы с соответствием с именами.

Обратная связь MIMO

Создайте систему управления предыдущим примером, где G и C являются оба моделями с 2 выводами, с 2 входами.

C = [pid(2,1),0;0,pid(5,6)];
C.InputName = 'e';  
C.OutputName = 'u';
G = ss(-1,[1,2],[1;-1],0);
G.InputName = 'u';  
G.OutputName = 'y';

Когда вы задаете одно имена для сигналов с векторным знаком, программное обеспечение автоматически выполняет векторное расширение имен сигнала. Например, исследуйте имена входных параметров к C.

C.InputName
ans = 

    'e(1)'
    'e(2)'

Создайте соединение подведения итогов с 2 выводами, с 2 входами.

Sum = sumblk('e = r-y',2);

sumblk также выполняет векторное расширение имен сигнала.

Соедините модели, чтобы получить систему с обратной связью.

T = connect(G,C,Sum,'r','y');

Элементы блок-схемы G, C и Sum являются всеми моделями с 2 выводами, с 2 входами. Поэтому connect выполняет то же векторное расширение. connect выбирает все записи 2D входных сигналов 'r' и 'y' как вводы и выводы к T, соответственно. Например, исследуйте входные имена T.

T.InputName
ans = 

    'r(1)'
    'r(2)'

Обратная связь с аналитической точкой, вставленной connect

Создайте модель следующей блок-схемы от r до y. Вставьте аналитическую точку во внутреннем расположении, u.

Создайте C и G, и назовите вводы и выводы.

C = pid(2,1); 
C.InputName = 'e';  
C.OutputName = 'u';
G = zpk([],[-1,-1],1);
G.InputName = 'u';  
G.OutputName = 'y';

Создайте соединение подведения итогов.

Sum = sumblk('e = r - y');

Объедините C, G и соединение подведения итогов, чтобы создать совокупную модель, с аналитической точкой в вас.

T = connect(G,C,Sum,'r','y','u')
T =

  Generalized continuous-time state-space model with 1 outputs, 1 inputs, 3 states, and the following blocks:
    AnalysisPoints_: Analysis point, 1 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.

Получившийся T является моделью genss. Команда connect создает блок AnalysisPoint, AnalysisPoints_, и вставляет его в T. Чтобы видеть имя аналитического канала точки в AnalysisPoints_, используйте getPoints.

getPoints(T)
ans = 1x1 cell array
    {'u'}

Аналитический канал точки называют 'u'. Можно использовать эту аналитическую точку, чтобы извлечь отклики системы. Например, следующие команды извлекают передачу разомкнутого цикла в вас и ответ с обратной связью в y к воздействию, введенному в вас.

L = getLoopTransfer(T,'u',-1);
Tuy = getIOTransfer(T,'u','y');

T эквивалентен следующей блок-схеме, где AP_u называет блок AnalysisPoint AnalysisPoints_ с названием канала u.

Основанное на индексе соединение

Создайте совокупную модель следующей блок-схемы от r до y с помощью основанного на индексе соединения.

Создайте C, G и несвязанную совокупную модель blksys.

C = pid(2,1); 
G = zpk([],[-1,-1],1);
blksys = append(C,G);

Входные параметры u(1),u(2) blksys соответствуют входным параметрам C и G, соответственно. Выходные параметры w(1),w(2) blksys соответствуют выходным параметрам C и G, соответственно.

Создайте матричный connections, который задает, который выходные параметры blksys соединяют с который входные параметры blksys.

connections = [2 1; 1 -2];

Первая строка указывает, что w(1) соединяется с u(2); другими словами, то, что вывод C соединяется с входом G. Вторая строка указывает, что -w(2) соединяется с u(1); другими словами, то, что отрицание вывода G соединяется с входом C.

Создайте связанную совокупную модель от r до y.

T = connect(blksys,connections,1,2)

Последние два аргумента задают внешние вводы и выводы с точки зрения индексов blksys. Аргумент 1 указывает, что внешний вход соединяется с u(1). Последний аргумент, 2, указывает, что внешний вывод соединяется от w(2).

Представлено до R2006a