exponenta event banner

TuningGoal.Margins класс

Пакет: TuningGoal

Требования к пределу устойчивости для настройки системы управления

Описание

Использовать TuningGoal.Margins задание цели настройки для усиления и полей фазы контура обратной связи SISO или MIMO. Эту цель настройки можно использовать для проверки настроенной системы управления с помощью viewGoal. Можно также использовать цель настройки для настройки системы управления с помощью таких команд настройки, как systune или looptune.

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

После использования цели настройки для настройки системы управления можно визуализировать цель настройки и настроенное значение с помощью viewGoal команда. Сведения о интерпретации цели полей см. в разделе Поля стабильности в настройке системы управления.

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

Req = TuningGoal.Margins(location,gainmargin,phasemargin) создает цель настройки, определяющую минимальный коэффициент усиления и фазовые поля в указанном местоположении системы управления.

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

location

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

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

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

    AP = AnalysisPoint('u');
    G = tf(1,[1 2]);
    C = tunablePID('C','pi');
    T = feedback(G*AP*C,1);
    

    При создании целей настройки можно использовать 'u' см. точку анализа на входе в установку. Использовать getPoints чтобы получить список точек анализа, доступных в genss модель.

Требования к запасам применяются к функции передачи «точка-точка» с разомкнутым контуром в указанном месте открытия контура. Эта передаточная функция представляет собой отклик с разомкнутым контуром, полученный путем ввода сигналов в указанном месте и измерения обратных сигналов в той же точке.

Если location является массивом ячеек, тогда требование запаса применяется к функции передачи с разомкнутым контуром MIMO.

gainmargin

Требуемый минимальный запас усиления для контура обратной связи, заданный как скалярное значение в дБ. TuningGoal.Margins использует дисковое усиление и поля фаз, которые обеспечивают более сильную гарантию стабильности, чем классическое усиление и поля фаз. (Дополнительные сведения о полях диска см. в разделе Анализ стабильности с использованием полей диска (надёжная панель управления).)

Запас усиления указывает, насколько усиление отклика с разомкнутым контуром может увеличиваться или уменьшаться без потери стабильности. Например,

  • Для системы SISO установка gainmargin = 3 определяет требование о том, чтобы система с замкнутым контуром оставалась стабильной для изменений коэффициента усиления с разомкнутым контуром до ± 3 дБ.

  • Для системы MIMO установка gainmargin = 3 определяет требование о том, чтобы замкнутая система оставалась стабильной для изменения коэффициента усиления до ± 3 дБ в каждом канале обратной связи. Коэффициент усиления может изменяться во всех каналах одновременно и на различную величину в каждом канале.

phasemargin

Требуемый минимальный запас по фазе для контура обратной связи, заданный как скалярное значение в градусах. TuningGoal.Margins использует дисковое усиление и поля фаз, которые обеспечивают более сильную гарантию стабильности, чем классическое усиление и поля фаз. (Дополнительные сведения о полях диска см. в разделе Анализ стабильности с использованием полей диска (надёжная панель управления).)

Запас по фазе указывает, насколько фаза реакции с разомкнутым контуром может увеличиваться или уменьшаться без потери стабильности. Например,

  • Для системы SISO установка phasemargin = 45 определяет требование о том, чтобы система с замкнутым контуром оставалась стабильной при изменениях до ± 45 ° в фазе реакции с разомкнутым контуром.

  • Для системы MIMO установка phasemargin = 45 определяет требование о том, чтобы замкнутая система оставалась стабильной для фазовых изменений до ± 45 ° в каждом канале обратной связи. Фаза может изменяться во всех каналах одновременно и на различную величину в каждом канале.

Свойства

GainMargin

Требуемый минимальный запас усиления для контура обратной связи, заданный как скалярное значение в децибелах (дБ).

Значение GainMargin устанавливается свойством gainmargin входной аргумент при создании цели настройки.

PhaseMargin

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

Значение PhaseMargin устанавливается свойством phasemargin входной аргумент при создании цели настройки.

ScalingOrder

Управляет порядком (количеством состояний) масштабирования, используемого для вычисления пределов стабильности MIMO. Статические шкалы (ScalingOrder = 0) используются по умолчанию. Увеличение порядка может улучшить результаты за счет увеличения вычислений. Использовать viewGoal оценить разрыв между оптимизированной и фактической маржей. Если этот промежуток слишком велик, рассмотрите возможность увеличения порядка масштабирования. См. раздел Поля стабильности в настройке системы управления.

По умолчанию: 0 (статическое масштабирование)

Focus

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

Установите Focus свойство для ограничения применения цели настройки к определенной полосе частот. Для получения наилучших результатов с требованиями к запасам устойчивости выберите полосу частот, простирающуюся примерно на одну декаду с каждой стороны частот пересечения усиления. Например, предположим Req является TuningGoal.Margins объект, используемый для настройки системы с пропускной способностью приблизительно 10 рад/с. Чтобы ограничить применение цели настройки, используйте следующую команду:

Req.Focus = [1,100];

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

Location

Местоположение, в котором применяются минимальное усиление и поля фазы, указанное как массив ячеек символьных векторов, которые идентифицируют одну или несколько точек анализа в системе управления для настройки. Например, если Location = {'u'}, цель настройки обеспечивает минимальный коэффициент усиления и фазовые поля в точке анализа 'u'.

Значение Location устанавливается свойством location входной аргумент при создании цели настройки.

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

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

Примеры

свернуть все

Создайте маржинальное требование для внутреннего контура следующей системы управления. Требование накладывает минимальный запас усиления 5 дБ и минимальный запас фазы 40 градусов.

Создайте модель системы. Для этого укажите и подключите числовые модели завода. 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);

Создайте объект требования настройки.

Req = TuningGoal.Margins('AP2',5,40);

Это требование накладывает указанные пределы устойчивости на контур обратной связи, идентифицированный AnalysisPoint канал 'AP2', которая является внутренней петлей.

Укажите, что эти поля оцениваются при разомкнутом внешнем контуре системы управления.

Req.Openings = {'AP1'};

Добавление 'AP1' в Openings свойство объекта требований настройки гарантирует, что systune оценивает требование с разомкнутым контуром в этом месте.

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

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

Требование устанавливает минимальный запас усиления 10 дБ и минимальный запас фазы 40 градусов в диапазоне от 0,1 до 10 рад/с.

Req = TuningGoal.Margins({'r','theta','phi'},10,40);

Имена 'r', 'theta', и 'phi' необходимо указать допустимые места открытия цикла в системе управления, которую вы настраиваете.

Ограничьте требование диапазоном частот от 0,1 до 10 рад/с.

 Req.Focus = [0.1 10];

Совет

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

Алгоритмы

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

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

f (x) =‖2αS−αI‖∞.

S = D-1 [ I-L (s, x)] -1D - масштабированная функция чувствительности.

L (s, x) - формируемый отклик с разомкнутым контуром.

D - автоматически вычисленный коэффициент масштабирования цикла. Дополнительные сведения о D см. в разделе Поля стабильности в настройке системы управления.

α - скалярный параметр, вычисленный из заданного коэффициента усиления и запаса по фазе. Дополнительные сведения об α см. в разделе Анализ стабильности с использованием полей диска (надёжная панель инструментов управления).

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

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

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

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