exponenta event banner

TuningGoal.WeeGain класс

Пакет: TuningGoal

Ограничение частотно-взвешенного усиления для настройки системы управления

Описание

Использовать TuningGoal.WeightedGain ограничение взвешенного усиления от указанных входов к выходам. Взвешенный коэффициент усиления - это максимальная частота усиления от входа к выходу, умноженная на указанные функции взвешивания. Вы можете использовать TuningGoal.WeightedGain цель настройки для настройки системы управления с помощью таких команд настройки, как systune или looptune.

После создания цели настройки ее можно настроить, задав свойства объекта.

Строительство

Req = TuningGoal.WeightedGain(inputname,outputname,WL,WR) создает цель настройки, которая указывает, что передаточная функция с замкнутым контуром H (s) из указанного ввода в вывод удовлетворяет требованию:

| | WL (ы) H (ы) WR (ы) ||∞ < 1.

Обозначение ||•||∞ обозначает максимальный коэффициент усиления по частоте (H∞ норма).

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

inputname

Входные сигналы для цели настройки, определенные как символьный вектор или, для целей настройки с несколькими входами, массив ячеек символьных векторов.

  • Если вы используете цель настройки для настройки модели системы управления Simulink ®, тоinputname может включать в себя:

    • Любые входные данные модели.

    • Любая точка линейного анализа, помеченная в модели.

    • Любая точка линейного анализа в slTuner Интерфейс (Simulink Control Design), связанный с моделью Simulink. Использовать addPoint (Simulink Control Design) для добавления точек анализа в slTuner интерфейс. Использовать getPoints (Simulink Control Design), чтобы получить список точек анализа, доступных в slTuner интерфейс с моделью.

    Например, предположим, что slTuner интерфейс содержит точки анализа u1 и u2. Использовать 'u1' чтобы обозначить эту точку как входной сигнал при создании целей настройки. Использовать {'u1','u2'} для обозначения двухканального входа.

  • При использовании цели настройки для настройки обобщенного состояния-пространства (genss) модель системы управления, то inputname может включать в себя:

    • Любой вход genss модель

    • Любой AnalysisPoint расположение в модели системы управления

    Например, при настройке модели системы управления T, то inputname может быть любым входным именем в T.InputName. Также, если T содержит AnalysisPoint блок с расположением с именем AP_u, то inputname может включать 'AP_u'. Использовать getPoints чтобы получить список точек анализа, доступных в genss модель.

    Если inputname является AnalysisPoint местоположение обобщенной модели, входной сигнал для цели настройки является подразумеваемым входом, связанным с AnalysisPoint блок:

Дополнительные сведения о точках анализа в моделях систем управления см. в разделе Маркировка интересующих сигналов для анализа и проектирования систем управления.

outputname

Выходные сигналы для цели настройки, определенные как символьный вектор или, для целей настройки с несколькими выходами, массив ячеек символьных векторов.

  • Если вы используете цель настройки для настройки модели Simulink системы управления, то outputname может включать в себя:

    • Любые выходные данные модели.

    • Любая точка линейного анализа, помеченная в модели.

    • Любая точка линейного анализа в slTuner Интерфейс (Simulink Control Design), связанный с моделью Simulink. Использовать addPoint (Simulink Control Design) для добавления точек анализа в slTuner интерфейс. Использовать getPoints (Simulink Control Design), чтобы получить список точек анализа, доступных в slTuner интерфейс с моделью.

    Например, предположим, что slTuner интерфейс содержит точки анализа y1 и y2. Использовать 'y1' чтобы обозначить эту точку как выходной сигнал при создании целей настройки. Использовать {'y1','y2'} для обозначения двухканального выхода.

  • При использовании цели настройки для настройки обобщенного состояния-пространства (genss) модель системы управления, то outputname может включать в себя:

    • Любые выходные данные genss модель

    • Любой AnalysisPoint расположение в модели системы управления

    Например, при настройке модели системы управления T, то outputname может быть любым выходным именем в T.OutputName. Также, если T содержит AnalysisPoint блок с расположением с именем AP_u, то outputname может включать 'AP_u'. Использовать getPoints чтобы получить список точек анализа, доступных в genss модель.

    Если outputname является AnalysisPoint местоположение обобщенной модели, выходной сигнал для цели настройки является подразумеваемым выходным сигналом, связанным с AnalysisPoint блок:

Дополнительные сведения о точках анализа в моделях систем управления см. в разделе Маркировка интересующих сигналов для анализа и проектирования систем управления.

WL,WR

Частотно-взвешивающие функции, указанные как скаляры, матрицы или числовые модели LTI SISO или MIMO.

Функции WL и WR предоставьте веса для цели настройки. Цель настройки гарантирует, что коэффициент усиления H (s) от заданного входа к выходу удовлетворяет неравенству:

| | WL (ы) H (ы) WR (ы) ||∞ < 1.

WL обеспечивает взвешивание для выходных каналов H (s), иWR обеспечивает взвешивание входных каналов. Можно задать скалярные веса или частотно-зависимое взвешивание. Чтобы задать зависящее от частоты взвешивание, используйте числовую модель LTI. Например:

WL = tf(1,[1 0.01]);
WR = 10;

Если указаны функции взвешивания MIMO, то inputname и outputname должны быть векторными сигналами. Размеры векторных сигналов должны быть такими, чтобы размеры H (s) были соизмеримы с размерами WL и WR. Например, при указании WR = diag([1 10]), то inputname должны включать два сигнала. Однако скалярные значения автоматически расширяются до любого входного или выходного измерения.

Если вы настраиваетесь за дискретное время (то есть с помощью genss модель или slTuner интерфейс с ненулевым Ts), можно указать функции взвешивания как дискретные модели времени с тем же самым Ts. Если функции взвешивания задаются в непрерывном режиме, программа настройки дискретизирует их. Определение весовых функций в дискретное время дает больший контроль над весовыми функциями вблизи частоты Найквиста.

Значение WL = [] или WR = [] интерпретируется как идентификатор.

Свойства

WL

Частотно-взвешивающая функция для выходных каналов передаточной функции для ограничения, заданная как скаляр, матрица или SISO или MIMO числовая модель LTI. Начальное значение этого свойства задается параметром WL входной аргумент при построении цели настройки.

WR

Частотно-взвешивающая функция для входных каналов передаточной функции для ограничения, заданная как скаляр, матрица или SISO или MIMO числовая модель LTI. Начальное значение этого свойства задается параметром WR входной аргумент при построении цели настройки.

Focus

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

Установите Focus свойство для ограничения применения цели настройки к определенной полосе частот. Выражайте это значение в частотных единицах настраиваемой модели системы управления (рад/TimeUnit). Например, предположим Req является целью настройки, которую требуется применить только в диапазоне от 1 до 100 рад/с. Чтобы ограничить цель настройки этой областью данных, используйте следующую команду:

Req.Focus = [1,100];

По умолчанию: [0,Inf] на непрерывное время; [0,pi/Ts] для дискретного времени, где Ts - время выборки модели.

Stabilize

Требование устойчивости по динамике замкнутого контура, указанное как 1 (true) или 0 (false).

По умолчанию TuningGoal.Gain накладывает требование стабильности на функцию передачи с обратной связью с указанных входов на выходы в дополнение к требованию усиления. Если стабильность не требуется или не может быть достигнута, установите Stabilize кому false для снятия требования к устойчивости. Например, если ограничение усиления применяется к нестабильной функции передачи с разомкнутым контуром, установите Stabilize кому false.

По умолчанию: 1 (true)

Input

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

Output

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

Models

Модели, к которым применяется цель настройки, заданная как вектор индексов.

Используйте Models свойство при настройке массива моделей системы управления с помощью systune, для реализации цели настройки для подмножества моделей в массиве. Например, предположим, что вы хотите применить цель настройки, Req, на вторую, третью и четвертую модели в массиве модели, переданном systune. Чтобы ограничить применение цели настройки, используйте следующую команду:

Req.Models = 2:4;

Когда Models = NaN, цель настройки применяется ко всем моделям.

По умолчанию: NaN

Openings

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

Если вы используете цель настройки для настройки модели Simulink системы управления, то Openings может включать любую точку линейного анализа, отмеченную в модели, или любую точку линейного анализа в slTuner Интерфейс (Simulink Control Design), связанный с моделью Simulink. Использовать addPoint (Simulink Control Design) для добавления точек анализа и проемов контура в slTuner интерфейс. Использовать getPoints (Simulink Control Design), чтобы получить список точек анализа, доступных в slTuner интерфейс с моделью.

При использовании цели настройки для настройки обобщенного состояния-пространства (genss) модель системы управления, то Openings может включать любое AnalysisPoint расположение в модели системы управления. Использовать getPoints чтобы получить список точек анализа, доступных в genss модель.

Например, если Openings = {'u1','u2'}, то цель настройки оценивается с контурами, открытыми в точках анализа u1 и u2.

По умолчанию: {}

Name

Имя цели настройки, указанное как символьный вектор.

Например, если Req является целью настройки:

Req.Name = 'LoopReq';

По умолчанию: []

Примеры

свернуть все

Создайте требование цели настройки, которое ограничивает коэффициент усиления системы SISO с замкнутым контуром от ее входа, r, до ее выхода, y. Весовой коэффициент усиления на входе в 10 раз и на выходе в зависимости от частоты 1/( s + 0,01 ).

WL = tf(1,[1 0.01]);
WR = 10;
Req = TuningGoal.WeightedGain('r','y',WL,WR);

Можно использовать требование Req с systune для настройки свободных параметров любой модели системы управления, имеющей входной сигнал с именем 'r' и выходной сигнал с именем 'y'.

Затем можно использовать viewGoal для проверки соответствия настроенной системы управления требованиям.

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

Создайте модель системы. Для этого укажите и подключите числовые модели завода, G1 и G2, настраиваемые контроллеры C1 и C2. Кроме того, создайте и подключите AnalysisPoint блоки, которые отмечают точки, представляющие интерес для анализа или настройки, AP1 и AP2.

G1 = tf(10,[1 10]);
G2 = tf([1 2],[1 0.2 10]);
C1 = tunablePID('C','pi');
C2 = tunableGain('G',1);
AP1 = AnalysisPoint('AP1');
AP2 = AnalysisPoint('AP2');
T = feedback(G1*feedback(G2*C2,AP2)*C1,AP1);  
T.InputName = 'r';
T.OutputName = 'y';

Создайте требование настройки, ограничивающее коэффициент усиления этой системы от r до y. Вес усиления на выходе на с/( с + 0,5 ).

WL = tf([1 0],[1 0.5]);
Req = TuningGoal.WeightedGain('r','y',WL,[]);

Это требование эквивалентно Req = TuningGoal.Gain('r','y',1/WL). Однако для систем MIMO можно использовать TuningGoal.WeightedGain для создания специфичных для канала весов, которые не могут быть выражены как TuningGoal.Gain требования.

Укажите, что функция переноса с r на y будет вычисляться при открытом внешнем цикле с целью настройки на это ограничение.

Req.Openings = 'AP1';

По умолчанию настройка с использованием TuningGoal.WeightedGain накладывает требование стабильности, а также требование усиления. Практически, в некоторых системах управления невозможно достичь устойчивого внутреннего контура. Когда это произойдет, удалите требование стабильности для внутреннего контура, установив Stabilize свойство для false.

Req.Stabilize = false;

Алгоритм настройки по-прежнему предъявляет требование стабильности к общей настроенной системе управления, но не только к внутреннему контуру.

Использовать systune для настройки свободных параметров T для соответствия требованию настройки, указанному в Req. Затем можно проверить настроенную систему управления на соответствие требованиям с помощью команды viewGoal(Req,T).

Совет

  • Эта цель настройки накладывает неявное ограничение стабильности на взвешенную передаточную функцию замкнутого цикла из Input кому Output, оценивается с помощью петель, открытых в точках, определенных в Openings. Динамика, на которую влияет это неявное ограничение, является стабилизированной динамикой для этой цели настройки. MinDecay и MaxRadius варианты systuneOptions управлять границами в этой неявно ограниченной динамике. Если оптимизация не соответствует границам по умолчанию или если границы по умолчанию противоречат другим требованиям, используйте systuneOptions для изменения этих значений по умолчанию.

Алгоритмы

При настройке системы управления с помощью TuningGoal, программное обеспечение преобразует цель настройки в нормализованное скалярное значение f (x). x - вектор свободных (настраиваемых) параметров в системе управления. Затем программа корректирует значения параметров для минимизации f (x) или для приведения f (x) ниже 1, если цель настройки является жестким ограничением.

Для TuningGoal.WeightedGain, f (x) задается следующим образом:

f (x) =‖WLT (ы, x) WR‖∞.

T (s, x) - функция передачи с обратной связью отInput кому Output. ∞ обозначает H∞ норму ( см.getPeakGain).

Вопросы совместимости

развернуть все

В R2016a изменилось поведение

См. также

| | | | (Simulink Control Design) | (Simulink Control Design) | (Проект управления Simulink)

Представлен в R2016a