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 модели, которые представляют динамику объекта. Элементы блок-схемы могут также включать a 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. Например, соединение a tf модель с a tunablePID Блок Системы управления возвращает a 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');

Объедините CG, и соединение подведения итогов, чтобы создать совокупную модель из 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');

Элементы блок-схемы GC, и 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');

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

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 использование основанного на индексе соединения.

Создайте CG, и несвязанная совокупная модель 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