getLoopTransfer

Передаточная функция разомкнутой системы управления, представленная genss модель

Описание

пример

L = getLoopTransfer(T,Locations) возвращает передаточную функцию разомкнутого контура управления в заданных точках анализа. Система управления представлена обобщенной моделью пространства состояний T, содержащая точки анализа, заданные как Locations. Передаточная функция разомкнутого контура координат является характеристикой, полученной путем открытия цикла в заданных местах, инжектирования сигналов в этих местах и измерения обратных сигналов в тех же местах.

пример

L = getLoopTransfer(T,Locations,sign) задает знак обратной связи для вычисления отклика без разомкнутого контура. Отношение между откликом с обратной связью T и отклика без разомкнутого контура L является T = feedback(L,1,sign).

пример

L = getLoopTransfer(T,Locations,sign,openings) задает дополнительные местоположения открытия цикла, которые будут открыты для вычисления отклика разомкнутого контура в Locations.

Примеры

свернуть все

Вычислите реакцию разомкнутого контура следующей системной модели управления в точке анализа, заданной как AnalysisPoint блок, X.

Создайте модель системы путем определения и соединения числовой модели объекта управления LTI, G, настраиваемый контроллер, C, и AnalysisPoint, X.

G = tf([1 2],[1 0.2 10]);
C = tunablePID('C','pi');
X = AnalysisPoint('X');  
T = feedback(G*X*C,1);

T является genss модель, которая представляет реакцию системы управления с обратной связью от r кому y. Модель содержит AnalysisPoint блочное X, который определяет потенциальное положение открытия контура.

Вычислите передачу цикла точка-точка разомкнутого контура в местоположении X.

L = getLoopTransfer(T,'X');

Эта команда вычисляет передаточную функцию, которую вы получите путем открытия цикла в X, инъекция сигнала в G, и измерение полученной реакции на выходе C. По умолчанию getLoopTransfer вычисляет положительную передаточную функцию обратной связи, которая является передачей контура, принимая, что цикл будет закрыт на X без смены знака. В этом примере положительная передаточная функция обратной связи L(s)=-C(s)G(s).

Область выхода L является genss модель, которая включает настраиваемый блок C. Можно использовать getValue для получения текущего значения L, в котором все настраиваемые блоки L рассчитываются на их текущее числовое значение.

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

Создайте модель системы путем определения и соединения числовой модели объекта управления G, настраиваемый контроллер C, и AnalysisPoint блочное X.

G = tf([1 2],[1 0.2 10]);
C = pid(0.1,1.5);
X = AnalysisPoint('X');  
T = feedback(G*X*C,1);

T является genss модель, которая представляет реакцию системы управления с обратной связью от r кому y. Модель содержит AnalysisPoint блочное X который определяет потенциальное положение открытия контура.

По умолчанию getLoopTransfer возвращает передаточную функцию L в заданной точке анализа такой, что T = feedback(L,1,+1). Однако margin принимает отрицательную обратную связь, так что margin(L) вычисляет запас устойчивости негативных откликов система с обратной связью feedback(L,1). Поэтому для анализа запасов устойчивости установите sign входной параметр в -1 для извлечения передаточной функции L таким образом T = feedback(L,1). В этом примере эта передаточная функция является L(s)=C(s)G(s).

L = getLoopTransfer(T,'X',-1);

Эта команда вычисляет передаточную функцию без разомкнутого контура от входа G в выходные данные C, принимая, что цикл закрыт с отрицательной обратной связью, так что можно использовать его с такими командами анализа, как margin.

[Gm,Pm] = margin(L)
Gm = 1.4100
Pm = 4.9486

Вычислите реакцию разомкнутого контура внутреннего цикла следующей каскадной системы управления, причем внешний контур открыт.

Создайте модель системы путем определения и соединения числовых моделей объекта управления G1 и G2настраиваемые контроллеры C1, и AnalysisPoint блоки X1 и X2 которые помечают потенциальные положения открытия контура.

G1 = tf(10,[1 10]);
G2 = tf([1 2],[1 0.2 10]);
C1 = tunablePID('C','pi');
C2 = tunableGain('G',1);
X1 = AnalysisPoint('X1');
X2 = AnalysisPoint('X2');
T = feedback(G1*feedback(G2*C2,X2)*C1,X1);

Вычислите отклик разомкнутого контура с отрицательной обратной связью внутреннего цикла в местоположении X2, с внешним контуром, открытым в X1.

L = getLoopTransfer(T,'X2',-1,'X1');

По умолчанию цикл закрывается в месте точки анализа, отмеченном AnalysisPoint блочное X1. Определение 'X1' для openings аргумент вызывает getLoopTransfer чтобы открыть цикл в X1 для целей вычисления требуемой передачи цикла в X2. В этом примере ответ разомкнутого контура с отрицательной обратной связью L(s)=G2(s)C2(s).

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

свернуть все

Модель системы управления, заданная как Обобщенное Состояние-Пространство (genss) Модель. Местоположения, в которых можно открывать циклы и выполнять разомкнутый контур анализ, отмечены как AnalysisPoint блоки в T.

Местоположения точек анализа в системные модели управления, при которых можно вычислить ответ разомкнутого контура координат от точки до точки, заданный как вектор символов или массив ячеек из векторов символов, которые идентифицируют местоположения точек анализа в T.

Местоположения точек анализа отмечены как AnalysisPoint блоки в T. Один AnalysisPoint блок может иметь один или несколько каналов. The Location свойство AnalysisPoint блок дает имена этим каналам обратной связи.

Имя любого канала в AnalysisPoint блок в T является допустимой записью для Locations аргумент в getLoopTransfer. Чтобы получить полный список доступных точек анализа в T, использовать getPoints(T).

getLoopTransfer вычисляет ответ без разомкнутого контура, который вы получите путем инъекции сигнала на неявный вход, сопоставленный с AnalysisPoint канал и измерение отклика на неявном выходе, сопоставленном с каналом. Эти неявные входы и выходы расположены следующим образом.

L - передаточная функция без разомкнутого контура от in на out.

Признак передаточной функции разомкнутого контура для анализа, заданный как +1 или -1.

По умолчанию для входной системы с обратной связью Tфункция возвращает передаточную функцию L в заданной точке анализа, такой что T = feedback(L,1,+1). Однако некоторые команды анализа, которые берут ответ без разомкнутого контура, предполагают, что цикл будет закрыт с отрицательной обратной связью. Для образца, margin(L) вычисляет запас устойчивости негативных откликов система с обратной связью feedback(L,1). Точно так же запасы устойчивости, которые вы можете получить, щелкнув правой кнопкой мыши на bode график делает то же предположение. Поэтому, когда вы используете getLoopTransfer чтобы извлечь передаточную функцию без разомкнутого контура с целью анализа устойчивости замкнутой системы, можно задать sign = -1 для извлечения передаточной функции L таким образом T = feedback(L,1).

Например, рассмотрим следующую систему, где T - передаточная функция с обратной связью от r до y.

По умолчанию L = getLoopTransfer(T,'X') вычисляет передаточную функцию L = - C (s) G (s), так что T = feedback(L,1,+1). Чтобы вычислить запасы устойчивости в X использование margin команда, которая принимает отрицательную обратную связь, необходимо вычислить передаточную функцию L = C (s) G (s), так что T = feedback(L,1). Для этого используйте L = getLoopTransfer(T,'X',-1).

Дополнительные местоположения для открытия циклов обратной связи для расчета отклика без разомкнутого контура, заданные как вектор символов или массив ячеек из векторов символов, которые идентифицируют местоположения точек анализа в T. Местоположения точек анализа отмечены как AnalysisPoint блоки в T. Любое имя канала, содержащееся в Location свойство AnalysisPoint блок в T является допустимой записью для openings.

Использование openings когда вы хотите вычислить реакцию разомкнутого контура в одном местоположении точки анализа с другими циклами, также открытыми в других местоположениях. Для примера в каскадном цикле строения можно вычислить внутренний цикл разомкнутую реакцию с также открытым внешним контуром. Использование getPoints(T) чтобы получить полный список доступных местоположений точек анализа в T.

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

свернуть все

Точка-точка разомкнутого контура ответ системы управления T измеряется в точках анализа, заданных как Locations, возвращается как обобщенное состояние-пространство (genss) модель.

  • Если Locations задает одну точку анализа, затем L является SISO genss модель. В этом случае L представляет собой ответ, полученный при открытии цикла на Locations, инжектирование сигналов и измерение обратных сигналов в том же месте.

  • Если Locations является вектор сигналом или задает несколько точек анализа, затем L является MIMO genss модель. В этом случае L представляет ответ MIMO без разомкнутого контура, полученный путем открытия циклов во всех местоположениях, перечисленных в Locations, инжектирование сигналов и измерение сигналов возврата в этих местах.

Совет

  • Вы можете использовать getLoopTransfer для извлечения откликов без разомкнутого контура с учетом обобщенной модели всей системы управления. Это полезно, например, для проверки откликов без разомкнутого контура системы управления, которую вы настраиваете командой настройки, такой как systune.

  • getLoopTransfer является genss эквивалентно Simulink®Команда Control Design™ getLoopTransfer (Simulink Control Design), который работает с slTuner и slLinearizer интерфейсов. Используйте команду Simulink Control Design, когда ваша система управления смоделирована в Simulink.

См. также

| | | | | (Simulink Control Design)

Введенный в R2012b