TuningGoal.Poles class

Пакет: TuningGoal

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

Описание

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

Конструкция

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

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

Если вы хотите ограничить полюса системы одним или несколькими открытыми циклами обратной связи, установите 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 Control Design) для получения информации о функциях чувствительности.) Какие локации доступны, зависит от того, какую систему вы настраиваете:

  • Если вы настраиваете 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.

Свойства

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 цель настройки. Измените максимальную частоту на 1000:

Req.MaxFrequency = 1000;

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

Focus

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

Установите Focus свойство для ограничения применения цели настройки к конкретной полосе частот. Выразите это значение в частотных модулях системной модели управления, которую вы настраиваете (рад/ 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 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';

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

Примеры

свернуть все

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

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

  • f (x) = 1 означает, что наименьшее демпфирование среди полюсов с ограничениями составляет

  • f (<reservedrangesplaceholder0>) = 1.1 означает самое маленькое демпфирование ζ = 0.5/1.1 = 0.45, примерно на 10% меньше, чем цель.

  • f (<reservedrangesplaceholder0>) = 0.9 означает самое маленькое демпфирование ζ = 0.5/0.9 = 0.55, примерно на 10% лучше, чем цель.

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

расширить все

Поведение изменено в R2016a

Введенный в R2016a