В этом примере показано, как управлять установкой термомеханической варки целлюлозы (ТМП) с помощью модельного прогнозирующего контроллера.
На следующей схеме показана типичная схема процесса для двухступенчатой работы 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, чтобы запустить приложение MPC Designer.

На вкладке «Настройка» нажмите кнопку «Веса», чтобы открыть диалоговое окно «Веса». Для уделения большего внимания регулированию нагрузок и констант двигателей первичного и вторичного рафинеров необходимо указать следующие входные и выходные веса:

На вкладке MPC Designer щелкните Изменить сценарий, чтобы открыть диалоговое окно Сценарий моделирования. Для моделирования изменения уставки нагрузки двигателя первичного рафинера с 8 до 9 МВт без несоответствия модели задайте следующие настройки сценария моделирования:

Влияние изменений в конструкции можно наблюдать непосредственно на графиках ответов.

Контроллер можно протестировать на нелинейной установке, запустив моделирование в Simulink ®. На вкладке «Настройка» в раскрывающемся списке «Обновление и моделирование» выберите «Обновить блок и выполнить моделирование», чтобы экспортировать текущую конструкцию контроллера в рабочее пространство MATLAB и запустить моделирование в Simulink.
Выходные данные 3 областей показывают отклик на начальные уставки с:
Первичная консистенция 0,4
Нагрузка на вторичный двигатель 6 МВт
Вторичная консистенция 0,3

bdclose('mpc_tmpdemo')
mpc | Контроллер MPC | Разработчик MPC