TuningGoal. Класс ControllerPoles

Пакет: TuningGoal

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

Описание

Используйте TuningGoal.ControllerPoles, чтобы ограничить динамику настраиваемого компонента в модели системы управления. Используйте эту настраивающую цель по ограничению динамики настроенных блоков, идентифицированных в интерфейсе slTuner к модели Simulink®. Если вы настраиваете модель genss системы управления, используйте его, чтобы ограничить настраиваемые элементы, такие как tunableTF или tunableSS. Требование TuningGoal.ControllerPoles позволяет вам управлять минимальным уровнем затухания, минимальным затуханием и максимальной собственной частотой полюсов настраиваемого элемента, гарантируя, что контроллер свободен от быстрой или резонирующей динамики. Настраивающаяся цель может также гарантировать устойчивость настроенного значения настраиваемого элемента.

После того, как вы создадите объект требования, можно далее сконфигурировать настраивающуюся цель установкой Properties объекта.

Конструкция

Req = TuningGoal.ControllerPoles(blockID,mindecay,mindamping,maxfreq) создает настраивающуюся цель, которая ограничивает динамику настраиваемого компонента системы управления. Минимальный уровень затухания, минимальное затухание, постоянная, и максимальная собственная частота задает область комплексной плоскости, в которой должны лечь полюса компонента. Неотрицательное минимальное затухание гарантирует устойчивость настроенных полюсов. Настраивающаяся цель применяется ко всем полюсам в блоке кроме фиксированных интеграторов, таких как термин I ПИД-регулятора.

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

blockID

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

  • Для настройки модели Simulink системы управления blockID является настроенным блоком в интерфейсе slTuner к модели. Например, предположите, что интерфейс slTuner имеет настроенный блок под названием Controller. Чтобы ограничить этот блок, используйте 'Controller' для входного параметра blockID.

  • Для настройки модели genss системы управления blockid является одним из блоков системы управления той модели. Например, предположите, что интерфейс genss имеет настраиваемый блок с именем C1. Чтобы ограничить этот блок, используйте 'C1' для входного параметра blockID.

mindecay

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

Задайте mindecay ≥ 0, чтобы гарантировать, что блок стабилен. Если вы задаете отрицательную величину, настроенный блок может включать нестабильные полюса.

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

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

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

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

mindamping

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

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

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

maxfreq

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

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

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

Свойства

Block

Имя настраиваемого компонента, чтобы ограничить, заданный как вектор символов. Входной параметр blockID устанавливает значение Block.

MinDecay

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

MinDecay ≥ 0, чтобы гарантировать, что блок стабилен. Если вы задаете отрицательную величину, настроенный блок может включать нестабильные полюса.

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

Можно использовать запись через точку, чтобы изменить значение этого свойства после того, как вы создадите настраивающуюся цель. Например, предположите, что Req является настраивающей целью TuningGoal.ControllerPoles. Измените минимальный уровень затухания на 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

Name

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

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

Req.Name = 'LoopReq';

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

Примеры

свернуть все

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

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

Создайте настраиваемый компонент, который представляет компенсатор.

C = tunableTF('Compensator',2,2);

Эта команда создает Блок Системы управления под названием 'Compensator' с двумя полюсами, и два обнуляет. Можно создать настраиваемую модель системы управления, T, путем соединения этого Блока Системы управления с другими настраиваемыми и числовыми моделями LTI. Если вы настраиваете T с помощью systune, значений этих полюсов, и обнуляет, неограничены по умолчанию.

Создайте настраивающееся требование, чтобы ограничить динамику блока компенсатора. Установите минимальный уровень затухания на 0,1 рад/с и установите максимальную частоту на 30 рад/с.

Req = TuningGoal.ControllerPoles('Compensator',0.1,0,30);

Входной параметр mindamping 0, который не налагает ограничения на затухание, постоянное из полюсов блока.

Если вы настраиваете T с помощью systune и настраивающегося требования Req, полюса блока компенсатора ограничиваются, удовлетворяют эти значения. После того, как вы настроите T, можно использовать viewGoal, чтобы подтвердить настроенную систему управления против настраивающейся цели.

Советы

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

Алгоритмы

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

Для TuningGoal.ControllerPoles 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