Создайте ПИД-регулятор в параллельной форме, преобразуйте в ПИД-регулятор параллельной формы
C = pid(Kp,Ki,Kd,Tf)
C = pid(Kp,Ki,Kd,Tf,Ts)
C = pid(sys)
C = pid(Kp)
C = pid(Kp,Ki)
C = pid(Kp,Ki,Kd)
C = pid(...,Name,Value)
C = pid
создает непрерывно-разовый ПИД-регулятор с пропорциональным, интегралом, и производная получает C
= pid(Kp
,Ki
,Kd
,Tf
)Kp
, Ki
, и Kd
и производная первого порядка фильтруют временную константу Tf
:
Это представление находится в parallel form. Если весь Kp
, Ki
, Kd
и Tf
действителен, то получившийся C
является контроллером pid
объект. Если один или несколько из этих коэффициентов является настраиваемым (realp
или genmat
), то C
является настраиваемым обобщенным пространством состояний (genss
) объект модели.
создает ПИД-регулятор дискретного времени с шагом расчета C
= pid(Kp
,Ki
,Kd
,Tf
,Ts
)Ts
. Контроллер:
IF (z) и DF (z) является discrete integrator formulas для интегратора и производного фильтра. По умолчанию,
Чтобы выбрать различные дискретные формулы интегратора, используйте свойства IFormula
и DFormula
. (См. Свойства для получения дополнительной информации о IFormula
и DFormula
). Если DFormula
= 'ForwardEuler'
(значение по умолчанию) и Tf
≠ 0, то Ts
и Tf
должны удовлетворить Tf > Ts/2
. Это требование гарантирует стабильный производный полюс фильтра.
преобразовывает динамическую систему C
= pid(sys
)sys
в параллельную форму контроллер pid
объект.
создает непрерывно-кратный пропорциональный (P) контроллер с C
= pid(Kp
)Ki
= 0, Kd
= 0, и Tf
= 0.
создает пропорциональное и интеграл (PI) контроллер с C
= pid(Kp
,Ki
)Kd
= 0 и Tf
= 0.
создает пропорциональное, интеграл и производную (ПИД) контроллер с C
= pid(Kp
,Ki
,Kd
)Tf
= 0.
создает контроллер или преобразовывает динамическую систему в контроллер C
= pid(...,Name,Value
)pid
объект с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value
.
|
Пропорциональное усиление.
Когда Значение по умолчанию: 1 |
|
Интегральное усиление.
Когда Значение по умолчанию: 0 |
|
Производное усиление.
Когда Значение по умолчанию: 0 |
|
Временная константа производного фильтра первого порядка.
Когда Значение по умолчанию: 0 |
|
'SampleTime' . Чтобы создать дискретное время контроллер
Значение по умолчанию: 0 (непрерывное время) |
|
Динамическая система SISO, чтобы преобразовать, чтобы быть параллельными форме
|
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
Используйте синтаксис Name,Value
, чтобы установить формулы численного интегрирования IFormula
и DFormula
дискретного времени контроллер pid
, или установить другие свойства объектов, такие как InputName
и OutputName
. Для получения информации о доступных свойствах контроллера pid
объекты смотрите Свойства.
|
ПИД-регулятор, представленный как контроллер
|
|
Усиления ПИД-регулятора.
|
|
Производная временная константа фильтра. Свойство |
|
Дискретная формула интегратора IF (z) для интегратора дискретного времени контроллер
Когда Значение по умолчанию: |
|
Дискретная формула интегратора DF (z) для производного фильтра дискретного времени контроллер
Когда Значение по умолчанию: |
|
Задержка в системе вводится. |
|
Задержка в системе Вывод. |
|
'SampleTime' . Для непрерывно-разовых моделей, Изменение этого свойства не дискретизирует или передискретизирует модель. Используйте Значение по умолчанию: |
|
Модули для переменной времени, шаг расчета
Изменение этого свойства не имеет никакого эффекта на другие свойства, и поэтому изменяет полное поведение системы. Используйте Значение по умолчанию: |
|
Введите название канала, заданное как вектор символов. Используйте это свойство назвать входной канал моделей контроллеров. Например, присвойте имя C.InputName = 'error'; Можно использовать краткое обозначение Входные названия канала имеют несколько использования, включая:
Значение по умолчанию: Пустой символьный вектор, |
|
Введите модули канала, заданные как вектор символов. Используйте это свойство отследить модули входного сигнала. Например, присвойте модули концентрации C.InputUnit = 'mol/m^3';
Значение по умолчанию: Пустой символьный вектор, |
|
Введите группы канала. Это свойство не нужно для моделей ПИД-регулятора. Значение по умолчанию: |
|
Выведите название канала, заданное как вектор символов. Используйте это свойство назвать выходной канал моделей контроллеров. Например, присвойте имя C.OutputName = 'control'; Можно использовать краткое обозначение Входные названия канала имеют несколько использования, включая:
Значение по умолчанию: Пустой символьный вектор, |
|
Выведите модули канала, заданные как вектор символов. Используйте это свойство отследить модули выходного сигнала. Например, присвойте модуль C.OutputUnit = 'Volts';
Значение по умолчанию: Пустой символьный вектор, |
|
Выведите группы канала. Это свойство не нужно для моделей ПИД-регулятора. Значение по умолчанию: |
|
Имя системы, заданное как вектор символов. Например, Значение по умолчанию: |
|
Любой текст, который вы хотите сопоставить с системой, сохраненной как строка или массив ячеек из символьных векторов. Свойство хранит, какой бы ни тип данных вы обеспечиваете. Например, если sys1.Notes = "sys1 has a string."; sys2.Notes = 'sys2 has a character vector.'; sys1.Notes sys2.Notes ans = "sys1 has a string." ans = 'sys2 has a character vector.' Значение по умолчанию: |
|
Любой тип данных вы хотите сопоставить с системой, заданной как любой тип данных MATLAB®. Значение по умолчанию: |
|
Выборка сетки для образцовых массивов, заданных как структура данных. Для образцовых массивов, которые выведены путем выборки одной или нескольких независимых переменных, это дорожки свойства значения переменных, сопоставленные с каждой моделью в массиве. Эта информация появляется, когда вы отображаете или строите образцовый массив. Используйте эту информацию, чтобы проследить результаты до независимых переменных. Установите имена полей структуры данных к именам переменных выборки. Установите значения полей к выбранным значениям переменных, сопоставленным с каждой моделью в массиве. Все переменные выборки должны быть числовыми и скаляр, оцененный, и все массивы выбранных значений должны совпадать с размерностями образцового массива. Например, предположите, что вы создаете 11 1 массив линейных моделей, sysarr.SamplingGrid = struct('time',0:10) Точно так же предположите, что вы создаете 6 9 образцовый массив, [zeta,w] = ndgrid(<6 values of zeta>,<9 values of w>) M.SamplingGrid = struct('zeta',zeta,'w',w) Когда вы отображаете M M(:,:,1,1) [zeta=0.3, w=5] = 25 -------------- s^2 + 3 s + 25 M(:,:,2,1) [zeta=0.35, w=5] = 25 ---------------- s^2 + 3.5 s + 25 ... Для образцовых массивов, сгенерированных путем линеаризации модели Simulink® в нескольких значениях параметров или рабочих точках, программное обеспечение заполняет Значение по умолчанию: |
Используйте pid
для:
Создайте контроллер pid
объект из известных коэффициентов ПИД и отфильтруйте временную константу.
Преобразуйте контроллер pidstd
объект в стандартную форму контроллер pid
объект.
Преобразуйте другие типы моделей динамической системы контроллеру pid
объект.
Чтобы разработать ПИД-регулятор для конкретного объекта, используйте pidtune
или pidTuner
. Чтобы создать настраиваемый ПИД-регулятор как блок системы управления, используйте tunablePID
.
Создайте массивы контроллера pid
объекты:
В массиве контроллеров pid
у каждого контроллера должен быть тот же шаг расчета Ts
и дискретные формулы интегратора IFormula
и DFormula
.
Чтобы создать или преобразовать в контроллер стандартной формы, используйте pidstd
. Стандартная форма выражает действия контроллера с точки зрения полного пропорционального усиления Kp, интегральные и производные времена Ti и Td и делитель фильтра N:
Существует два способа дискретизировать непрерывно-кратный контроллер pid
:
Используйте команду c2d
. c2d
вычисляет новые значения параметров для дискретизированного контроллера. Дискретные формулы интегратора дискретизированного контроллера зависят от метода дискретизации c2d
, который вы используете, как показано в следующей таблице.
Метод дискретизации c2d | IFormula | DFormula |
---|---|---|
'zoh' | ForwardEuler | ForwardEuler |
'foh' | Trapezoidal | Trapezoidal |
'tustin' | Trapezoidal | Trapezoidal |
'impulse' | ForwardEuler | ForwardEuler |
'matched' | ForwardEuler | ForwardEuler |
Для получения дополнительной информации о методах дискретизации c2d
, смотрите страницу с описанием c2d
. Для получения дополнительной информации о IFormula
и DFormula
, смотрите Свойства.
Если вы требуете различных дискретных формул интегратора, можно дискретизировать контроллер непосредственно установкой Ts
, IFormula
и DFormula
к требуемым значениям. (См., Дискретизируют Непрерывно-разовый ПИД-регулятор.) Однако этот метод не вычисляет новое усиление и постоянные значения фильтра для дискретизированного контроллера. Поэтому этот метод может привести к более плохому соответствию между непрерывным - и дискретным временем контроллеры pid
, чем использование c2d
.