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');

Объедините 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