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

создает непрерывное время ПИД-регулятор 2-DOF с пропорциональной составляющей C2 = pidstd2(Kp,Ti,Td,N,b,c)Kp, интегратор и производные постоянные времени Ti, и Td, и производная фильтрует делитель N. У контроллера также есть заданное значение, взвешивающее b на пропорциональном термине и заданном значении, взвешивающем c на производном термине. Отношением между контроллером 2-DOF выход (u) и его два входных параметров (r и y) дают:
Это представление находится в standard form. Если все коэффициенты с действительным знаком, то получившийся C2 isa 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 |
|
Размер шага. Создать дискретное время
Значение по умолчанию: 0 (непрерывное время) |
|
Динамическая система SISO, чтобы преобразовать в стандарт
|
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
Используйте Name,Value синтаксис, чтобы установить формулы численного интегрирования IFormula и DFormula из дискретного времени pidstd2 контроллер, или установить другие свойства объектов, такие как InputName и OutputName. Для получения информации о доступных свойствах pidstd2 диспетчер возражает, смотрите Свойства.
|
ПИД-регулятор 2-DOF, возвращенный как a
|
|
Веса заданного значения на пропорциональных и производных условиях, соответственно. |
|
Пропорциональная составляющая. Значение |
|
Время интегратора. |
|
Производное время. |
|
Производный делитель фильтра. |
|
Дискретная формула интегратора IF (z) для интегратора дискретного времени
Когда Значение по умолчанию: |
|
Дискретная формула интегратора DF (z) для производного фильтра дискретного времени
Когда Значение по умолчанию: |
|
Задержка в системе вводится. |
|
Задержка в системе Выход. |
|
Размер шага. Для моделей непрерывного времени, Изменение этого свойства не дискретизирует или передискретизирует модель. Использование Значение по умолчанию: |
|
Модули для переменной времени, шаг расчета
Изменение этого свойства не оказывает влияния на другие свойства, и поэтому изменяет полное поведение системы. Использование Значение по умолчанию: |
|
Введите название канала в виде вектора символов или 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, такие как контроллер обратной связи и контроллер прямого распространения, использование getComponents.
Создайте массивы pidstd2 контроллеры:
Определение значений массивов для одного или нескольких коэффициентов Kpti , TdNB, и 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 | pidstddata2 | pidtune | pidTuner