Этот пример показывает, как спроектировать компенсатор в структуре IMC для последовательных химических реакторов, используя Control System Designer. Основанные на модели системы управления часто используются для отслеживания уставок и отклонения нарушений порядка нагрузки в приложениях управления процессами.
В данном примере объекта представляет собой химическую реакторную систему, состоящую из двух хорошо смешанных баков.
Реакторы являются изотермическими, и реакция в каждом реакторе происходит в первом порядке по компоненту А:
Материальное сальдо применяется к системе для создания динамической модели системы. Уровни в баке приняты постоянными из-за переливного сопла, и, следовательно, нет никакого контроля уровня.
Для получения дополнительной информации об этом объекте. Пример 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 задайте Значение модели.
Постройте график переходной характеристики разомкнутого цикла G1
.
step(G1)
Щелкните правой кнопкой мыши график и выберите «Характеристики» > «Время нарастания» подменю. Щелкните на синем маркере времени нарастания.
Это время нарастания около 25 секунд, и мы хотим настроить компенсатор IMC, чтобы достичь более быстрого времени отклика с обратной связью.
Чтобы настроить компенсатор IMC, в Control System Designer, щелкните Методы настройки и выберите Внутренний контроль модели (IMC) Настройка.
Выберите Доминирующую постоянную времени с обратной связью 2
и желаемый контроллера порядок 2
.
Чтобы просмотреть переходную характеристику с обратной связью, в Control System Designer, дважды щелкните вкладку IOTransfer_r2y:step графика.
При разработке контроллера мы приняли, G1 было равно G2. На практике они часто отличаются, и контроллер должен быть достаточно устойчивым, чтобы отслеживать уставки и отклонять нарушения порядка.
Создайте несоответствия модели между G1 и G2 и исследуйте эффективность управления в командной строке MATLAB при наличии изменения уставки и нарушения порядка нагрузки.
Экспортируйте IMC Compensator в рабочее пространство MATLAB. Нажмите Экспорт. В диалоговом окне Экспорт модели выберите модель компенсатора C.
Нажмите Экспорт.
Преобразуйте структуру 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')
Контроллер достаточно надежен к неопределенностям в параметрах объекта.