TuningGoal. Класс полюсов

Пакет: 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