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. Для образца, соединения a tf модель с a tunablePID Control Design Block возвращает 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 выбирает все значения двух входных сигналов '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, и суммирующее соединение для создания совокупной модели с точкой анализа u.

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 модель. The connect команда создает AnalysisPoint блок, AnalysisPoints_, и вставляет его в T. Чтобы увидеть имя канала точки анализа в AnalysisPoints_, использовать getPoints.

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

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

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