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

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

Материальный баланс применяется к системе для создания динамической модели системы. Предполагается, что уровни в резервуаре остаются постоянными из-за переливного сопла и, следовательно, отсутствует контроль уровня.
Подробнее об этой установке см. Пример 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 является моделью возмущения.
Откройте конструктор системы управления.
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')

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