exponenta event banner

Линеаризация процесса целлюлозной бумаги

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

Введение

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