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. Обновляет ПИД-регулятор блок или пользовательский ПИД-регулятор с помощью настроенных параметров, позволяя проверять эффективность с обратной связью в реальном времени.

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

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

  • Любой стабильный объект

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

  • Любой дискретный объект с одним или несколькими интеграторами (полюсами в z = -1) или парами комплексных полюсов на модуль окружности |<reservedrangesplaceholder0>| = 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 для настройки с обратной связью или 100/ ωc для настройки разомкнутого контура, где ωc - целевая полоса пропускания.

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

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

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

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

Задайте значение для Target bandwidth (rad/sec) параметр. Смотрите этот параметр для получения дополнительной информации.

Зависимости

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

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

Задайте значение для Target phase margin (degrees) параметр. Смотрите этот параметр для получения дополнительной информации.

Зависимости

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

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

Задайте значение для Sine Amplitudes параметр. Смотрите этот параметр для получения дополнительной информации.

Зависимости

Чтобы включить этот порт, на вкладке Эксперимент, рядом с 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 фильтра. Эти значения соответствуют P, I, D, и N параметры в выражениях, заданных в Form параметр. Первоначально значения 0, 0, 0 и 100, соответственно. Блок обновляет значения, когда эксперимент заканчивается. Этот сигнал шины всегда имеет четыре элемента, даже если вы не настраиваете контроллер.

Если у вас есть ПИД-регулятор, связанная с блоком, можно обновить этот контроллер этими значениями после завершения эксперимента. Для этого на вкладке 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 с конечной оценочной частотной характеристикой, используемой для вычисления коэффициентов ПИД.

Зависимости

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

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

Зависимости

Чтобы включить этот порт, на вкладке Эксперимент выберите 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, должна удовлетворить <reservedrangesplaceholder4> <reservedrangesplaceholder3>  0.3 , где <reservedrangesplaceholder2> <reservedrangesplaceholder1> - шаг расчета контроллера, когда Вы определяете с 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-dB частота среза усиления настроенного разомкнутого контура отклика CP, где P - реакция объекта управления и C - реакция контроллера. Эта частота среза примерно устанавливает пропускную способность управления. Для времени нарастания τ секунд хорошее предположение для целевой полосы пропускания составляет 2/ τ рад/сек.

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

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

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

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

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

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

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

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

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

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

Укажите, является ли объект стабильным или интегрирующимся. Если у объекта есть один или несколько интеграторов, выберите Integrating.

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

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

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

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

Параметры блоков: 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

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

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

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

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

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

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

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

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

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

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

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

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

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

Внимание

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

  • В редакторе моделей: В Configuration Parameters, в Code Generation > Optimization, установите поведение параметра Default равным Tunable.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Зависимости

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

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

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

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

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

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

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

  • EstimatedPhaseMargin - Расчетный запас по фазе, достигнутый настроенной системой.

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

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

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

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

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

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

.

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

.
Введенный в R2018a