TuningGoal.Poles class

Пакет: TuningGoal

Ограничение на динамику системы управления

Описание

Используйте TuningGoal.Poles ограничить динамику с обратной связью системы управления или определенной обратной связи в системе управления. Можно использовать эту настраивающую цель для системы управления, настраивающейся с настраивающимися командами, такими как systune или looptune. TuningGoal.Poles цель может гарантировать минимальный уровень затухания или минимальное затухание полюсов системы управления или цикла. Это может также устранить быструю динамику в настроенной системе.

Конструкция

Req = TuningGoal.Poles(mindecay,mindamping,maxfreq) создает шаблон по умолчанию для ограничения местоположений полюса с обратной связью. Минимальный уровень затухания, минимальное затухание, постоянная, и максимальная собственная частота задает область комплексной плоскости, в которой должны лечь полюса компонента. Установите mindecay = 0, mindamping = 0, или maxfreq = Inf пропускать любое из этих трех ограничений.

Req = TuningGoal.Poles(location,mindecay,mindamping,maxfreq) ограничивает полюса функции чувствительности, измеренной в заданном местоположении в системе управления. (См. getSensitivity для получения информации о функциях чувствительности.) Используют этот синтаксис, чтобы сузить осциллограф настраивающейся цели к конкретной обратной связи.

Если вы хотите ограничить полюса системы с одной или несколькими открытой обратной связью, установите Openings свойство. Чтобы ограничить осуществление этой настраивающей цели к полюсам, имеющим собственную частоту в заданном частотном диапазоне, установите Focus свойство. (См. Свойства.)

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

mindecay

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

Когда вы настраиваете систему управления с помощью этой настраивающей цели, полюса с обратной связью системы управления ограничиваются удовлетворить:

  •   Re(s) < -mindecay, для систем непрерывного времени.

  • log(|z|) < -mindecay*Ts, для систем дискретного времени с шагом расчета Ts.

Установите mindecay = 0, чтобы не наложить ограничение на уровень затухания.

mindamping

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

Полюса, которые зависят от настраиваемых параметров, ограничиваются удовлетворить   Re(s) < -mindamping*|s|. В дискретное время коэффициент затухания вычисляется с помощью s=log(z)/Ts.

Установите mindamping = 0, чтобы не наложить ограничение на коэффициент затухания.

maxfreq

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

Полюса ограничиваются удовлетворить   |s| < maxfreq в течение непрерывного времени или |log(z)| < maxfreq*Ts для систем дискретного времени с шагом расчета Ts. Это ограничение предотвращает быструю динамику в системе с обратной связью.

Установите maxfreq = Inf не наложить ограничение на собственную частоту.

location

Местоположение, в котором оценены полюса, задало как вектор символов или массив ячеек из символьных векторов, которые идентифицируют одно или несколько местоположений в системе управления, чтобы настроиться. Когда вы используете этот вход, настраивающаяся цель ограничивает полюса функции чувствительности, измеренной в этом местоположении. (См. getSensitivity для получения информации о функциях чувствительности.), Какие местоположения доступны, зависит от того, какую систему вы настраиваете:

  • Если вы настраиваете модель Simulink® системы управления, можно использовать любую линейную аналитическую точку, отмеченную в модели или любую линейную аналитическую точку в slTuner интерфейс сопоставлен с моделью Simulink. Используйте addPoint добавить анализ указывает на slTuner интерфейс. Например, если slTuner интерфейс содержит аналитическую точку u, можно использовать 'u' относиться к той точке при создании настраивающихся целей. Используйте getPoints получить список аналитических точек, доступных в 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.

Свойства

MinDecay

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

Когда вы настраиваете систему управления с помощью этой настраивающей цели, полюса с обратной связью ограничиваются удовлетворить   Re(s) < -MinDecay для систем непрерывного времени или log(|z|) < -MinDecay*Ts для систем дискретного времени с шагом расчета Ts.

Можно использовать запись через точку, чтобы изменить значение этого свойства после того, как вы создадите настраивающуюся цель. Например, предположите Req TuningGoal.Poles настройка цели. Измените минимальный уровень затухания в 0,001:

Req.MinDecay = 0.001;

Значение по умолчанию: 0

MinDamping

Желаемый минимальный коэффициент затухания полюсов с обратной связью, заданных как значение между 0 и 1. Начальное значение этого свойства установлено mindamping входной параметр.

Полюса, которые зависят от настраиваемых параметров, ограничиваются удовлетворить   Re(s) < -MinDamping*|s|. В дискретное время коэффициент затухания вычисляется с помощью s=log(z)/Ts.

Значение по умолчанию: 0

MaxFrequency

Желаемая максимальная собственная частота закрытых полюсов, заданных как скалярное значение в единицах частоты модели системы управления, вы настраиваетесь. Начальное значение этого свойства установлено maxfreq входной параметр.

Полюса блока ограничиваются удовлетворить   |s| < maxfreq для систем непрерывного времени или |log(z)| < maxfreq*Ts для систем дискретного времени с шагом расчета Ts. Это ограничение предотвращает быструю динамику в настроенной системе управления.

Можно использовать запись через точку, чтобы изменить значение этого свойства после того, как вы создадите настраивающуюся цель. Например, предположите Req TuningGoal.ControllerPoles настройка цели. Измените максимальную частоту в 1 000:

Req.MaxFrequency = 1000;

Значение по умолчанию: Inf

Focus

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

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

Req.Focus = [1,100];

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

Location

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

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

Models

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

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

Req.Models = 2:4;

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

Значение по умолчанию: NaN

Openings

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

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

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

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

Значение по умолчанию: {}

Name

Имя настраивающейся цели, заданной как вектор символов.

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

Req.Name = 'LoopReq';

Значение по умолчанию: []

Примеры

свернуть все

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

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

Создайте настраивающееся требование, которое ограничивает динамику полюсов с обратной связью. Ограничьте полюса внутреннего цикла в область Re(s)<-0.1, |s|<30.

Req = TuningGoal.Poles(0.1,0,30);

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

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

Req.Openings = 'AP1';

Когда вы настраиваете T с помощью этого требования ограничение применяется к полюсам целой системы управления, оцененной с циклом, открытым в 'AP1'. Другими словами, полюса внутреннего цикла плюс полюса C1 и G1 все рассматриваются.

После того, как вы настраиваете T, можно использовать viewGoal подтверждать настроенную систему управления против требования.

Создайте требование, которое ограничивает внутренний цикл системы предыдущего примера быть устойчивым и свободным от быстрой динамики. Укажите, что ограничение оценено с открытым внешним циклом.

Создайте настраивающееся требование, которое ограничивает динамику внутренней обратной связи, цикл, идентифицированный AP2. Ограничьте полюса внутреннего цикла в область Re(s)<-0.1, |s|<30.

Req = TuningGoal.Poles('AP2',0.1,0,30);

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

Req.Openings = 'AP1';

Когда вы настраиваете T с помощью этого требования ограничение применяется только к полюсам внутреннего цикла, оцененного с открытым внешним циклом. В этом случае, начиная с G1 и C1 не способствуйте функции чувствительности в AP2 когда внешний цикл открыт, требование ограничивает только полюса G2 и C2.

После того, как вы настраиваете T, можно использовать viewGoal подтверждать настроенную систему управления против требования.

Советы

  • TuningGoal.Poles ограничивает динамику с обратной связью настроенной системы управления. Чтобы ограничить динамику или гарантировать устойчивость одного настраиваемого компонента, используйте TuningGoal.ControllerPoles.

Алгоритмы

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

Для TuningGoal.Poles, f (x) отражает относительную удовлетворенность или нарушение цели. Например, при попытке ограничить полюса с обратной связью обратной связи к минимальному затуханию ζ = 0.5, затем:

  • f (x) = 1 среднее значение самое маленькое затухание среди ограниченных полюсов является ζ = 0.5 точно.

  • f (x) = 1,1 средних значения самое маленькое затухание ζ = 0.5/1.1 = 0.45, примерно на 10% меньше, чем цель.

  • f (x) = 0,9 средних значения самое маленькое затухание ζ = 0.5/0.9 = 0.55, примерно на 10% лучше, чем цель.

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

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

Поведение изменяется в R2016a

Введенный в R2016a