exponenta event banner

соединиться

Блок-схема взаимосвязей динамических систем

Синтаксис

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 выбирает все записи сигналов с двумя входами '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 модель. 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