Контроллеры PID с двумя степенями свободы (2-DOF) включают взвешивание уставок на пропорциональном и производном уровнях. Контроллер PID 2-DOF способен быстро устранять помехи без значительного увеличения превышения уставки. 2-DOF контроллеры PID также полезны для уменьшения влияния изменений опорного сигнала на управляющий сигнал.
Можно представить контроллеры PID с помощью специализированных объектов модели pid2 и pidstd2. В этом разделе описывается представление 2-DOF контроллеров PID в MATLAB ®. Для получения информации об автоматической настройке контроллера PID см. раздел Настройка контроллера PID.
На этом рисунке показана типичная архитектура управления с использованием 2-DOF PID-контроллера.

Взаимосвязь между выходом (u) контроллера 2-DOF и его двумя входами (r и y) может быть представлена либо в параллельной, либо в стандартной форме. Две формы различаются по параметрам, используемым для выражения пропорциональных, интегральных и производных действий контроллера, как выражено в следующей таблице.
| Форма | Формула |
|---|---|
Параллельный (pid2 объект) |
KdTfs + 1 (cr − y). В этом представлении:
|
Стандартный (pidstd2 объект) |
TdTdNs + 1 (cr − y)]. В этом представлении:
|
Используйте форму контроллера, удобную для вашего приложения. Например, если вы хотите выразить интегратор и производные действия в виде временных констант, используйте стандартную форму. Примеры создания контроллеров параллельной и стандартной форм см. в разделе pid2 и pidstd2 страницы ссылок соответственно.
Для получения информации о представлении ПИД-контроллеров за дискретное время см. раздел Контроллеры с дискретно-временной пропорциональной интегральной производной (ПИД).
Диспетчер PID с 2 финансовыми департаментами - с двумя входами, один диспетчер продукции формы C2 (s), как показано в следующем числе. Передаточная функция от каждого входа к выходу сама по себе является ПИД-контроллером.

Каждый из компонентов Cr (s) и Cy (s) является ПИД-регулятором с различными весами в пропорциональном и производном терминах. Например, за непрерывное время эти компоненты задаются следующим образом:
+ Kis + KdTfs + 1].
Доступ к этим компонентам можно получить, преобразовав ПИД-контроллер в передаточную функцию с двумя входами и одним выходом. Например, предположим, что C2 представляет собой 2-DOF PID-контроллер, хранящийся в виде pid2 объект.
C2tf = tf(C2); Cr = C2tf(1); Cy = C2tf(2);
Cr (s) - передаточная функция с первого входа C2 в выходные данные. Аналогично, Cy (ы) является передаточной функцией от второго входа C2 в выходные данные.
Предположим, что G является динамической моделью системы, такой как zpk модель, представляющая растение. Создайте функцию передачи с замкнутым контуром от r к y. Обратите внимание, что цикл Cy (s) имеет положительную обратную связь по определению Cy (s).
T = Cr*feedback(G,Cy,+1)
В качестве альтернативы используйте connect команда для создания эквивалентной системы с замкнутым контуром непосредственно с контроллером 2-DOF C2. Для этого установите InputName и OutputName свойства G и C2.
G.InputName = 'u'; G.OutputName = 'y'; C2.Inputname = {'r','y'}; C2.OutputName = 'u'; T = connect(G,C2,'r','y');
Есть другие конфигурации, в которых Вы можете разложить диспетчера PID с 2 финансовыми департаментами на компоненты SISO. Для конкретных вариантов C (-ов) и X (-ов) каждая из следующих конфигураций эквивалентна 2-DOF архитектуре с C2 (-ами). Вы можете получить C (ы) и X (ы) для каждой из этих конфигураций, используяgetComponents команда.
В feedforward конфигурации диспетчер PID с 2 финансовыми департаментами разложен на обычного диспетчера PID SISO, который берет ошибочный сигнал в качестве его входа и feedforward диспетчера.

Для непрерывно-разового, параллельная форма диспетчер PID с 2 финансовыми департаментами, компонентами дают:
Kp + (c − 1) KdTfs + 1.
Доступ к этим компонентам с помощью getComponents.
[C,X] = getComponents(C2,'feedforward');
Следующая команда создает систему с замкнутым контуром от r до y для конфигурации прямой связи.
T = G*(C+X)*feedback(1,G*C);
В конфигурации обратной связи диспетчер PID с 2 финансовыми департаментами разложен на обычный контроллер PID SISO и контроллер с обратной связью.

Для непрерывно-разового, параллельная форма диспетчер PID с 2 финансовыми департаментами, компонентами дают:
Kp + (1 − c) KdTfs + 1.
Доступ к этим компонентам с помощью getComponents.
[C,X] = getComponents(C2,'feedback');
Следующая команда создает систему с замкнутым контуром от r до y для конфигурации обратной связи.
T = G*C*feedback(1,G*(C+X));
В конфигурации фильтра 2-DOF PID контроллер разлагается на обычный SISO PID контроллер и предварительный фильтр опорного сигнала.

Для непрерывно-разового, параллельная форма диспетчер PID с 2 финансовыми департаментами, компонентами дают:
KpTf + Kd) s2 + (Kp + KiTf) s + Ki.
Фильтр X (ы) также может быть выражен как отношение - [Cr (ы )/Cy (ы)].
Следующая команда создает систему с замкнутым контуром от r до y для конфигурации фильтра.
T = X*feedback(G*C,1);
Для примера, иллюстрирующего разложение диспетчера PID с 2 финансовыми департаментами в эти конфигурации, посмотрите, Разлагают Диспетчера PID с 2 финансовыми департаментами на Компоненты SISO.
Формулы, показанные выше, относятся к контроллерам непрерывной и параллельной формы. Контроллеры стандартной формы и контроллеры за дискретное время могут быть разложены на аналогичные конфигурации. getComponents командуйте работами над всем контроллером PID с 2 финансовыми департаментами объекты.
getComponents | pid2 | pidstd2 | pidtune | pidTuner