В этом примере показано, как линеаризовать модель процесса в рабочей точке установившегося режима.
Термомеханическая целлюлоза (ТМП) - процесс, используемый для производства механической целлюлозы для газетной бумаги. Модель Simulink scdtmp представляет собой типичную технологическую схему для двухступенчатой операции ТМП: два рафинера под давлением работают последовательно, первичный рафинер производит курсовую целлюлозу из сырья из древесной щепы и воды, вторичный рафинер дополнительно развивает свойства связывания целлюлозы так, чтобы она была пригодна для изготовления бумаги. Рафинеры физически состоят из двух дисков (противоположно вращающихся или один статический, а другой вращающийся) с наложенными канавками. Эти поверхности физически воздействуют на трехфазный поток древесных волокон, пара и воды, который проходит от центра рафинерных дисков к их периферии. Физическое воздействие поверхностей диска на древесные волокна: i.) разрывает жесткие химические и физические связи между ними; ii) микроскопически шероховатость поверхности отдельных волокон, что позволяет им образовывать сетку на бумажном листе. Основная цель управления ТМП-установкой состоит в том, чтобы прикладывать достаточное количество энергии для получения целлюлозы с хорошими физическими свойствами без излишних затрат энергии или повреждения волокна из-за воздействия чрезмерно высоких напряжений при прохождении волокон через рафинеры. Для практических целей это означает регулирование отношения общей электрической энергии, подаваемой двумя рафинерами, к сухому массовому расходу древесных волокон, т.е. регулирование расчетной удельной энергии, подаваемой на целлюлозу. Вторичная задача контроля состоит в том, чтобы контролировать отношение массового расхода сухого материала (волокна) к общему массовому расходу (вода и волокна) (известному как консистенция целлюлозы) к значению, которое оптимизирует компромисс между стоимостью (потребляемой энергией) и качеством целлюлозы.
Процесс ввода-вывода для системы TMP выглядит следующим образом:
Входные данные:
Скорость подачи стружки (об/мин),
Поток разбавляющей воды в каждый из рафинеров (уставки первичного и вторичного разбавления),
Установка указывает на два регуляторных контроллера, которые управляют зазором между вращающимися дисками в каждом наборе рафинеров.
Выходные данные:
консистенция первичных и вторичных рафинеров,
Нагрузки двигателя первичного и вторичного рафинеров,
Измерения вибрационного монитора на двух рафинерах.
В этом примере желательно найти линейную модель этой системы в установившемся рабочем состоянии для следующих условий входной уставки:
Скорость подачи = 30
Первичный зазор = 0,8
Первичное разбавление = 170
Вторичный зазор = 0,5
Вторичное разбавление = 120
Откройте модель Simulink.
open_system('scdtmp')

Чтобы получить объект спецификации операционной точки, выполните команду:
opspec = operspec('scdtmp')
Operating point specification for the Model scdtmp. (Time-Varying Components Evaluated at time t=0) States: ---------- (1.) scdtmp/TMP Refining Line/Fiber fill dynamics/Internal spec: dx = 0, initial guess: 3.56 (2.) scdtmp/TMP Refining Line/Fiber water fill dynamics/Internal spec: dx = 0, initial guess: 6.83 (3.) scdtmp/TMP Refining Line/Primary dilution/Internal spec: dx = 0, initial guess: 170 (4.) scdtmp/TMP Refining Line/Primary plate gap/Internal spec: dx = 0, initial guess: 0.8 (5.) scdtmp/TMP Refining Line/Primary refiner motor/LTI System/Internal spec: dx = 0, initial guess: 8.5 (6.) scdtmp/TMP Refining Line/Primary screw feeder/Internal spec: dx = 0, initial guess: 30 (7.) scdtmp/TMP Refining Line/Sec refiner motor/LTI System/Internal spec: dx = 0, initial guess: 6.7 (8.) scdtmp/TMP Refining Line/Secondary dilution/Internal spec: dx = 0, initial guess: 0.5 (9.) scdtmp/TMP Refining Line/Secondary plate gap/Internal spec: dx = 0, initial guess: 0.5 Inputs: ---------- (1.) scdtmp/Feed rpm initial guess: 0 (2.) scdtmp/Pri gap set point initial guess: 0 (3.) scdtmp/Pri dil flow set point initial guess: 0 (4.) scdtmp/Sec. gap set point initial guess: 0 (5.) scdtmp/Sec. dilution set point initial guess: 0 Outputs: ---------- (1.) scdtmp/Out1 spec: none spec: none spec: none spec: none spec: none spec: none
Уставка скорости подачи задается следующим образом:
opspec.Inputs(1).Known = 1; opspec.Inputs(1).u = 30;
Спецификация уставки первичного зазора задается следующим образом:
opspec.Inputs(2).Known = 1; opspec.Inputs(2).u = 0.8;
Спецификация уставки первичного разбавления задается следующим образом:
opspec.Inputs(3).Known = 1; opspec.Inputs(3).u = 170;
Заданная точка вторичного зазора задается следующим образом:
opspec.Inputs(4).Known = 1; opspec.Inputs(4).u = 0.5;
Уставка вторичного разбавления устанавливается следующим образом:
opspec.Inputs(5).Known = 1; opspec.Inputs(5).u = 120;
Рабочая точка в установившемся состоянии, соответствующая данной спецификации, определяется следующим образом:
op = findop('scdtmp',opspec);
Operating point search report:
---------------------------------
Operating point search report for the Model scdtmp.
(Time-Varying Components Evaluated at time t=0)
Operating point specifications were successfully met.
States:
----------
(1.) scdtmp/TMP Refining Line/Fiber fill dynamics/Internal
x: 3.56 dx: 0 (0)
(2.) scdtmp/TMP Refining Line/Fiber water fill dynamics/Internal
x: 6.83 dx: 0 (0)
(3.) scdtmp/TMP Refining Line/Primary dilution/Internal
x: 170 dx: 0 (0)
(4.) scdtmp/TMP Refining Line/Primary plate gap/Internal
x: 0.8 dx: 0 (0)
(5.) scdtmp/TMP Refining Line/Primary refiner motor/LTI System/Internal
x: 8.5 dx: 0 (0)
(6.) scdtmp/TMP Refining Line/Primary screw feeder/Internal
x: 30 dx: 0 (0)
(7.) scdtmp/TMP Refining Line/Sec refiner motor/LTI System/Internal
x: 6.64 dx: 1.74e-12 (0)
(8.) scdtmp/TMP Refining Line/Secondary dilution/Internal
x: 120 dx: 0 (0)
(9.) scdtmp/TMP Refining Line/Secondary plate gap/Internal
x: 0.5 dx: 0 (0)
Inputs:
----------
(1.) scdtmp/Feed rpm
u: 30
(2.) scdtmp/Pri gap set point
u: 0.8
(3.) scdtmp/Pri dil flow set point
u: 170
(4.) scdtmp/Sec. gap set point
u: 0.5
(5.) scdtmp/Sec. dilution set point
u: 120
Outputs:
----------
(1.) scdtmp/Out1
y: 0.026 [-Inf Inf]
y: 0.4 [-Inf Inf]
y: 0.568 [-Inf Inf]
y: 8.5 [-Inf Inf]
y: 0.349 [-Inf Inf]
y: 6.64 [-Inf Inf]
Рабочие точки теперь готовы к линеаризации. Первым шагом является определение входных и выходных точек с помощью команд:
io(1) = linio('scdtmp/Feed rpm',1,'input'); io(2) = linio('scdtmp/Pri gap set point',1,'input'); io(3) = linio('scdtmp/Pri dil flow set point',1,'input'); io(4) = linio('scdtmp/Sec. gap set point',1,'input'); io(5) = linio('scdtmp/Sec. dilution set point',1,'input'); io(6) = linio('scdtmp/Mux',1,'output');
Затем модель можно линеаризовать с помощью команды:
sys = linearize('scdtmp',op,io);
График Bode для функции передачи между уставкой Primary Gap и Primary Consistency можно просмотреть с помощью команды:
bode(sys(2,2))

Закройте модель.
bdclose('scdtmp')