exponenta event banner

TuningGoal.Poles класс

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