Создайте ПИД-регулятор 2-DOF в параллельной форме, преобразуйте в параллельную форму ПИД-регулятор 2-DOF
C2 = pid2(Kp,Ki,Kd,Tf,b,c)
C2 = pid2(Kp,Ki,Kd,Tf,b,c,Ts)
C2 = pid2(sys)
C2 = pid2(___,Name,Value)
pid2
объекты контроллера представляют две степени свободы (2-DOF) ПИД-регуляторы в параллельной форме. Используйте pid2
любой, чтобы создать pid2
объект контроллера от известных коэффициентов или преобразовывать модель динамической системы в pid2
объект.
Две степени свободы (2-DOF) ПИД-регуляторы включают взвешивание заданного значения на пропорциональных и производных условиях. ПИД-регулятор с 2 степенями свободы может достигнуть быстрого подавления помех без значительного увеличения перерегулирования в отслеживании заданного значения. ПИД-регуляторы 2-DOF также полезны, чтобы смягчить влияние изменений в ссылочном сигнале на управляющем сигнале. Следующий рисунок показывает типичную архитектуру управления с помощью ПИД-регулятора 2-DOF.
создает непрерывное время ПИД-регулятор 2-DOF с пропорциональным, интегралом, и производная получает C2
= pid2(Kp
,Ki
,Kd
,Tf
,b
,c
)Kp
, Ki
, и Kd
и производная первого порядка фильтрует постоянную времени Tf
. У контроллера также есть заданное значение, взвешивающее b
на пропорциональном термине и заданном значении, взвешивающем c
на производном термине. Отношение между контроллером 2-DOF вывело (u) и его два входных параметров (r, и y) дают:
Это представление находится в parallel form. Если все коэффициенты с действительным знаком, то получившийся C2
pid2
объект контроллера. Если один или несколько из этих коэффициентов является настраиваемым (realp
или genmat
), затем C2
настраиваемое обобщенное пространство состояний (genss
) объект модели.
создает дискретное время ПИД-регулятор 2-DOF с шагом расчета C2
= pid2(Kp
,Ki
,Kd
,Tf
,b
,c
,Ts
)Ts
. Отношение между контроллером вывело, и входные параметры дают:
IF (z) и DF (z) является discrete integrator formulas для интегратора и производного фильтра. По умолчанию,
Чтобы выбрать различные дискретные формулы интегратора, используйте IFormula
и DFormula
свойства. (См. Свойства для получения дополнительной информации). Если DFormula
= 'ForwardEuler'
(значение по умолчанию) и Tf
≠ 0, затем Ts
и Tf
должен удовлетворить Tf > Ts/2
. Это требование гарантирует устойчивый производный полюс фильтра.
преобразует динамическую систему C2
= pid2(sys
)sys
к параллельной форме pid2
объект контроллера.
задает дополнительные свойства как разделенные запятой пары C2
= pid2(___,Name,Value
)Name,Value
аргументы.
|
Пропорциональное усиление.
Когда Значение по умолчанию: 1 |
|
Интегральное усиление.
Когда Значение по умолчанию: 0 |
|
Производное усиление.
Когда Значение по умолчанию: 0 |
|
Постоянная времени производного фильтра первого порядка.
Когда Значение по умолчанию: 0 |
|
Взвешивание заданного значения на пропорциональном термине.
Когда Значение по умолчанию: 1 |
|
Взвешивание заданного значения на производном термине.
Когда Значение по умолчанию: 1 |
|
'SampleTime' . Создать дискретное время
Значение по умолчанию: 0 (непрерывное время) |
|
Динамическая система SISO, чтобы преобразовать, чтобы быть параллельными
|
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
Используйте Name,Value
синтаксис, чтобы установить формулы численного интегрирования IFormula
и DFormula
из дискретного времени pid2
контроллер, или установить другие свойства объектов, такие как InputName
и OutputName
. Для получения информации о доступных свойствах pid2
диспетчер возражает, смотрите Свойства.
|
ПИД-регулятор 2-DOF, возвращенный как
|
|
Веса заданного значения на пропорциональных и производных условиях, соответственно. |
|
Усиления ПИД-регулятора. Пропорциональный, интеграл и производные усиления, соответственно. |
|
Производная постоянная времени фильтра.
|
|
Дискретная формула интегратора IF (z) для интегратора дискретного времени
Когда Значение по умолчанию: |
|
Дискретная формула интегратора DF (z) для производного фильтра дискретного времени
Когда Значение по умолчанию: |
|
Задержка в системе вводится. |
|
Задержка в системе Выход. |
|
'SampleTime' . Для моделей непрерывного времени, Изменение этого свойства не дискретизирует или передискретизирует модель. Используйте Значение по умолчанию: |
|
Модули для переменной времени, шаг расчета
Изменение этого свойства не оказывает влияния на другие свойства, и поэтому изменяет полное поведение системы. Используйте Значение по умолчанию: |
|
Введите название канала в виде вектора символов или 2 1 массив ячеек из символьных векторов. Используйте это свойство назвать входные каналы моделей контроллеров. Например, присвойте имена C.InputName = {'setpoint';'measurement'}; В качестве альтернативы используйте автоматическое векторное расширение, чтобы присвоить оба входных имени. Например: C.InputName = 'C-input'; Входные имена автоматически расширяются до Можно использовать краткое обозначение Входные названия канала имеют несколько использования, включая:
Значение по умолчанию: |
|
Введите модули канала в виде 2 1 массив ячеек из символьных векторов. Используйте это свойство отследить модули входного сигнала. Например, присвойте модули C.InputUnit = {'Volts';'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® в нескольких значениях параметров или рабочих точках, программное обеспечение заполняет Значение по умолчанию: |
Чтобы спроектировать ПИД-регулятор для конкретного объекта, используйте pidtune
или pidTuner
. Чтобы создать настраиваемый ПИД-регулятор 2-DOF как блок системы управления, используйте tunablePID2
.
Повредить контроллер 2-DOF в два компонента элемента управления SISO, такие как контроллер обратной связи и контроллер feedforward, getComponents
использования.
Создайте массивы pid2
диспетчер возражает:
Определение значений массивов для одного или нескольких коэффициентов Kp
, Ki
, Kd
tf
B
, и c
.
Определение массива динамических систем sys
преобразовывать в pid2
диспетчер возражает.
Используя stack
создавать массивы из отдельных контроллеров или меньших массивов.
Передача массива моделей объекта управления к pidtune
.
В массиве pid2
контроллеры, у каждого контроллера должен быть тот же шаг расчета Ts
и дискретные формулы интегратора IFormula
и DFormula
.
Чтобы создать или преобразовать в контроллер стандартной формы, используйте pidstd2
. Стандартная форма выражает действия контроллера в терминах полного пропорционального усиления Kp, интегральные и производные времена Ti и Td и делитель фильтра N. Например, отношением между входными параметрами и выходом стандартной формы непрерывного времени ПИД-регулятор 2-DOF дают:
Существует два способа дискретизировать непрерывное время pid2
контроллер:
Используйте 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
к требуемым значениям. (См., Дискретизируют Непрерывное время ПИД-регулятор 2-DOF.) Однако этот метод не вычисляет новое усиление и постоянные значения фильтра для дискретизированного контроллера. Поэтому этот метод может дать к более плохому соответствию между непрерывным - и дискретным временем pid2
контроллеры, чем использование c2d
.
genss
| getComponents
| make1DOF
| pid
| pidTuner
| piddata2
| pidstd2
| pidtune
| realp
| tunablePID2