exponenta event banner

TuningGoal.ControleyPoles класс

Пакет: TuningGoal

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

Описание

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

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

Строительство

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

Входные аргументы

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

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

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

Совет

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

Алгоритмы

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

Для TuningGoal.ControllerPolesf (x) отражает относительное удовлетворение или нарушение цели. Например, если вы пытаетесь ограничить полюс настроенного блока минимальным демпфированием, составляющим, по крайней мере, 0,5, то:

  • f (x) = 1 означает, что демпфирование полюса в точности = 0,5.

  • f (x) = 1.1 означает, что демпфирование составляет, приблизительно, на 10% меньше целевого значения.

  • f (x) = 0,9 означает, что демпфирование представляет собой, приблизительно, на 10% лучше, чем целевое значение.

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

развернуть все

В R2016a изменилось поведение

Представлен в R2016a