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

PidStd

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

ПИД-регулятор в стандартной форме.

Библиотека

EngeeControlSystems

Описание

Функция создает непрерывный или дискретный пропорционально-интегрально-дифференциальный регулятор (ПИД-регулятор) в стандартной форме:

где

  • — пропорциональный коэффициент;

  • — постоянная интегрирования;

  • — постоянная дифференцирования;

  • — делитель постоянной дифференцирования;

  • — дискретный интегратор интегральной части;

  • — дискретный интегратор дифференциальной части.

Синтаксис

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

  • c = PidStd() создает непрерывный ПИД-регулятор с параметрами по умолчанию. Вы можете изменить значения параметров с помощью функции setproperty!.

  • c = PidStd(kp) создает непрерывный пропорциональный регулятор (П-регулятор).

  • c = PidStd(kp, ti) создает непрерывный пропорционально-интегральный регулятор (ПИ-регулятор).

  • c = PidStd(kp, Inf, td) создает непрерывный пропорционально-дифференциальный регулятор (ПД-регулятор).

  • c = PidStd(kp, ti, td) создает непрерывный ПИД-регулятор.

  • c = PidStd(kp, Inf, td, n) создает непрерывный ПД-регулятор с фильтром первого порядка.

  • c = PidStd(kp, ti, td, n) - создает непрерывный ПИД-регулятор с фильтром первого порядка.

  • c = PidStd(kp, ti, td, Inf, ts) создает дискретный ПИД-регулятор.

  • c = PidStd(kp, ti, td, n, ts) создает дискретный ПИД-регулятор с фильтром первого порядка.

  • c = PidStd(kp, ti, td, n, ts, iformula) создает дискретный ПИД-регулятор с фильтром первого порядка, при этом метод интегрирования интегральной составляющей указывается явно.

  • c = PidStd(kp, ti, td, n, ts, iformula, dformula) создает дискретный ПИД-регулятор с фильтром первого порядка, при этом методы интегрирования интегральной и дифференциальной составляющих указываются явно.

Аргументы

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

# kp — пропорциональный коэффициент
1.0 (по умолчанию) | скаляр

Details

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

Типы данных

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

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

Нет

# ti — постоянная интегрирования
Inf (по умолчанию) | скаляр

Details

Постоянная интегрирования регулятора. Значение должно быть положительным числом.

Типы данных

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

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

Нет

# td — постоянная дифференцирования
0.0 (по умолчанию) | скаляр

Details

Постоянная дифференцирования регулятора. Значение должно быть конечным неотрицательным числом.

Создание Д-регулятора не предусмотрено.
Типы данных

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

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

Нет

# n — делитель постоянной дифференцирования
Inf (по умолчанию) | скаляр

Details

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

Значение данного параметра должно быть равным Inf, когда постоянная дифференцирования равна 0.
Типы данных

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

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

Нет

# ts — период дискретизации
nothing (по умолчанию) | скаляр

Details

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

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

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

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

Нет

# iformula — метод интегрирования интегральной составляющей
nothing (по умолчанию) | :forward_euler | :backward_euler | :trapezoidal

Details

Метод интегрирования интегральной составляющей дискретного ПИД-регулятора

Аргумент принимает следующие значения:

  • :forward_euler — прямой метод Эйлера

    Рекомендуется использовать данный метод, когда период дискретизации мал, т. е. в том случае, если частота Найквиста намного больше полосы пропускания регулятора. Для больших значений периода дискретизации использование прямого метода Эйлера может сделать регулятор неустойчивым, даже если аналогичный непрерывный регулятор является устойчивым.

  • :backward_euler — обратный метод Эйлера

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

  • :trapezoidal — метод трапеций

    Данный метод гарантирует устойчивость дискретного регулятора при дискретизации устойчивого непрерывного регулятора. Метод трапеций позволяет получить лучшее соответствие частотных характеристик непрерывного и дискретного регуляторов по сравнению с методом Эйлера.

Для непрерывного регулятора данный аргумент принимает значение nothing.
Типы данных

Nothing, Symbol

# dformula — метод интегрирования дифференциальной составляющей
nothing (по умолчанию) | :forward_euler | :backward_euler | :trapezoidal

Details

Метод интегрирования интегральной составляющей дискретного ПИД-регулятора

Аргумент принимает следующие значения:

  • :forward_euler — прямой метод Эйлера

    Рекомендуется использовать данный метод, когда период дискретизации мал, т. е. в том случае, если частота Найквиста намного больше полосы пропускания регулятора. Для больших значений периода дискретизации использование прямого метода Эйлера может сделать регулятор неустойчивым, даже если аналогичный непрерывный регулятор является устойчивым.

  • :backward_euler — обратный метод Эйлера

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

  • :trapezoidal — метод трапеций

    Данный метод гарантирует устойчивость дискретного регулятора при дискретизации устойчивого непрерывного регулятора. Метод трапеций позволяет получить лучшее соответствие частотных характеристик непрерывного и дискретного регуляторов по сравнению с методом Эйлера.

Для непрерывного регулятора данный аргумент принимает значение nothing.
Типы данных

Nothing, Symbol

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

# c — ПИД-регулятор в стандартной форме
PidStd

Details

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

Типы данных

PidStd