В этом примере показано, как с помощью инструмента PID Tuner разработать PI-контроллер с хорошими характеристиками отбраковки нарушений. В примере также показано, как сконструировать контроллер ISA-PID как для хорошего отклонения возмущений, так и для хорошего отслеживания опорных сигналов.
Модель завода:
2) (s + 3) (s + 4)
G = zpk(-5,[-1 -2 -3 -4],6,'OutputDelay',1); G.InputName = 'u'; G.OutputName = 'y';
Используйте следующую команду для запуска PID-тюнера для проектирования PI-контроллера в параллельной форме для установки G.
pidtool(G,'pi')
PID-тюнер автоматически проектирует начальный PI-контроллер. Нажмите кнопку «Show parameters» (показать параметры) для отображения показателей усиления и производительности контроллера.


Для эталонного отслеживания шага время отстаивания составляет около 12 секунд, а превышение - около 6,3 процента, что приемлемо для этого примера.
Предположим, что на входе в установку происходит ступенчатое нарушение, и основной целью PI-контроллера является быстрое отклонение этого нарушения. В остальной части этого раздела мы покажем, как сконструировать PI-контроллер для лучшего отклонения возмущений в PID-тюнере. Мы также ожидаем, что эффективность отслеживания эталона ухудшается по мере улучшения эффективности отбраковки возмущений.
Поскольку ослабление низкочастотного возмущения обратно пропорционально интегральному усилению Ki, максимизация интегрального усиления является полезной эвристикой для получения PI-контроллера с хорошим отклонением возмущения. Для получения справочной информации см. Karl Astrom et al., «Advanced PID Control», глава 4 «Controller Design», 2006, The ISA Society.
Щелкните Добавить график (Add Plot), выберите Отклонение входного возмущения (Input ristance rejection) и нажмите кнопку Добавить (Add), чтобы построить график ответа шага входного возмущения. Пиковое отклонение составляет около 1, и оно составляет менее 0,1 за 9 секунд.


Замощите графики, чтобы показать отклики на эталонное отслеживание и входные возмущения. Переместите регулятор времени отклика вправо, чтобы увеличить скорость отклика (полосу пропускания разомкнутого контура). Коэффициент усиления Ki в таблице параметров контроллера сначала увеличивается, а затем уменьшается, причем максимальное значение имеет значение 0,3. Когда Ki составляет 0,3, пиковое отклонение уменьшается до 0,9 (улучшение примерно на 10%) и оно оседает до менее 0,1 за приблизительно 6,7 секунд (улучшение примерно на 25%).


Поскольку мы увеличили полосу пропускания, отклик на эталонное трекинг становится более колебательным. Дополнительно перерасход превышает 15 процентов, что обычно недопустимо. Этот тип компромисса между эталонным отслеживанием и отбраковкой возмущений часто существует, потому что один ПИД-контроллер не может удовлетворять обоим целям проектирования одновременно.
Щелкните Экспорт (Export), чтобы экспортировать разработанный контроллер PI в рабочую область MATLAB. Контроллер представлен объектом PID, и он необходим для создания контроллера ISA-PID в следующем разделе.

Также можно вручную создать тот же контроллер PI в рабочей области MATLAB с помощью команды pid. В этой команде можно непосредственно указать коэффициенты усиления Kp и Ki, полученные из таблицы параметров тюнера PID.
C = pid(0.64362,0.30314); C.InputName = 'e'; C.OutputName = 'u'; C
C =
1
Kp + Ki * ---
s
with Kp = 0.644, Ki = 0.303
Continuous-time PI controller in parallel form.
Простое решение для обеспечения хорошей работы PI-контроллера как для эталонного отслеживания, так и для отклонения возмущений заключается в его обновлении до ISA-PID-контроллера. Он улучшает отклик отслеживания опорного сигнала, обеспечивая дополнительные параметры b настройки, которые позволяют осуществлять независимое управление воздействием опорного сигнала на пропорциональное действие.

В вышеописанной структуре ISA-PID имеется контроллер обратной связи C и фильтр прямой связи F. В этом примере C является обычным PI-контроллером в параллельной форме, который может быть представлен PID-объектом:
Kp + Kis
F является предварительным фильтром, который включает коэффициенты усиления Kp и Ki от C плюс вес уставки b:
KiKps + Ki
Поэтому контроллер ISA-PID имеет два входа (r и y) и один выход (u).
Вес уставки b - вещественное число от 0 до 1. Когда она уменьшается, избыточное количество в отклике опорного отслеживания уменьшается. В этом примере b выбрано равным 0,7.
b = 0.7; % The following code constructs an ISA-PID from F and C F = tf([b*C.Kp C.Ki],[C.Kp C.Ki]); F.InputName = 'r'; F.OutputName = 'uf'; Sum = sumblk('e','uf','y','+-'); ISAPID = connect(C,F,Sum,{'r','y'},'u'); tf(ISAPID)
ans =
From input "r" to output "u":
0.4505 s^2 + 0.5153 s + 0.1428
------------------------------
s^2 + 0.471 s
From input "y" to output "u":
-0.6436 s - 0.3031
------------------
s
Continuous-time transfer function.
Эталонный ответ отслеживания с контроллером ISA-PID имеет гораздо меньшее превышение, поскольку вес уставки b уменьшает превышение.
% Closed-loop system with PI controller for reference tracking sys1 = feedback(G*C,1); % Closed-loop system with ISA-PID controller sys2 = connect(ISAPID,G,{'r','u'},'y'); % Compare responses step(sys1,'r-',sys2(1),'b.'); legend('show','location','southeast') title('Reference Tracking')

Отклики на отклонение возмущения одинаковы, поскольку вес уставки b влияет только на контрольное отслеживание.
% Closed-loop system with PI controller for disturbance rejection sys1 = feedback(G,C); % Compare responses step(sys1,'r-',sys2(2),'b.'); legend('PID','ISA-PID'); title('Disturbance Rejection')
