Этот пример показывает, как разработать компенсатор в структуре IMC для ряда химические реакторы, с помощью Control System Designer. Основанные на модели системы управления часто используются, чтобы отследить заданные значения и воздействия загрузки отклонения в приложениях управления процессом.
Объект для этого примера является химической реакторной системой, состоявшей из двух хорошо смешанных корпусов.
Реакторы являются изотермическими, и реакция в каждом реакторе является первым порядком на компоненте A:
Материальный баланс применяется к системе, чтобы сгенерировать динамическую модель системы. Уровни корпуса приняты, чтобы остаться постоянными из-за носика переполнения и следовательно нет никакого включенного контроля уровня.
Для получения дополнительной информации об этом объекте, смотрите Пример 3.3 в Главе 3 "Управления процессом: Разработайте Процессы и Системы управления для Динамических характеристик" Томасом Э. Марлином.
Следующие дифференциальные уравнения описывают балансы компонента:
В устойчивом состоянии,
материальные балансы:
где, и установившиеся значения.
Займите место, следующие спецификации проекта и реакторные параметры:
Получившиеся установившиеся концентрации в этих двух реакторах:
где
В данном примере разработайте контроллер, чтобы поддержать концентрацию выхода реагента от второго реактора, в присутствии любого воздействия в концентрации канала. Переменная, которой управляют, является молярной скоростью потока реагента, F
, вводя первый реактор.
В этой проблеме системы управления модель объекта управления
и возмущение
Этот химический процесс может быть представлен с помощью следующей блок-схемы:
где
На основе блок-схемы получите объект и возмущения можно следующим образом:
Создайте модель объекта управления в командной строке:
s = tf('s');
G1 = (13.3259*s+3.2239)/(8.2677*s+1)^2;
G2 = G1;
Gd = 0.4480/(8.2677*s+1)^2;
G1 является действительным объектом, используемым в оценке контроллера. G2 является приближением действительного объекта, и это используется в качестве прогнозирующей модели в структуре IMC. G2 = G1
означает, что нет никакого образцового несоответствия. Gd
является возмущением.
Открытый Control System Designer.
controlSystemDesigner
Выберите архитектуру управления IMC. В Control System Designer нажмите Edit Architecture. В диалоговом окне Edit Architecture выберите Configuration 5.
Загрузите системные данные. Для G1 G2 и Gd, задают модель Value.
Постройте переходной процесс разомкнутого цикла G1
.
step(G1)
Щелкните правой кнопкой по графику и выберите подменю Characteristics> Rise Time. Кликните по синему маркеру времени нарастания.
Время нарастания составляет приблизительно 25 секунд, и мы хотим настроить компенсатор IMC, чтобы достигнуть более быстрого времени отклика с обратной связью.
Чтобы настроить компенсатор IMC, в Control System Designer, нажимают Tuning Methods и выбирают Internal Model Control (IMC) Tuning.
Выберите Dominant временная константа с обратной связью 2
и Желаемый порядок контроллера 2
.
Чтобы просмотреть переходной процесс с обратной связью, в Control System Designer, дважды кликают вкладку графика IOTransfer_r2y:step.
При разработке контроллера мы приняли, что G1 был равен G2. На практике они часто отличаются, и контроллер должен быть достаточно устойчивым, чтобы отследить воздействия отклонения и заданные значения.
Создайте образцовые несоответствия между G1 и G2 и исследуйте производительность управления в командной строке MATLAB и в присутствии изменения заданного значения и загрузите воздействие.
Экспортируйте Компенсатор IMC в рабочее пространство MATLAB. Нажмите Export. В диалоговом окне Export Model выберите модель C компенсатора.
Нажмите Export.
Преобразуйте структуру IMC в классическую структуру управления с обратной связью с контроллером в feedforward пути и модульной обратной связи.
C = zpk([-0.121 -0.121],[-0.242, -0.466],2.39); C_new = feedback(C,G2,+1)
C_new = 2.39 (s+0.121)^4 --------------------------------------------- (s-0.0001594) (s+0.121) (s+0.1213) (s+0.2419) Continuous-time zero/pole/gain model.
Задайте следующие модели объекта управления:
Никакое образцовое несоответствие:
G1p = (13.3259*s+3.2239)/(8.2677*s+1)^2;
Временная константа G1
изменяется на 5%:
G1t = (13.3259*s+3.2239)/(8.7*s+1)^2;
Усиление G1
увеличено 3 разами:
G1g = 3*(13.3259*s+3.2239)/(8.2677*s+1)^2;
Оцените производительность отслеживания заданного значения.
step(feedback(G1p*C_new,1),feedback(G1t*C_new,1),feedback(G1g*C_new,1)) legend('No Model Mismatch','Mismatch in Time Constant','Mismatch in Gain')
Оцените производительность подавления помех.
step(Gd*feedback(1,G1p*C_new),Gd*feedback(1,G1t*C_new),Gd*feedback(1,G1g*C_new)) legend('No Model Mismatch','Mismatch in Time Constant','Mismatch in Gain')
Контроллер довольно устойчив к неуверенности в параметрах объекта.