exponenta event banner

Расчетный внутренний контроллер модели для химреакторной установки

В этом примере показано, как спроектировать компенсатор в структуре IMC для последовательных химических реакторов с использованием конструктора систем управления. Системы управления на основе моделей часто используются для отслеживания уставок и отклонения возмущений нагрузки в приложениях управления технологическим процессом.

Модель установки

Установка для этого примера представляет собой химическую реакторную систему, состоящую из двух хорошо перемешанных резервуаров.

Реакторы являются изотермическими, и реакция в каждом реакторе осуществляется в первом порядке по компоненту А:

$$r_{A} = -kC_{A}$$

Материальный баланс применяется к системе для создания динамической модели системы. Предполагается, что уровни в резервуаре остаются постоянными из-за переливного сопла и, следовательно, отсутствует контроль уровня.

Подробнее об этой установке см. Пример 3.3 в Главе 3 «Управление технологическим процессом: проектирование процессов и систем управления для динамических рабочих характеристик» Томаса Э. Марлина.

Следующие дифференциальные уравнения описывают балансы компонентов:

$$V\frac{dC_{A1}}{dt} = F(C_{A0} -C_{A1}) - VkC_{A1}$$

$$V\frac{dC_{A2}}{dt} = F(C_{A1} -C_{A2}) - VkC_{A2}$$

В установившемся состоянии,

$$ \frac{dC_{A1}}{dt} = 0 $$

$$ \frac{dC_{A2}}{dt} = 0 $$

материальные балансы:

$$F^*(C_{A0}^* - C_{A1}^*) - VkC_{A1}^* = 0$$

$$F^*(C_{A1}^* - C_{A2}^*) - VkC_{A2}^* = 0$$

где, и $C_{A0}^*$$C_{A1}*$$C_{A2}*$- стационарные значения.

Заменить следующими проектными характеристиками и параметрами реактора:

$$F^*$$ = 0.085 $$mole/min$$

$$C_{A0}^*$$ = 0.925 $$mol/min$$

$$V$$ = 1.05 $$m^3$$

$$k$$ = 0.04 $$min^{-1}$$

Результирующими стационарными концентрациями в двух реакторах являются:

$$C_{A1}^* = KC_{A0}^* = 0.6191 mol/m^3$$

$$C_{A2}^* = K^2C_{A0}^* = 0.4144 mol/m^3$$

где

$$K = \frac{F^{*}}{F*+Vk} = 0.6693$$

Для этого примера сконструировать контроллер для поддержания выходной концентрации реагента из второго реактора $C_{A2}^*$в присутствии любого нарушения концентрации сырья. $C_{A0}$Управляемая переменная представляет собой молярный расход реагента, F, входя в первый реактор.

Линейные модели установок

В этой проблеме конструкции управления модель установки

$$ \frac{C_{A2}(s)}{ F(s)}$$

и модель возмущения

$$ \frac{C_{A0}(s)}{C_{A2}(s)}$$

Этот химический процесс может быть представлен с использованием следующей блок-схемы:

где

$$ G_{A1} = \frac{C_{A1}(s)}{C_{A0}(s)} = \frac{0.6693}{8.2677s+1}$$

$$ G_{F1} = \frac{C_{A1}(s)}{F(s)} = \frac{2.4087}{8.2677s+1}$$

$$ G_{A2} = \frac{C_{A2}(s)}{C_{A1}(s)} = \frac{0.6693}{8.2677s+1}$$

$$ G_{F2} = \frac{C_{A2}(s)}{F(s)} = \frac{1.6118}{8.2677s+1}$$

На основе блок-схемы получить модели установки и возмущений следующим образом:

$$ \frac{C_{A2}(s)}{ F(s)} = G_{F1}G_{A2} + G_{F2} = \frac{13.3259s+3.2239}{(8.2677s+1)^2} $$

$$ \frac{C_{A2}}{C_{A0}} = G_{A1}G_{A2} = \frac{0.4480}{(8.2677s+1)^2}$$

Создайте модель завода в командной строке:

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 является моделью возмущения.

Определение структуры IMC в конструкторе систем управления

Откройте конструктор системы управления.

controlSystemDesigner

Выберите архитектуру управления IMC. В конструкторе систем управления щелкните Изменить архитектуру. В диалоговом окне «Редактирование архитектуры» выберите «Конфигурация 5».

Загрузите системные данные. Для G1, G2 и Gd укажите значение модели.

Компенсатор настройки

Постройте график ступенчатой реакции с разомкнутым контуром G1.

step(G1)

Щелкните правой кнопкой мыши график и выберите «Характеристики» > подменю «Время подъема». Щелкните синий маркер времени подъема.

Время нарастания составляет около 25 секунд, и мы хотим настроить компенсатор IMC для достижения более быстрого времени отклика по замкнутому контуру.

Чтобы настроить компенсатор IMC, в конструкторе систем управления щелкните Методы настройки и выберите Настройка внутренней модели (IMC).

Выберите доминирующую постоянную времени замкнутого цикла, равную 2 и требуемый порядок контроллера 2.

Для просмотра ответа на шаг с замкнутым контуром в конструкторе систем управления дважды щелкните вкладку «IOTransfer_r2y:step plot».

Управление производительностью с несоответствием модели

При проектировании контроллера мы предполагали, что G1 равно G2. На практике они часто отличаются друг от друга, и контроллер должен быть достаточно надежным для отслеживания уставок и отклонения возмущений.

Создайте несоответствия модели между G1 и G2 и проверьте эффективность управления в командной строке MATLAB при наличии как изменения уставки, так и нарушения нагрузки.

Экспорт IMC-компенсатора в рабочую область MATLAB. Щелкните Экспорт (Export). В диалоговом окне Экспорт модели (Export Model) выберите модель компенсатора C.

Щелкните Экспорт (Export).

Преобразование структуры IMC в классическую структуру управления с обратной связью с контроллером в тракте прямой связи и в блоке обратной связи.

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')

Контроллер достаточно надежен к неопределенностям параметров установки.

См. также

Связанные темы