PID Controller
Дискретный ПИД-регулятор.
Описание
Блок Discrete PID Controller реализует ПИД-регулятор (ПИД, ПИ, ПД, только П или только И).
Выход блока является взвешенной суммой входного сигнала, интеграла входного сигнала и производной входного сигнала. Веса суммирования задаются пропорциональными, интегральными и дифференциальными коэффициентами. Полюс первого порядка фильтрует дифференциальную составляющую.
Блок поддерживает несколько типов и структур контроллера. Возможные варианты:
-
Тип контроллера (ПИД, ПИ, ПД, только П или только И).
-
Форма контроллера (параллельная или идеальная).
-
Временная область (непрерывная или дискретная).
-
Начальные условия
При изменении этих параметров изменяется внутренняя структура блока: активируются соответствующие варианты подсистем.
Порты
Вход
Port_1 (u) — входной сигнал
скаляр
| вектор
| матрица
Разница между уставкой и выходным сигналом управляемой системы, как показано на рисунке ниже:
Типы данных: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
, Bool
Выход
Port_1 — выход контроллера
скаляр
| вектор
Выход контроллера, представляющий собой взвешенную сумму входного сигнала, интеграла входного сигнала и производной входного сигнала. Весы суммирования задаются пропорциональным, интегральным и дифференциальным коэффициентами. Какие слагаемые участвуют в суммировании, зависит от значения параметра Controller.
Выход контроллера является векторным сигналом, когда вход является векторным сигналом. В этом случае блок действует как N независимых ПИД-регуляторов, где N — количество сигналов во входном векторе.
Типы данных: Float64
Параметры
Controller — тип контроллера
PID (по умолчанию)
| PI
| PD
| P
| I
Задает состав контроллера.
PID
-
Пропорциональная, интегральная и дифференциальная части.
PI
-
Только пропорциональная и интегральная части.
PD
-
Только пропорциональная и дифференциальная части.
P
-
Только пропорциональная часть.
I
-
Только интегральная часть.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Form — структура контроллера
Parallel (по умолчанию)
| Ideal
Задает, является ли структура контроллера параллельной или идеальной.
Parallel
-
Выход контроллера представляет сумму пропорциональной, интегральной и дифференциальной частей, независимо взвешенных по P, I и D соответственно. Например, для ПИД-регулятора параллельной формы с непрерывным временем передаточная функция имеет вид:
Для контроллера параллельной формы с дискретным временем передаточная функция имеет вид:
,
где параметры Integrator method и Filter method определяют и соответственно.
Ideal
-
Пропорциональное усиление P действует на сумму всех частей. Например, для ПИД-регулятора идеальной формы с непрерывным временем передаточная функция имеет вид:
Для регулятора идеальной формы с дискретным временем передаточная функция имеет вид:
,
где параметры Integrator method и Filter method определяют и соответственно.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Time domain — контроллер дискретного или непрерывного времени
Discrete-time (по умолчанию)
| Continuous-time
Для значения Discrete-time
рекомендуется явно задать шаг расчета для блока. При выборе значения Discrete-time
также включаются параметры Integrator method и Filter method.
Когда блок PID Controller находится в модели с синхронным управлением состоянием, вы не можете выбрать Continuous-time
.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Derivative (D) — дифференциальный коэффициент
0 (по умолчанию)
| скаляр
| вектор
Конечное вещественное значение дифференциального коэффициента.
Зависимости
Чтобы использовать этот параметр, установите для параметра Controller значение PID
или PD
.
Настраиваемый: да
Параметр блока |
|
По умолчанию |
|
Filter coefficient (N) — коэффициент фильтрации производной
100 (по умолчанию)
| скаляр
| вектор
Конечное вещественное значение коэффициента усиления фильтра. Коэффициент фильтра определяет положение полюса фильтра в дифференциальной части блока. Расположение полюса фильтра зависит от параметра Time domain.
Когда Time domain имеет значение Continuous-time
, положение полюса равно s = −N
.
Когда Time domain имеет значение Discrete-time
, положение полюса зависит от параметра Filter method.
Метод фильтрации | Расположение столбца фильтра |
---|---|
|
|
|
|
|
|
Блок не поддерживает N = Inf
(идеальная нефильтрованная производная). Если для параметра Time domain установлено значение Discrete-time
, вы можете снять флажок Use filtered derivative, чтобы удалить фильтр производной.
Зависимости
Чтобы использовать этот параметр, установите для параметра Controller значение PID
или PD
.
Настраиваемый: да
Параметр блока |
|
По умолчанию |
|
Integral (I) — интегральный коэффициент
1.0 (по умолчанию)
| скаляр
| вектор
Конечное вещественное значение интегрального коэффициента.
Зависимости
Чтобы использовать этот параметр, установите для параметра Controller тип, имеющий интегральное действие.
Настраиваемый: Да
Параметр блока |
|
По умолчанию |
|
Proportional (P) — пропорциональный коэффициент
1.0 (по умолчанию)
| скаляр
| вектор
Конечное вещественное значение пропроционального коэффициента. Когда форма контроллера:
Parallel
-
Пропорциональное действие не зависит от интегрального и производного воздействий. Например, для параллельного ПИД-регулятора с непрерывным временем передаточная функция имеет вид:
Для контроллера параллельной формы с дискретным временем передаточная функция имеет вид:
,
где параметры Integrator method и Filter method определяют и соответственно.
Ideal
-
Пропорциональный коэффициент P применяется к сумме всех частей. Например, для ПИД-регулятора идеальной формы с непрерывным временем передаточная функция имеет вид:
Для регулятора идеальной формы с дискретным временем передаточная функция имеет вид:
,
где параметры Integrator method и Filter method определяют и соответственно.
Зависимости
Чтобы использовать этот параметр, установите для параметра Controller одно из значений PID
, PI
, PD
или P
.
Настраиваемый: Да
Параметр блока |
|
По умолчанию |
|
Filter initial condition — начальное значение фильтра
0 (по умолчанию)
Начальное значение фильтра.
Integrator initial condition — начальное значение интегратора
0 (по умолчанию)
Начальное значение интегратора.