В этом примере показано, как спроектировать компенсатор в структуре 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')
Контроллер довольно устойчив к неопределенности в параметрах объекта.