Создайте ПИД-регулятор 2-DOF в параллельной форме, преобразуйте в параллельную форму ПИД-регулятор 2-DOF
Контроллер pid2 объекты представляет две степени свободы (2-DOF) ПИД-регуляторы в параллельной форме. Используйте pid2 или чтобы создать контроллер pid2 объект из известных коэффициентов или преобразовать модель динамической системы в объект pid2.
Две степени свободы (2-DOF) ПИД-регуляторы включают взвешивание заданного значения на пропорциональных и производных условиях. ПИД-регулятор с 2 степенями свободы может достигнуть быстрого подавления помех без значительного увеличения перерегулирования в отслеживании заданного значения. ПИД-регуляторы 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)
создает непрерывно-разовый ПИД-регулятор 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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