Документация Engee

pidtune

Страница в процессе разработки.

Настройка ПИД-регуляторов для линейных моделей объектов управления.

Библиотека

EngeeControlSystems

Синтаксис

Вызов функции

  • c, info = pidtune(sys, type, form) настраивает регулятор c типа type в форме form для объекта управления sys .

  • c, info = pidtune(sys, type, form, ωc) настраивает регулятор c типа type в форме form для объекта управления sys, при этом указывается желаемая частота среза ωc разомкнутой системы c*sys.

  • c, info = pidtune(sys, type, form, ωc, φ) настраивает регулятор c типа type в форме form для объекта управления sys, при этом указываются желаемые частота среза ωc и запас устойчивости по фазе φ разомкнутой системы c*sys

  • c, info = pidtune(sys, type, form, ωc, φ, design_focus) настраивает регулятор c типа type в форме form для объекта управления sys, при этом указываются желаемые частота среза и запас устойчивости по фазе разомкнутой системы c*sys, а также поставленная перед ней задача design_focus.

Также функция возвращает значение info, которое содержит дополнительную информацию о системе управления с настроенным регулятором.

Аргументы

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

# sys — объект управления
модель динамической системы

Details

Объект управления, описанный в виде линейной стационарной модели, например, передаточной функции или модели в пространстве состояний.

Объект управления не должен содержать запаздываний.
Объект управления должен представлять систему с одним входом и одним выходом.
Типы данных

ControlSystemsBase.LTISystem

# type — тип регулятора
:p | :i | :pi | :pd | :pdf | :pid | :pidf

Details

Тип регулятора:

  • :p — П-регулятор;

  • :i — И-регулятор;

  • :pi — ПИ-регулятор;

  • :pd — ПД-регулятор;

  • :pdf — ПД-регулятор с фильтром первого порядка;

  • :pid — ПИД-регулятор;

  • :pidf — ПИД-регулятор с фильтром первого порядка.

Типы данных

Symbol

# form — форма регулятора
:standard | :parallel

Details

Форма регулятора: стандартная или параллельная.

Типы данных

Symbol

# ωc — желаемая частота среза
nothing | скаляр

Details

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

Увеличение частоты среза повышает быстродействие системы, уменьшение частоты среза повышает ее устойчивость. По частоте среза можно примерно судить о полосе пропускания.

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

Поддержка комплексных чисел

Нет

# φ — желаемый запас по фазе
nothing | скаляр

Details

Желаемый запас по фазе разомкнутой системы, для которой настраивается регулятор, в град. Значение должно лежать в диапазоне от 0 до 90 град.

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

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

Типы данных

Nothing, Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

Поддержка комплексных чисел

Нет

# design_focus — задача системы управления
nothing | :balanced | :reference_tracking | :disturbance_rejection

Details

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

  • :balanced — нахождение баланса между точностью регулирования и подавлением возмущений;

  • :reference_tracking — обеспечение точности регулирования;

  • :disturbance_rejection — обеспечение подавления возмущений.

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

Типы данных

Nothing, Symbol

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

# c — ПИД-регулятор
Pid

Details

Настроенный регулятор для объекта управления sys. Если объект управления описывается непрерывной моделью, то регулятор также будет непрерывным; если объект управления описывается дискретной моделью, то регулятор также будет дискретным с периодом дискретизации равным периоду дискретизации модели объекта управления.

Если алгоритм настройки может настроить регулятор, удовлетворяющий требуемым желаемым характеристикам и в то же время требующий более простой структуры, то функция вернет такой регулятор. Например, если вы указали тип регулятора :pidf, но алгоритм смог выполнить требования к быстродействию и робастности, используя ПИ-регулятор, то функция вернет настроенный именно ПИ-регулятор.
Типы данных

Pid

# info — дополнительная информация

Details

Характеристики системы управления, включающей заданный объект управления и настроенный ПИД-регулятор, возвращаемые в виде кортежа. Элементы кортежа:

  1. Флаг, свидетельствующий от устойчивости замкнутой системы; если элемент равен true, то замкнутая систем устойчива, иначе — неустойчива.

  2. Достигнутая у результате настройки наименьшая частота среза разомкнутой системы в рад/с.

  3. Достигнутый у результате настройки запас по фазе в град.

Типы данных

Tuple{Bool, Float64, Float64}