Closed-Loop PID Autotuner

Автоматически настройте коэффициенты ПИД на основе частотных характеристик объекта, оцененных из эксперимента с обратной связью в режиме реального времени

  • Библиотека:
  • Simulink Control Design

  • Closed-Loop PID Autotuner block

Описание

Блок Closed-Loop PID Autotuner позволяет вам настроить ПИД-регулятор в режиме реального времени против физического объекта, для которого у вас есть начальный ПИД-регулятор, который дает к устойчивому циклу. Объект остается под управлением с обратной связью начального ПИД-регулятора во время целого процесса автоматической настройки. Блок может настроить ПИД-регулятор, чтобы достигнуть заданной полосы пропускания и запаса по фазе без параметрической модели объекта управления. Если у вас есть продукт генерации кода, такой как Simulink® Coder™, можно сгенерировать код, который реализует настраивающийся алгоритм на оборудовании, позволяя вам настроиться в реальное время с или не используя Simulink, чтобы справиться с процессом автоматической настройки.

Если вам смоделировали объект в Simulink и начальном ПИД-регуляторе, можно выполнить автонастройку ПИД-регулятора с обратной связью против смоделированного объекта. Выполнение так позволяет вам ответ объекта предварительного просмотра, и настройте настройки для автонастройки ПИД-регулятора прежде, чем настроить контроллер в режиме реального времени.

Достигнуть настройки без моделей, блока Closed-Loop PID Autotuner:

  1. Вводит тестовый сигнал в объект, чтобы собрать данные ввода - вывода объекта и оценить частотную характеристику в режиме реального времени. Тестовый сигнал является комбинацией синусоидальных сигналов возмущения, добавленных сверху входа объекта.

  2. В конце эксперимента, параметров ПИД-регулятора мелодий на основе предполагаемых частотных характеристик объекта около целевой полосы пропускания.

  3. Обновляет блок PID Controller или пользовательский ПИД-регулятор настроенными параметрами, позволяя вам подтвердить эффективность с обратной связью в режиме реального времени.

В отличие от этого, с блоком Open-Loop PID Autotuner, цикл остается закрытым в течение эксперимента. Хранение замкнутого круга помогает обеспечить безопасную работу объекта во время эксперимента оценки.

Можно использовать блок Closed-Loop PID Autotuner, чтобы настроить ПИД-регуляторы для:

  • Любой устойчивый объект

  • Любой объект непрерывного времени с одним или несколькими интеграторами (орудует шестами в s = 0), или одна или несколько пар комплексных полюсов на мнимой оси

  • Любой объект дискретного времени с одним или несколькими интеграторами (орудует шестами в z = –1), или пары комплексных полюсов на модульном круге |z | = 1

Если у вас нет начального ПИД-регулятора, можно использовать блок Open-Loop PID Autotuner, чтобы получить тот. Можно затем переключиться на автонастройку ПИД-регулятора с обратной связью для улучшения или перенастройки.

Блок поддерживает генерацию кода с Simulink Coder, Embedded Coder®, и Simulink PLC Coder™. Это не поддерживает генерацию кода с HDL Coder™.

Для получения дополнительной информации об использовании блока Closed-Loop PID Autotuner см.:

Для более общей информации об автонастройке ПИД-регулятора и сравнении подходов и разомкнутого контура с обратной связью, смотрите, Когда Использовать Автонастройку ПИД-регулятора.

Порты

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

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

Вставьте блок в свою систему, таким образом, что этот порт принимает управляющий сигнал из источника. Как правило, этот порт принимает сигнал от ПИД-регулятора в вашей системе.

Типы данных: single | double

Соедините этот порт с объектом выход.

Типы данных: single | double

Чтобы запустить и остановить процесс автоматической настройки, обеспечьте сигнал в start/stop порт. Когда значение сигнала изменяется от:

  • Отрицательный или нуль к положительному, эксперимент запускается

  • Положительный отрицательному или нулю, остановкам эксперимента

Когда эксперимент не запускается, сигналы передач блока, неизменные от u до u+Δu. В этом состоянии блок не оказывает влияния на поведение контроллера или объект.

Как правило, можно использовать сигнал, который изменяется с 0 до 1, чтобы запустить эксперимент, и от 1 до 0, чтобы остановить его. Некоторые вопросы для рассмотрения при конфигурировании сигнала start/stop включают:

  • Запустите эксперимент, когда объект будет в желаемой рабочей точке равновесия. Используйте начальный контроллер, чтобы управлять объектом к рабочей точке. Если у вас нет начального контроллера (разомкнутый контур, настраивающийся только), можно использовать исходный блок, соединенный с u, чтобы управлять объектом к рабочей точке.

  • Избегайте любого воздействия загрузки к объекту во время эксперимента. Загрузите воздействие, может исказить объект выход и уменьшать точность оценки частотной характеристики.

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

    • Определите длительность эксперимента заранее. Осторожная оценка на время эксперимента является 200/ωc в режиме эксперимента суперпозиции или 550/ωc в режиме эксперимента sinestream, где ωc является вашей целевой полосой пропускания.

    • Наблюдайте сигнал в % conv выведите и остановите эксперимент, когда сигнал стабилизирует близкие 100%.

  • Когда вы останавливаете эксперимент, блок вычисляет настроенные коэффициенты ПИД и обновляет сигнал в pid gains порт.

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

Типы данных: single | double

Предоставьте значение для Target bandwidth (rad/sec) параметр. Смотрите тот параметр для деталей.

Зависимости

Включить этот порт, во вкладке Tuning, рядом с Target bandwidth (rad/sec), выберите Use external source.

Типы данных: single | double

Предоставьте значение для Target phase margin (degrees) параметр. Смотрите тот параметр для деталей.

Зависимости

Включить этот порт, во вкладке Tuning, рядом с Target phase margin (degrees), выберите Use external source.

Типы данных: single | double

Предоставьте значение для Sine Amplitudes параметр. Смотрите тот параметр для деталей.

Зависимости

Включить этот порт, во вкладке Experiment, рядом с Sine Amplitudes, выберите Use external source.

Типы данных: single | double

Вывод

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

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

  • Когда эксперимент запускается (start/stop положительный), блок вводит тестовые сигналы в объект в этом порте. Если вы имеете насыщение или ограничение скорости, защищающее объект, питаете сигнал от u+Δu в него.

  • Когда эксперимент не запускается (start/stop нуль или отрицательный), блок передает сигналы, неизменные от u до u+Δu.

Зависимости

Чтобы включить этот порт, в Output Signal Configuration, выбирают control + perturbation.

Типы данных: single | double

Блок генерирует сигнал возмущения в этом порте. Как правило, вы вводите возмущение от этого порта через блок суммы, как показано в следующей схеме.

  • Когда эксперимент запускается (положительный start/stop), блок генерирует сигналы возмущения в этом порте.

  • Когда эксперимент не запускается (нуль start/stop или отрицательный), сигнал в этом порте является нулем. В этом состоянии блок не оказывает влияния на объект.

Зависимости

Чтобы включить этот порт, в Output Signal Configuration, выбирают perturbation only.

Типы данных: single | double

Когда эксперимент запускается (start/stop положительный), блок вводит тестовые сигналы в объект и измеряет ответ объекта в y. Это использует эти сигналы оценить частотную характеристику объекта на нескольких частотах вокруг целевой полосы пропускания для настройки. % conv указывает, как близко к завершению оценка частотной характеристики объекта. Как правило, это значение быстро повышается приблизительно до 90% после того, как эксперимент начнется, и затем постепенно будет сходиться к более высокому значению. Остановите эксперимент, когда он выровняет близкие 100%.

Типы данных: single | double

Этот сигнал шины с 4 элементами содержит настроенные коэффициенты ПИД P, I, D и коэффициент фильтра N. Эти значения соответствуют PiD, и N параметры в выражениях, данных в Form параметр. Первоначально, значения 0, 0, 0, и 100, соответственно. Блок обновляет значения, когда эксперимент заканчивается. Этот сигнал шины всегда имеет четыре элемента, даже если вы не настраиваете контроллер PIDF.

Если вам сопоставили ПИД-регулятор с блоком, можно обновить тот контроллер с этими значениями после того, как эксперимент заканчивается. Для этого во вкладке Block, нажмите Update PID Block.

Типы данных: single | double

Это выходы порта предполагаемый запас по фазе, достигнутый настроенным контроллером, в градусах. Блок обновляет это значение, когда настраивающийся эксперимент заканчивается. Предполагаемый запас по фазе вычисляется от угла G (jωc) C (jωc), где G является предполагаемым объектом, C является настроенным контроллером, и ωc является частотой среза (полоса пропускания). Предполагаемый запас по фазе может отличаться от целевого запаса по фазе, заданного Target phase margin (degrees) параметр. Это - индикатор робастности и устойчивости, достигнутой настроенной системой.

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

  • Отрицательный запас по фазе указывает, что система с обратной связью может быть нестабильной.

Зависимости

Чтобы включить этот порт, во вкладке Tuning, выбирают Output estimated phase margin achieved by tuned controller.

Это выходы порта данные частотной характеристики оценивается экспериментом. Первоначально, значение в frd [0, 0, 0, 0, 0]. Во время эксперимента блок вводит сигналы на частотах [1/10, 1/3, 1, 3, 10] ωc, где ωc является целевой полосой пропускания. В каждом шаге расчета во время эксперимента блок обновляет frd с вектором, содержащим комплексную частотную характеристику на каждой из этих частот, соответственно. Можно использовать прогресс ответа как альтернатива % conv исследовать сходимость оценки. Когда эксперимент останавливается, блок обновляет frd с финалом оценил частотную характеристику, используемую в вычислениях коэффициенты ПИД.

Зависимости

Чтобы включить этот порт, во вкладке Experiment, выбирают Plant frequency responses near bandwidth.

Это, которое выходы порта, которые вектор, содержащий объект, ввел (u+Δu) и объект, выводят (y), когда эксперимент начинается. Эти значения являются вводом и выводом объекта в номинальной рабочей точке, в которой блок выполняет эксперимент.

Зависимости

Чтобы включить этот порт, во вкладке Experiment, выбирают Plant nominal input and output.

Параметры

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

Настройка вкладки

Задайте тип ПИД-регулятора в вашей системе. Тип контроллера указывает на то, какие действия присутствуют в контроллере. Следующие типы контроллера доступны для автонастройки ПИД-регулятора:

  • P — Пропорциональный только

  • I — Интеграл только

  • PI — Пропорциональный и интеграл

  • PD — Пропорциональный и производный

  • PDF — Пропорциональный и производный с производным фильтром

  • PID — Пропорциональный, интеграл и производная

  • PIDF — Пропорциональный, интеграл и производная с производным фильтром

Когда вы обновите блок PID Controller или пользовательский ПИД-регулятор с настроенными значениями параметров, убедитесь соответствия типа контроллера.

Настраиваемый: да

Программируемое использование

Параметры блоков: PIDType
Ввод: символьный вектор
Значения: 'P' | 'I' | 'PI' | 'PD' | 'PDF' | 'PID' | 'PIDF'
Значение по умолчанию: 'PI'

Задайте форму контроллера. Форма контроллера определяет интерпретацию коэффициентов ПИДа P, I, D и N.

  • Parallel — В Parallel сформируйтесь, передаточная функция дискретного времени, которое контроллер PIDF:

    C=P+IFi(z)+D[N1+NFd(z)],

    где Fi (z) и Fd (z) является интегратором и фильтрует формулы (см. Integrator method и Filter method). Передаточная функция параллельной формы непрерывного времени контроллер PIDF:

    C=P+I(1s)+D(Nss+N).

    Другие действия контроллера составляют установку P, I или D, чтобы обнулить.

  • Ideal — В Ideal сформируйтесь, передаточная функция дискретного времени, которое контроллер PIDF:

    C=P[1+IFi(z)+D(N1+NFd(z))].

    Передаточная функция идеальной формы непрерывного времени контроллер PIDF:

    C=P[1+I(1s)+D(Nss+N)].

    Другие действия контроллера составляют установку D, чтобы обнулить или установка, I к Inf. (В идеальной форме у контроллера должно быть пропорциональное действие.)

Когда вы обновите блок PID Controller или пользовательский ПИД-регулятор с настроенными значениями параметров, убедитесь соответствия формы контроллера.

Настраиваемый: да

Программируемое использование

Параметры блоков: PIDForm
Ввод: символьный вектор
Значения: 'Parallel' | 'Ideal'
Значение по умолчанию: 'Parallel'

Задайте, является ли ваш ПИД-регулятор контроллером дискретного времени или непрерывного времени.

  • В течение дискретного времени необходимо задать шаг расчета ПИД-регулятора с помощью параметра Controller sample time (sec).

  • В течение непрерывного времени необходимо также задать шаг расчета для эксперимента автонастройки ПИД-регулятора с помощью параметра Experiment sample time (sec).

Программируемое использование

Параметры блоков: TimeDomain
Ввод: символьный вектор
Значения: 'discrete-time' | 'continuous-time'
Значение по умолчанию: 'discrete-time'

Задайте шаг расчета своего ПИД-регулятора в секундах. Это значение также устанавливает шаг расчета для эксперимента, выполняемого блоком.

Чтобы выполнить настройку ПИДа, блок измеряет информацию о частотной характеристике до частоты 10 раз целевой полосы пропускания. Чтобы гарантировать, что эта частота меньше частоты Найквиста, целевая полоса пропускания, ωc, должна удовлетворить ωc Ts ≤ 0.3, где Ts , ωc является шагом расчета контроллера, который вы задаете с Controller sample time (sec) параметр.

Когда вы обновите блок PID Controller или пользовательский ПИД-регулятор с настроенными значениями параметров, убедитесь соответствия шага расчета контроллера.

Советы

Если вы хотите запустить развернутый блок с различными шагами расчета в вашем приложении, установите этот параметр на –1 и поместите блок в Triggered Subsystem. Затем инициируйте подсистему в желаемом шаге расчета. Если вы не планируете изменить шаг расчета после развертывания, задайте фиксированный и конечный шаг расчета.

Зависимости

Чтобы включить этот параметр, установите Time Domain на discrete-time.

Программируемое использование

Параметры блоков: DiscreteTs
Ввод: скаляр
Положительная скалярная величина значения | –1
Значение по умолчанию: 0.1

Позвольте этому параметру запустить настройку на уровне частоты дискретизации, которая отличается от частоты дискретизации ПИД-регулятора, который вы настраиваете и эксперимент оценки частотной характеристики, выполняемый блоком. Настраивающий алгоритм коэффициента ПИД в вычислительном отношении интенсивен, и, когда это необходимо, развернуть блок в оборудование и настроить контроллер с быстрым шагом расчета, некоторое оборудование не может завершить вычисление коэффициента ПИД в одном временном шаге. Чтобы уменьшать аппаратные требования пропускной способности, задайте настраивающийся шаг расчета медленнее, чем шаг расчета контроллера с помощью параметра Tuning sample time (sec).

Зависимости

Чтобы включить этот параметр, установите Time Domain на discrete-time.

Программируемое использование

Параметры блоков: UseTuningTs
Ввод: символьный вектор
Значение 'off' | 'on'
Значение по умолчанию: 'off'

Задайте шаг расчета настраивающегося алгоритма в секундах.

Если вы намереваетесь развернуть блок на оборудовании с ограниченной вычислительной мощностью и хотеть настроить контроллер с быстрым шагом расчета, задать шаг расчета, таким образом, что настраивающийся алгоритм запускается на более медленном уровне, чем ПИД-регулятор, вы настраиваетесь.

Зависимости

Чтобы включить этот параметр, установите Time Domain на discrete-time и выберите Tune at different sample time.

Программируемое использование

Параметры блоков: TuningTs
Ввод: скаляр
Положительная скалярная величина значения
Значение по умолчанию: 0.2

Даже когда вы настраиваете контроллер непрерывного времени, необходимо задать шаг расчета для эксперимента, выполняемого блоком. В общем случае контроллеру непрерывного времени, настраивающемуся, не рекомендуют для автонастройки ПИД-регулятора против физического объекта. Если вы хотите настроиться в непрерывное время против модели Simulink объекта, используйте быстрый шаг расчета эксперимента, такой как 0.02/ωc.

Зависимости

Этот параметр включен, когда Time Domain является continuous-time.

Программируемое использование

Параметры блоков: ContinuousTs
Ввод: положительная скалярная величина
Значение по умолчанию: 0.02

Задайте дискретную формулу интегрирования для термина интегратора в вашем контроллере. В дискретное время передаточная функция ПИД-регулятора, принятая блоком:

C=P+IFi(z)+D[N1+NFd(z)],

в параллельной форме, или в идеальной форме,

C=P[1+IFi(z)+D(N1+NFd(z))].

Для шага расчета контроллера Ts, Integrator method параметр определяет формулу Fi можно следующим образом:

Метод интегратораFi
Forward Euler

Tsz1

Backward Euler

Tszz1

Trapezoidal

Ts2z+1z1

Для получения дополнительной информации об относительных преимуществах каждого метода, смотрите страницу с описанием блока Discrete PID Controller.

Когда вы обновите блок PID Controller или пользовательский ПИД-регулятор с настроенными значениями параметров, убедитесь соответствия метода интегратора.

Настраиваемый: да

Зависимости

Этот параметр включен, когда Time Domain является discrete-time и контроллер включает интегральное действие.

Программируемое использование

Параметры блоков: IntegratorFormula
Ввод: символьный вектор
Значения: 'Forward Euler' | 'Backward Euler' | 'Trapezoidal'
Значение по умолчанию: 'Forward Euler'

Задайте дискретную формулу интегрирования для производного термина фильтра в вашем контроллере. В дискретное время передаточная функция ПИД-регулятора, принятая блоком:

C=P+IFi(z)+D[N1+NFd(z)],

в параллельной форме, или в идеальной форме,

C=P[1+IFi(z)+D(N1+NFd(z))].

Для шага расчета контроллера Ts, Filter method параметр определяет формулу Fd можно следующим образом:

Отфильтруйте методFd
Forward Euler

Tsz1

Backward Euler

Tszz1

Trapezoidal

Ts2z+1z1

Для получения дополнительной информации об относительных преимуществах каждого метода, смотрите страницу с описанием блока Discrete PID Controller.

Когда вы обновите блок PID Controller или пользовательский ПИД-регулятор с настроенными значениями параметров, убедитесь соответствия метода фильтра.

Настраиваемый: да

Зависимости

Этот параметр включен, когда Time Domain является discrete-time и контроллер включает производный термин фильтра.

Программируемое использование

Параметры блоков: FilterFormula
Ввод: символьный вектор
Значения: 'Forward Euler' | 'Backward Euler' | 'Trapezoidal'
Значение по умолчанию: 'Forward Euler'

Целевая полоса пропускания, заданная в рад/секунда, является целевым значением для частоты среза с 0 усилениями дБ настроенного ответа разомкнутого контура CP, где P является ответом объекта, и C является ответом контроллера. Эта частота среза примерно устанавливает полосу пропускания управления. Для времени нарастания секунды τ хорошее предположение для целевой полосы пропускания является 2/τ рад/секунда.

Чтобы выполнить настройку ПИДа, блок автотюнера измеряет информацию о частотной характеристике до частоты 10 раз целевой полосы пропускания. Чтобы гарантировать, что эта частота меньше частоты Найквиста, целевая полоса пропускания, ωc, должна удовлетворить ωc Ts ≤ 0.3, где Ts является шагом расчета контроллера, который вы задаете параметром Controller sample time (sec). Из-за этого условия самое быстрое время нарастания, которое можно осуществить для настройки, о 6.67Ts. Если это время нарастания не удовлетворяет вашим целям проекта, рассмотрите уменьшающий Ts.

Для лучших результатов с настройкой с обратной связью используйте целевую полосу пропускания, которая является приблизительно в факторе 10 из полосы пропускания с начальным ПИД-регулятором. Чтобы настроить контроллер для большего изменения в полосе пропускания, настройте инкрементно использование меньших изменений.

Чтобы обеспечить целевую полосу пропускания через входной порт, выберите Use external source.

Программируемое использование

Параметры блоков: Bandwidth
Ввод: положительная скалярная величина
Значение по умолчанию: 1

Задайте целевой минимальный запас по фазе для настроенного ответа разомкнутого контура в частоте среза. Целевой запас по фазе отражает желаемую робастность настроенной системы. Как правило, выберите значение в области значений приблизительно 45 °-60 °. В общем случае более высокий запас по фазе улучшает перерегулирование, но может ограничить скорость ответа. Значение по умолчанию, 60 °, имеет тенденцию балансировать эффективность и робастность, давая приблизительно к 5-10%-му перерегулированию, в зависимости от характеристик вашего объекта.

Чтобы обеспечить целевой запас по фазе через входной порт, выберите Use external source.

Настраиваемый: да

Программируемое использование

Параметры блоков: TargetPM
Ввод: скаляр
Значения: 0–90
Значение по умолчанию: 60
Вкладка эксперимента

Задайте, применяется ли возмущение на каждой частоте последовательно (Sinestream) или одновременно (Superposition).

  • Sinestream — В этом режиме блок применяет возмущение на каждой частоте отдельно. Для получения дополнительной информации о сигналах sinestream для оценки, см. Входные сигналы Sinestream.

  • Superposition — В этом режиме сигнал возмущения включает все заданные частоты целиком. Для оценки частотной характеристики в векторе из частот ω = [ω 1, …, ωN] в амплитудах A = [A 1, …, AN], сигнал возмущения:

    Δu=iAisin(ωit).

Режим Sinestream может быть более точным и может также быть менее навязчивым, потому что общий размер возмущения никогда не больше, чем значения, заданные параметром Sine Amplitudes. Однако из-за последовательной природы sinestream возмущения, каждая точка частоты вы добавляете увеличения рекомендуемое время эксперимента (см. входной порт start/stop для деталей). Таким образом эксперимент оценки обычно намного быстрее в режиме Superposition удовлетворительными результатами.

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

Программируемое использование

Параметры блоков: ExperimentMode
Ввод: символьный вектор
Значения: 'Superposition' | 'Sinestream'
Значение по умолчанию: 'Superposition'

Задайте, устойчив ли объект или объединяется. Если объект имеет один или несколько интеграторов, выберите Integrating.

Программируемое использование

Параметры блоков: PlantType
Ввод: символьный вектор
Значения: 'Stable' | 'Integrating'
Значение по умолчанию: 'Stable'

Задайте, положителен ли объект или отрицателен. Если положительное изменение во входе объекта в номинальных результатах рабочей точки в положительном изменении на объекте выход, задайте Positive. В противном случае задайте отрицательный. Для устойчивых объектов знак объекта является знаком усиления DC объекта.

Программируемое использование

Параметры блоков: PlantSign
Ввод: символьный вектор
Значения: 'Positive' | 'Negative'
Значение по умолчанию: 'Positive'

Во время эксперимента блок вводит синусоидальный сигнал в объект на частотах [1/10, 1/3, 1, 3, 10] ωc , где ωc является целевой полосой пропускания для настройки. Используйте Sine Amplitudes, чтобы задать амплитуду каждого из этих введенных сигналов. Задайте a:

  • Скалярное значение, чтобы ввести ту же амплитуду на каждой частоте

  • Вектор из длины 5, чтобы задать различную амплитуду в каждом из [1/10, 1/3, 1, 3, 10] ωc

На типичном объекте с типичной целевой полосой пропускания не значительно различаются величины ответов объекта на частотах эксперимента. В таких случаях можно использовать скалярное значение, чтобы применить то же возмущение величины на всех частотах. Однако, если вы знаете, что ответ затухает резко по частотному диапазону, рассмотрите уменьшение амплитуды входных параметров более низкой частоты и увеличения амплитуды входных параметров более высокой частоты. Для эксперимента оценки численно лучше, когда все ответы объекта имеют сопоставимые величины.

Амплитуды возмущения должны быть:

  • Достаточно большой, что возмущение преодолевает любую мертвую зону в приводе объекта и генерирует ответ выше уровня шума

  • Достаточно маленький, чтобы поддерживать объект в рабочем состоянии приблизительно в линейной области около номинальной рабочей точки и постараться не насыщать ввод или вывод объекта

Когда Experiment mode является Superposition, синусоидальные сигналы накладываются. Таким образом возмущение может быть, по крайней мере, столь же большим как сумма всех амплитуд. Убедитесь, что крупнейшее возмущение в области значений вашего привода объекта. Насыщение привода может ввести ошибки в предполагаемую частотную характеристику.

Чтобы обеспечить амплитуды синуса через входной порт, выберите Use external source.

Настраиваемый: да

Программируемое использование

Параметры блоков: AmpSine
Ввод: скаляр, вектор из длины 5
Значение по умолчанию: 1
Блокируйте вкладку

Блок содержит два модуля, тот, который выполняет оценку частотной характеристики в реальном времени и ту, которая использует получившийся предполагаемый ответ, чтобы настроить коэффициенты ПИД. Когда вы запускаете модель Simulink, содержащую блок во внешнем режиме симуляции, по умолчанию оба модуля развертываются. Можно сохранить память на целевом компьютере путем развертывания модуля оценки только (см. Управление Автонастройка ПИД-регулятора В реальном времени в Simulink). В этом случае настраивающийся алгоритм работает на хосте - компьютере Simulink вместо целевого компьютера. Когда эта опция выбрана, развернутое использование алгоритма приблизительно одна треть столько же памяти как тогда, когда опция очищена.

Вычисление коэффициента ПИД требует большего количества вычислительной загрузки, чем оценка частотной характеристики. Для быстрых шагов расчета контроллера некоторое оборудование не может закончить вычисление усиления в одном цикле выполнения. Поэтому при использовании оборудования с ограниченной вычислительной мощностью, выбирая эту опцию позволяет вам настроить ПИД-регулятор с быстрым шагом расчета.

Кроме того, когда вы включаете эту опцию, может быть задержка нескольких периодов выборки между тем, когда настраивающийся эксперимент заканчивается и когда новые коэффициенты ПИД прибывают в выходной порт pid gains. Прежде, чем продвинуть усиления контроллеру, сначала подтвердите изменение в выходном порту pid gains вместо того, чтобы использовать сигнал start/stop в качестве триггера для обновления.

Если вы намереваетесь развернуть блок и выполнить ПИД, настраивающийся, не используя внешний режим симуляции, не выбирайте эту опцию.

Внимание

Когда вы используете эту опцию, модель должна быть сконфигурирована таким образом, что числовые параметры блоков являются настраиваемыми в сгенерированном коде, не встроенном. Задавать настраиваемые параметры:

  • В редакторе моделей: В Configuration Parameters, в Code Generation> Optimization, поведение параметра Значения по умолчанию набора к Tunable.

  • В командной строке: Используйте set_param(mdl,'DefaultParameterBehavior','Tunable').

Программируемое использование

Параметры блоков: DeployTuningModule
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Выберите этот параметр, если вы используете Simulink PLC Coder, чтобы сгенерировать код для блока автотюнера. Очистите параметр для генерации кода с любым другим MathWorks® продукт генерации кода.

Выбор этого параметра влияет на внутреннюю настройку блока только для совместимости с Simulink PLC Coder. Параметр не оказывает действующего влияния на сгенерированный код.

По умолчанию блок берет управляющий сигнал в качестве входа и обеспечивает управляющий сигнал плюс возмущение эксперимента в порте u+Δu. Вы затем подаете этот сигнал во вход объекта, как показано в следующей схеме.

Эта настройка по умолчанию требует вставки блока между контроллером и объектом. Если вы хотите добавить сигнал возмущения в управляющий сигнал сами, выберите perturbation only. В этой настройке блок выход содержит сигнал возмущения только в порте Δu. Вы вводите этот сигнал возмущения в использование объекта, например, блок суммы, как в следующей схеме.

В этой настройке можно опционально закомментировать блок Closed-Loop PID Autotuner, не разрушая модель.

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

Программируемое использование

Параметры блоков: BlockDataType
Ввод: символьный вектор
Значения: 'double' | 'single'
Значение по умолчанию: 'double'

При некоторых условиях блок автотюнера может записать настроенные усиления в стандартный или пользовательский блок ПИД-регулятора. Чтобы указать, что целевой ПИД-регулятор является блоком, соединенным с портом u блока автотюнера, выберите эту опцию. Чтобы задать ПИД-регулятор, который не соединяется с u, очистите эту опцию.

Чтобы записать настроенные усиления с блока автотюнера на ПИД-регулятор где угодно в модели, целевой блок должен быть также:

  • Блок PID Controller или Discrete PID Controller.

  • Подсистема маскированная, в которой коэффициенты ПИДа являются параметрами маски под названием PiD, и N, или безотносительно подмножества этих параметров существуют в вашем контроллере. Например, если вы используете пользовательский ПИ-контроллер, затем вам только нужны параметры маски P и I.

При некоторых условиях блок автотюнера может записать настроенные усиления в стандартный или пользовательский блок ПИД-регулятора. Используйте этот параметр, чтобы задать путь целевого ПИД-регулятора.

Чтобы записать настроенные усиления с блока автотюнера на ПИД-регулятор где угодно в модели, целевой блок должен быть также:

  • Блок PID Controller или Discrete PID Controller.

  • Подсистема маскированная, в которой коэффициенты ПИДа являются параметрами маски под названием PiD, и N, или безотносительно подмножества этих параметров существуют в вашем контроллере

Зависимости

Этот параметр включен, когда Clicking "Update PID Block" writes tuned gains to the PID block connected to "u" port выбран.

Блок автоматически не продвигает настроенные усиления с целевым блоком PID. Если ваш блок ПИД-регулятора соответствует критериям, описанным в Specify PID block path описание параметра, после настройки, нажимает эту кнопку, чтобы передать настроенные усиления блоку.

Можно обновить блок PID, в то время как симуляция запускается, включая при выполнении в режиме external mode. Выполнение так полезно для того, чтобы сразу подтвердить настроенные коэффициенты ПИД. В любое время в процессе моделирования можно изменить параметры, запустить эксперимент снова и продвинуть новые настроенные усиления с блоком PID. Можно затем продолжить запускать модель и наблюдать поведение объекта.

Когда вы нажимаете эту кнопку, блок создает структуру в MATLAB® рабочая область, содержащая эксперимент и настраивающая результаты. Эта структура, OnlinePIDTuningResult, содержит следующие поля:

  • PiDN — Настроенные коэффициенты ПИД. Структура содержит, какой бы ни из этих полей необходимы для типа контроллера, который вы настраиваете. Например, если вы настраиваете ПИ-контроллер, структура содержит P и I, но не D и N.

  • TargetBandwidth — Значение вы задали в параметре Target bandwidth (rad/sec) блока.

  • TargetPhaseMargin — Значение вы задали в параметре Target phase margin (degrees) блока.

  • EstimatedPhaseMargin — Предполагаемый запас по фазе достигается настроенной системой.

  • Controller — Настроенный ПИД-регулятор, возвращенный как a pid (для параллельной формы) или pidstd (для идеальной формы) объект модели.

  • Plant — Предполагаемый объект, возвращенный как frd объект модели. Это frd содержит данные об ответе, полученные на частотах эксперимента [1/10, 1/3, 1, 3, 10] ωc.

  • PlantNominal — Ввод и вывод объекта в номинальной рабочей точке, когда эксперимент начинается в виде структуры, имеющей поля u (введите) и y вывод .

Можно экспортировать в рабочее пространство MATLAB, в то время как симуляция запускается, включая при выполнении в режиме external mode.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

Введенный в R2018a