Этот пример показывает, как управлять объектом термомеханической целлюлозы (TMP) с помощью прогнозирующего контроллера модели.
Следующая схема показывает типовую технологическую схему для двухэтапной операции TMP. Два рафинера под давлением работают последовательно, получая механическую целлюлозу, подходящую для изготовления газетной бумаги.
Основная цель управления объектом ТМП состоит в том, чтобы регулировать энергию, приложенную к пульпе электродвигателями, которые приводят каждый рафинер в действие для получения целлюлозы с хорошими физическими свойствами без чрезмерных затрат энергии.
Вторичная цель управления состоит в том, чтобы регулировать отношение сухого массового расхода жидкости к общему массовому расходу жидкости (известному как консистенция), измеренное на выходе каждого рафинера.
На практике эти цели заключаются в регулировании нагрузок на двигатель первичного и вторичного рафинера, а также постоянств первичного и вторичного рафинера с учетом следующих выходов ограничений:
(1) Поддерживать степень на каждом рафинере ниже максимальных номинальных значений.
(2) Поддерживать уровень вибрации на двух рафинерах ниже критического уровня, чтобы предотвратить столкновение пластины рафинера.
(3) ограничьте измеренную консистенцию для предотвращения закупоривания линии продувки и повреждения волокна.
Манипулируемые переменные для этого объекта включают:
Уставки контроллера зазора для регулирования расстояния между пластинами рафинера
Разбавление, скорости потока жидкости для двух рафинеров
Частота вращения шнекового фидера
Физические пределы также накладываются на каждый из этих входов.
Чтобы запустить этот пример, требуется Simulink ®.
if ~mpcchecktoolboxinstalled('simulink') disp('Simulink(R) is required to run this example.') return end
Следующая модель Simulink ® представляет объект TMP и контроллер MPC, разработанный для целей управления, описанных выше. Модель открывается, и данные о объекте инициализируются:
open_system('mpc_tmpdemo')
mpctmpinit;
Контроллер MPC представлен объектом MPC в рабочей области. Он загружается из ранее сохраненного проекта:
load mpc_tmpdemodata;
mpcobj
MPC object (created on 30-Mar-2004 17:20:31): --------------------------------------------- Sampling time: 0.5 (seconds) Prediction Horizon: 20 Control Horizon: 5 Plant Model: -------------- 5 manipulated variable(s) -->| 7 states | | |--> 6 measured output(s) 0 measured disturbance(s) -->| 5 inputs | | |--> 0 unmeasured output(s) 0 unmeasured disturbance(s) -->| 6 outputs | -------------- Disturbance and Noise Models: Output disturbance model: user specified (type "getoutdist(mpcobj)" for details) Measurement noise model: user specified (type "mpcobj.Model.Noise" for details) Weights: ManipulatedVariables: [0 0 0 0 0] ManipulatedVariablesRate: [0.1000 10 0.1000 10 0.1000] OutputVariables: [0 10 0 1 10 1] ECR: 1000000 State Estimation: Default Kalman Filter (type "getEstimator(mpcobj)" for details) Constraints: 0 <= Feed rpm <= 35, -10 <= Feed rpm/rate <= Inf, -Inf <= Pri. vibration <= 1 0 <= Pri. gap set point <= 1, -10 <= Pri. gap set point/rate <= Inf, -Inf <= Pri. consistency <= 0.45 70 <= Pri. dil. flow set point <= 250, -10 <= Pri. dil. flow set point/rate <= Inf, -Inf <= Sec. vibration <= 1 ............... ............... ............... 70 <= Sec. dil flow set point <= 250, -10 <= Sec. dil flow set point/rate <= Inf, -Inf <= Sec. motor load <= 9
Проектирование контроллера осуществлялось с помощью приложения MPC Designer.
Нажмите кнопку « Проект» в диалоговом окне блока MPC Controller, чтобы запустить приложение MPC Designer.
На вкладке «Настройка» нажмите «Веса», чтобы открыть диалоговое окно «Веса». Чтобы сделать больший акцент на регулировании нагрузок и констант двигателя первичного и вторичного рафинера, укажите входной и выходной веса следующим образом:
На вкладке MPC Designer щелкните Править сценарий, чтобы открыть диалоговое окно Сценарий симуляцию. Чтобы симулировать изменение уставки двигателя первичной переработки с 8 до 9 МВт без несоответствия модели, задайте настройки сценария симуляции следующим образом:
Эффект от изменений проекта может наблюдаться сразу на графиках отклика.
Контроллер может быть протестирован на нелинейном объекте путем выполнения симуляции в Simulink ®. На вкладке Tuning, в раскрывающемся списке Update and Simulate, выберите Update Блока и Запуска Simulation, чтобы экспортировать токовый контроллер проекта в Рабочее пространство MATLAB и запустить симуляцию в Simulink.
Выходные выходы 3 областей показывают ответ на начальные уставки с:
Первичная консистенция 0,4
Нагрузка на вторичный двигатель 6 МВт
Вторичная консистенция 0,3
bdclose('mpc_tmpdemo')
mpc
| MPC Controller | MPC Designer