TuningGoal.ControllerPoles class

Пакет: TuningGoal

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

Описание

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

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

Конструкция

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

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

blockID

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

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

  • Для настройки a 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

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

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);

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

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

Совет

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

Алгоритмы

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

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