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

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