Автоматическая настройка коэффициентов ПИД на основе частотных характеристик объекта, оцененных в эксперименте с обратной связью в реальном времени
Simulink Control Design
Блок Closed-Loop PID Autotuner позволяет вам настроить ПИД-регулятор в реальном времени против физического объекта, для которого у вас есть начальный ПИД-регулятор, которая приводит к стабильному циклу. Объект остается под управлением с обратной связью исходного ПИД-регулятора в течение всего процесса автоподстройки. Блок может настроить ПИД-регулятор, чтобы достичь заданных полосы пропускания и запаса по фазе без параметрической модели объекта управления. Если у вас есть продукт генерации кода, такой как Simulink® Coder™ можно сгенерировать код, который реализует алгоритм настройки на оборудовании, позволяя вам настраиваться в режиме реального времени с или без использования Simulink, чтобы управлять процессом автотунирования.
Если объект смоделирован в Simulink и начальный ПИД-регулятор, можно выполнить автонастройку ПИД-регулятора замкнутой системы против смоделированного объекта. Это позволяет вам предворительно просматривать реакцию объекта и настраивать настройки для автонастройки ПИД-регулятора перед настройкой контроллера в режиме реального времени.
Чтобы добиться безмодельной настройки, Closed-Loop PID Autotuner блок:
Вводит тестовый сигнал в объект, чтобы собрать входно-выходные данные объекта и оценить частотную характеристику в реальном времени. Тестовый сигнал является комбинацией синусоидальных сигналов возмущения, добавленных поверх входа объекта.
В конце эксперимента настраивает ПИД-регулятор параметры на основе предполагаемых частотных характеристик объекта вблизи целевой полосы пропускания.
Обновляет ПИД-регулятор блок или пользовательский ПИД-регулятор с помощью настроенных параметров, позволяя проверять эффективность с обратной связью в реальном времени.
В отличие от блока 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 смотрите:
Для получения дополнительной информации об автонастройке ПИД-регулятора и сравнении подходов к системе с обратной связью и разомкнутом контуре смотрите, Когда использовать автонастройки ПИД-регулятора.
u
- Сигнал от контроллераВставьте блок в систему так, чтобы этот порт принял управляющий сигнал от источника. Как правило, этот порт принимает сигнал от ПИД-регулятора в вашей системе.
Типы данных: single
| double
y
- Производительность объектаПодключите этот порт к выходу объекта.
Типы данных: single
| double
start/stop
- Запустите и остановите автотунирующий экспериментЧтобы запустить и остановить процесс автотунирования, предоставьте сигнал в start/stop
порт. Когда значение сигнала меняется от:
Отрицательный или от нуля до положительного, эксперимент начинается
Положительно к отрицательному или нулю, эксперимент останавливается
Когда эксперимент не запускается, блок передает сигналы без изменений от u к u+Δu. В этом состоянии блок не влияет на поведение объекта или контроллера.
Обычно можно использовать сигнал, который изменяется от 0 до 1, чтобы начать эксперимент, и от 1 до 0, чтобы остановить его. Некоторые точки, которые следует учитывать при конфигурировании сигнала start/stop, включают:
Запустите эксперимент, когда объект находится в желаемой рабочей точке равновесия. Используйте начальный контроллер, чтобы привести объект в рабочую точку. Если у вас нет начального контроллера (только настройка без разомкнутого контура), можно использовать исходный блок, подключенный к u, чтобы привести объект к рабочей точке.
Избегайте любых нарушений порядка нагрузки на объект во время эксперимента. Нарушение порядка нагрузки может исказить выход объекта и снизить точность оценки частотной характеристики.
Пусть эксперимент продлится достаточно долго, чтобы алгоритм собрал достаточные данные для хорошей оценки на всех зондируемых им частотах. Существует два способа определить, когда остановить эксперимент:
Определите длительность эксперимента заранее. Консервативная оценка длительности эксперимента - 200/ ωc для настройки с обратной связью или 100/ ωc для настройки разомкнутого контура, где ωc - целевая полоса пропускания.
Наблюдайте сигнал в % conv
выдать, и остановить эксперимент, когда сигнал стабилизируется около 100%.
Когда вы останавливаете эксперимент, блок вычисляет настроенные коэффициенты ПИД и обновляет сигнал в pid gains
порт.
Можно настроить любую логику, подходящую для вашего приложения, чтобы контролировать начало и времена остановки эксперимента.
Типы данных: single
| double
bandwidth
- Целевая полоса пропускания для настройкиЗадайте значение для Target bandwidth (rad/sec)
параметр. Смотрите этот параметр для получения дополнительной информации.
Чтобы включить этот порт, на вкладке Настройка, рядом с Target bandwidth (rad/sec)
, выберите Use external source.
Типы данных: single
| double
target PM
- Целевой запас по фазе для настройкиЗадайте значение для Target phase margin (degrees)
параметр. Смотрите этот параметр для получения дополнительной информации.
Чтобы включить этот порт, на вкладке Настройка, рядом с Target phase margin (degrees)
, выберите Use external source.
Типы данных: single
| double
sine Amp
- Амплитуды инъецированных синусоидальных сигналовЗадайте значение для Sine Amplitudes
параметр. Смотрите этот параметр для получения дополнительной информации.
Чтобы включить этот порт, на вкладке Эксперимент, рядом с Sine Amplitudes
, выберите Use external source.
Типы данных: single
| double
u+Δu
- Сигнал для ввода объектаВставьте блок в систему таким образом, чтобы этот порт подавал входной сигнал на объект.
Когда эксперимент запускается (start/stop
положительный), блок вводит тестовые сигналы в объект в этом порту. Если у вас есть какой-либо предел насыщения или скорости, защищающий объект, подайте сигнал от u+Δu в него.
Когда эксперимент не запускается (start/stop
нули или отрицательное), блок передает сигналы без изменений от u до u+Δu.
Чтобы включить этот порт, в Output Signal Configuration, выберите control + perturbation.
Типы данных: single
| double
Δu
- Возмущение входного сигнала объектаБлок генерирует сигнал возмущения в этом порту. Как правило, вы вводите возмущение от этого порта через блок сумм, как показано на следующей схеме.
Когда эксперимент запускается (start/stop положительный), блок генерирует сигналы возмущения в этом порту.
Когда эксперимент не запускается (start/stop нулем или отрицательным), сигнал в этом порте равен нулю. В этом состоянии блок не влияет на объект.
Чтобы включить этот порт, в Output Signal Configuration, выберите perturbation only.
Типы данных: single
| double
% conv
- Сходимость оценки FRD во время экспериментаКогда эксперимент запускается (start/stop
положительный), блок вводит тестовые сигналы в объект и измеряет реакцию объекта на y
. Он использует эти сигналы, чтобы оценить частотную характеристику объекта на нескольких частотах вокруг целевой полосы для настройки. % conv
указывает, насколько близка к завершению оценка частотной характеристики объекта. Как правило, это значение быстро увеличивается примерно до 90% после начала эксперимента, а затем постепенно сходится к более высокому значению. Остановите эксперимент, когда он выровняется около 100%.
Типы данных: single
| double
pid gains
- Настроенные ПИД-коэффициентыЭтот 4-элементный сигнал шины содержит настроенные коэффициенты ПИД P, I, D и коэффициент N фильтра. Эти значения соответствуют P
, I
, D
, и N
параметры в выражениях, заданных в Form
параметр. Первоначально значения 0, 0, 0 и 100, соответственно. Блок обновляет значения, когда эксперимент заканчивается. Этот сигнал шины всегда имеет четыре элемента, даже если вы не настраиваете контроллер.
Если у вас есть ПИД-регулятор, связанная с блоком, можно обновить этот контроллер этими значениями после завершения эксперимента. Для этого на вкладке Block нажмите Update PID Block.
Типы данных: single
| double
estimated PM
- Расчетный запас по фазе с настроенным контроллеромЭтот порт выводит предполагаемый запас по фазе, достигнутый настроенным контроллером, в степенях. Блок обновляет это значение, когда эксперимент по настройке заканчивается. Предполагаемый запас по фазе вычисляется из угла G (jωc) C (jωc), где G является оценочным объектом, C является настроенным контроллером, а ωc - частота среза (полоса пропускания). Предполагаемый запас по фазе может отличаться от целевого запаса по фазе, заданного Target phase margin (degrees)
параметр. Это является показателем робастности и устойчивости, достигнутых настроенной системой.
Как правило, предполагаемый запас по фазе близок к целевому запасу по фазе. В целом, чем больше значение, тем более устойчива настроенная система, и тем меньше перерегулирования.
Отрицательный запас по фазе указывает, что система с обратной связью может быть нестабильной.
Чтобы включить этот порт, на вкладке Tuning, выберите Output estimated phase margin achieved by tuned controller.
frd
- Расчетная частотная характеристикаЭтот порт выводит данные частотной характеристики, оцененные экспериментом. Первоначально значение в frd
является [0, 0, 0, 0, 0]. Во время эксперимента блок вводит сигналы на частотах [1/10, 1/3, 1, 3, 10] ωc, где ωc является целевой полосой пропускания. В каждом шаге расчета во время эксперимента блок обновляется frd
с вектором, содержащим комплексную частотную характеристику на каждой из этих частот, соответственно. Можно использовать прогресс ответа как альтернативу % conv
для изучения сходимости оценки. Когда эксперимент останавливается, блок обновляется frd
с конечной оценочной частотной характеристикой, используемой для вычисления коэффициентов ПИД.
Чтобы включить этот порт, на вкладке Эксперимент выберите Plant frequency responses near bandwidth.
nominal
- Вход и выход объекта в номинальной рабочей точкеЭтот порт выводит вектор, содержащий вход объекта управления (u+Δu) и выход объекта (y), когда начинается эксперимент. Эти значения являются входом и выходом объекта управления в номинальной рабочей точке, в которой блок выполняет эксперимент.
Чтобы включить этот порт, на вкладке Эксперимент выберите Plant nominal input and output.
Type
- Действия ПИД-регулятораPI
(по умолчанию) | PID
| PIDF
| ...Укажите тип ПИД-регулятора в системе. Тип контроллера указывает, какие действия присутствуют в контроллере. Для автонастройки ПИД-регулятора доступны следующие типы контроллеров:
P
- Только пропорциональный
I
- Только интеграл
PI
- Пропорциональный и интегральный
PD
- Пропорциональный и производный
PDF
- Пропорциональная и производная с производным фильтром
PID
- Пропорциональный, интегральный и производная
PIDF
- Пропорциональный, интегральный и производная с производным фильтром
Когда вы обновляете PID Controller блок или пользовательский ПИД-регулятор с помощью настроенных значений параметров, убедитесь, что тип контроллера совпадает.
Настраиваемый: Да
Параметры блоков: PIDType |
Тип: Вектор символов |
Значения: 'P' | 'I' | 'PI' | 'PD' | 'PDF' | 'PID' | 'PIDF' |
По умолчанию: 'PI' |
Form
- Форма ПИД-регулятораParallel
(по умолчанию) | Ideal
Укажите форму контроллера. Форма контроллера определяет интерпретацию коэффициентов ПИД P, I, D и N.
Parallel
- В Parallel
форма, передаточная функция контроллера PIDF в дискретном времени:
где Fi (z) и Fd (z) являются интегратором и формулами фильтра (см. Integrator method
и Filter method
). Передаточная функция непрерывного времени параллельной формы контроллера PIDF:
Другие действия контроллера равны установке P, I или D на нуль.
Ideal
- В Ideal
форма, передаточная функция контроллера PIDF в дискретном времени:
Передаточная функция контроллера PIDF непрерывной идеальной формы:
Другие действия контроллера равны установке D на нуль или установке, I на Inf
. (В идеальной форме контроллер должен иметь пропорциональное действие.)
Когда вы обновляете PID Controller блок или пользовательский ПИД-регулятор с помощью настроенных значений параметров, убедитесь, что форма контроллера совпадает.
Настраиваемый: Да
Параметры блоков: PIDForm |
Тип: Вектор символов |
Значения: 'Parallel' | 'Ideal' |
По умолчанию: 'Parallel' |
Time Domain
- временной интервал ПИД-контроллераУкажите, является ли ваш ПИД-регулятор контроллером в дискретном времени или в непрерывном времени.
Для дискретного времени необходимо задать шаг расчета вашего ПИД-регулятора с помощью параметра Controller sample time (sec).
Для непрерывного времени необходимо также задать шаг расчета для эксперимента по автонастройке ПИД-регулятора с помощью параметра Experiment sample time (sec).
Параметры блоков:
TimeDomain
|
Тип: Вектор символов |
Значения:
'discrete-time' | 'continuous-time' |
По умолчанию:
'discrete-time'
|
Controller sample time (sec)
- Период расчета ПИД-регулятораУкажите шаг расчета ПИД-регулятора в секундах. Это значение также устанавливает шаг расчета для эксперимента, выполненного блоком.
Чтобы выполнить настройку ПИД, блок измеряет информацию частотной характеристики до частоты, в 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 |
Tune at different sample time
- Включите настройку в разное шаг расчета от ПИД-контроллера и экспериментируйтеoff
(по умолчанию) | on
Включите этот параметр, чтобы запустить настройку со скоростью дискретизации, которая отличается от скорости дискретизации ПИД-регулятора, которую вы настраиваете, и эксперимента по оценке частотной характеристики, выполненного блоком. Алгоритм настройки коэффициента ПИД является в вычислительном отношении интенсивным, и когда вы хотите развернуть блок на оборудовании и настроить контроллер с быстрым шагом расчета, некоторое оборудование может не выполнить вычисление коэффициента ПИД за один временной шаг. Чтобы уменьшить требования к пропускной способности оборудования, задайте шаг расчета настройки медленнее, чем шаг расчета контроллера, используя параметр Tuning sample time (sec).
Чтобы включить этот параметр, установите Time Domain равным discrete-time
.
Параметры блоков:
UseTuningTs
|
Тип: Вектор символов |
Значения
'off' | 'on' |
По умолчанию:
'off'
|
Tuning sample time (sec)
- Шаг расчета алгоритма настройкиЗадайте шаг расчета алгоритма настройки в секундах.
Если вы намерены развернуть блок на оборудовании с ограниченными степенями обработки и хотите настроить контроллер с быстрым шагом расчета, задайте шаг расчета, чтобы алгоритм настройки запусков с меньшей скоростью, чем ПИД-регулятор, который вы настраиваете.
Чтобы включить этот параметр, установите Time Domain равным discrete-time
и выберите Tune at different sample time.
Параметры блоков:
TuningTs
|
Тип: скаляр |
Значение положительная скалярная величина |
По умолчанию: 0.2 |
Experiment sample time (sec)
- Шаг расчета для экспериментаДаже когда вы настраиваете контроллер непрерывного времени, вы должны задать шаг расчета для эксперимента, выполненного блоком. В целом настройка контроллера в непрерывном времени не рекомендуется для автонастройки ПИД-регулятора в отношении физического объекта. Если вы хотите настроить за непрерывное время против модели Simulink объекта, используйте быстрый шаг расчета эксперимента, такой как 0 .02/ ωc.
Этот параметр активируется, когда Time Domain continuous-time
.
Параметры блоков:
ContinuousTs
|
Тип: положительная скалярная величина |
По умолчанию: 0.02 |
Integrator method
- Дискретная формула интегрирования для члена интегратораForward Euler
(по умолчанию) | Backward Euler
| Trapezoidal
Задайте дискретную формулу интегрирования для термина интегратор в вашем контроллере. В дискретном времени передаточная функция ПИД-регулятора, принятая блоком, является:
в параллельной форме, или в идеальной форме,
Для контроллера шага расчета Ts, Integrator method
параметр определяет формулу Fi следующим образом:
Метод интегратора | Fi |
---|---|
Forward Euler |
|
Backward Euler |
|
Trapezoidal |
|
Для получения дополнительной информации об относительных преимуществах каждого метода смотрите Discrete PID Controller страницы с описанием блока.
Когда вы обновляете PID Controller блок или пользовательский ПИД-регулятор с помощью настроенных значений параметров, убедитесь, что метод интегратора совпадает.
Настраиваемый: Да
Этот параметр активируется, когда Time Domain discrete-time
и контроллер включает в себя интегральное действие.
Параметры блоков: IntegratorFormula |
Тип: Вектор символов |
Значения: 'Forward Euler' | 'Backward Euler' | 'Trapezoidal' |
По умолчанию: 'Forward Euler' |
Filter method
- Дискретная формула интегрирования для члена производного фильтраForward Euler
(по умолчанию) | Backward Euler
| Trapezoidal
Задайте дискретную формулу интегрирования для термина производного фильтра в вашем контроллере. В дискретном времени передаточная функция ПИД-регулятора, принятая блоком, является:
в параллельной форме, или в идеальной форме,
Для контроллера шага расчета Ts, Filter method
параметр определяет формулу Fd следующим образом:
Метод фильтра | Fd |
---|---|
Forward Euler |
|
Backward Euler |
|
Trapezoidal |
|
Для получения дополнительной информации об относительных преимуществах каждого метода смотрите Discrete PID Controller страницы с описанием блока.
Когда вы обновляете PID Controller блок или пользовательский ПИД-регулятор с помощью настроенных значений параметров, убедитесь, что метод фильтра совпадает.
Настраиваемый: Да
Этот параметр активируется, когда Time Domain discrete-time
и контроллер включает в себя производный член фильтра.
Параметры блоков: FilterFormula |
Тип: Вектор символов |
Значения: 'Forward Euler' | 'Backward Euler' | 'Trapezoidal' |
По умолчанию: 'Forward Euler' |
Target bandwidth (rad/sec)
- Целевая частота среза настроенной характеристикиЦелевая полоса пропускания, заданная в рад/сек, является целевым значением для 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
|
Target phase margin (degrees)
- Целевой минимальный запас по фазе разомкнутой реакцииЗадайте целевой минимальный запас по фазе для настроенного разомкнутого контура характеристики в частоту среза. Целевой запас по фазе отражает желаемую робастность настроенной системы. Обычно выберите значение в область значений около 45 ° -60 °. В целом более высокий запас по фазе улучшает перерегулирование, но может ограничить скорость отклика. Значение по умолчанию, 60 °, имеет тенденцию балансировать эффективность и робастность, давая около 5-10% перерегулирования, в зависимости от характеристик вашего объекта.
Чтобы обеспечить целевой запас по фазе через порт входа, выберите Use external source.
Настраиваемый: Да
Параметры блоков: TargetPM |
Тип: скаляр |
Значения: 0-90 |
По умолчанию: 60 |
Plant Type
- Стабильность объектаStable
(по умолчанию) | Integrating
Укажите, является ли объект стабильным или интегрирующимся. Если у объекта есть один или несколько интеграторов, выберите Integrating
.
Параметры блоков:
PlantType
|
Тип: Вектор символов |
Значения:
'Stable' | 'Integrating' |
По умолчанию:
'Stable'
|
Plant Sign
- Знак объектаPositive
(по умолчанию) | Negative
Укажите, является ли объект положительным или отрицательным. Если положительное изменение входа объекта управления в номинальной рабочей точке приводит к положительному изменению выходного сигнала объекта выхода, задайте Positive
. В противном случае задайте отрицательный. Для стабильных объектов знаком объекта является знак усиления постоянного тока объекта.
Параметры блоков:
PlantSign
|
Тип: Вектор символов |
Значения:
'Positive' | 'Negative' |
По умолчанию:
'Positive'
|
Sine Amplitudes
- Амплитуда синусоидальных возмущенийВо время эксперимента блок вводит синусоидальный сигнал в объект на частотах [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 |
Reduce memory and avoid task overrun (external mode only)
- Развертывание только алгоритма настройкиoff
(по умолчанию) | on
Блок содержит два модуля, один, который выполняет оценку частотной характеристики в реальном времени, и один, который использует полученную предполагаемую характеристику, чтобы настроить коэффициенты ПИД. Когда вы запускаете модель 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'
|
Configure block for PLC Coder
- Сконфигурируйте блок для генерации кода с помощью Simulink PLC CoderВыберите этот параметр, если вы используете Simulink PLC Coder, чтобы сгенерировать код для блока autotuner. Очистите параметр для генерации кода с любым другим MathWorks® продукт генерации кода.
Выбор этого параметра влияет только на строение блоков для совместимости с Simulink PLC Coder. Параметр не имеет рабочего эффекта по сгенерированному коду.
Output Signal Configuration
- Обеспечивает только сигнал управления плюс возмущение или возмущениеПо умолчанию блок принимает управляющий сигнал как вход и обеспечивает управляющий сигнал плюс возмущение эксперимента в u+Δu порта. Затем вы подаете этот сигнал на вход объекта управления, как показано на следующей схеме.
Это строение по умолчанию требует вставки блока между контроллером и объектом. Если вы хотите добавить сигнал возмущения к управляющему сигналу самостоятельно, выберите perturbation only. В этом строении блок выводит только сигнал возмущения в порт Δu. Вы вводите этот сигнал возмущения в объект, используя, например, блок суммы, как на следующей схеме.
В этом строении можно опционально закомментировать блок Closed-Loop PID Autotuner, не нарушая модель.
Data Type
- Точность с плавающей точкойdouble
(по умолчанию) | single
Задайте точность с плавающей точкой на основе среды симуляции или требований к оборудованию.
Параметры блоков:
BlockDataType
|
Тип: Вектор символов |
Значения:
'double' | 'single'
|
По умолчанию:
'double'
|
Clicking "Update PID Block" writes tuned gains to the PID block connected to "u" port
- Автоматическое обнаружение цели для записи настроенных ПИД-коэффициентовon
(по умолчанию) | off
При некоторых условиях блок autotuner может записывать настроенные усиления в стандартный или пользовательский ПИД-регулятор блок. Чтобы указать, что целевой ПИД-регулятор является блоком, соединенным с u портом блока autotuner, выберите эту опцию. Чтобы задать ПИД-регулятор, которая не соединена с u, очистите эту опцию.
Чтобы записать настроенные усиления из блока autotuner в ПИД-регулятор в любом месте модели, целевой блок должен быть либо:
Блок PID Controller или Discrete PID Controller.
Маскированная подсистема, в которой коэффициенты ПИД являются параметрами маски с именем P
, I
, D
, и N
, или какой подмножество этих параметров существует в вашем контроллере. Для примера, если вы используете пользовательское ПИ-контроллер, то вам нужны только параметры маски P
и I
.
Specify PID block path
- Целевой блок ПИД-контроллера для записи настроенных коэффициентов[]
(по умолчанию) | путь к блокуПри некоторых условиях блок 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 выбран.
Update PID Block
- Запись настроенных коэффициентов ПИД в блок целевого контроллераБлок не автоматически перемещает настроенные усиления к целевому блоку ПИД. Если блок ПИД-регулятора соответствует критериям, описанным в Specify PID block path
описание параметра, после настройки, нажмите эту кнопку, чтобы перенести настроенное усиление в блок.
Можно обновить блок ПИД во время симуляции, в том числе при запуске в режиме external mode. Это полезно для немедленной проверки настроенных коэффициентов ПИД. В любой момент во время симуляции можно изменить параметры, начать эксперимент снова и подтолкнуть новые настроенные усиления к блоку PID. Затем можно продолжить запуск модели и наблюдать за поведением своего объекта.
Export to MATLAB
- Отправьте результаты эксперимента и настройки в рабочее пространство MATLABПри нажатии этой кнопки блок создает структуру в 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.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.