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

Для просмотра документации необходимо авторизоваться на сайте