Main Content

パルプ紙プロセス モデルの線形化

この例では、プロセス モデルを定常状態の操作点で線形化する方法を示します。

サーモメカニカル パルプ化 (TMP) は、新聞印刷用紙のメカニカル パルプを生産するためのプロセスです。この例では、2 段階の TMP 操作の一般的なプロセス配置を使用します。

  • 第 1 段階では、1 次精製器で木片と水の供給によりコース パルプが生産されます。

  • 第 2 段階では、2 次精製器でパルプ接着の特性が製紙に適するようさらに改良されます。

各精製器は、溝付きのオーバーレイ表面をもつ 2 つのディスクで構成されています。動作時は、2 つのディスクが反対方向に回転するか、一方のディスクが回転してもう一方のディスクは静止した状態になるかのどちらかになります。

ディスクの表面は物理的に、精製器のディスクの中央から外周を通過する木質繊維、蒸気、および水の 3 相流れに影響を与えます。木質繊維に対するディスク表面の物理的影響は、次のとおりです。

  1. 繊維の硬い化学的結合と物理的結合を壊す

  2. 個々の繊維が紙の上で絡み合うように、繊維の表面を微視的に粗くする

TMP プラントを制御するのは、過剰なエネルギー コストや繊維が精製器を通過する際の非常に高いストレスによる繊維損傷を発生させずに、十分なエネルギーを適用して、良好な物理的特性をもつパルプを得ることが第一の目的です。実用的には、この目的は 2 つの精製器によって適用される合計の電気エネルギーと木質繊維の乾燥質量流量の比率を制御するのと同じです。つまり、パルプに適用される推定した特定エネルギーの制御です。

第 2 の制御目的は、全体的な質量流量 (水と繊維) に対する乾燥質量流量 (繊維) の比率であるパルプ濃度について、エネルギー消費とパルプ品質の間のトレードオフを最適化する値に基づいて制御することです。

TMP プロセスの入力は次のとおりです。

  • チップの供給量 (供給 rpm)

  • 各精製器への希釈水流 (1 次希釈および 2 次希釈の設定点)

  • 2 つの制御コントローラーに対する設定点。精製器の各セットで回転ディスク間のギャップを制御します。

TMP プロセスの出力は次のとおりです。

  • 1 次精製器と 2 次精製器の濃度

  • 1 次精製器と 2 次精製器のモーター負荷

  • 2 つの精製器の振動モニター測定

サーモメカニカル パルプ化プロセスを実装する scdtmp モデルを開きます。

mdl = 'scdtmp';
open_system(mdl)

この例の目標は、次の入力設定点条件に対し、定常状態の操作条件でこのシステムの線形モデルを求めることです。

  • 供給量 = 30

  • 1 次ギャップ = 0.8

  • 1 次希釈 = 170

  • 2 次ギャップ = 0.5

  • 2 次希釈 = 120

操作点の検出

操作点を見つけるには、最初に関数 operspec を使用して操作点の仕様オブジェクトを作成します。

opspec = operspec(mdl)
opspec = 


 Operating point specification for the Model scdtmp.
 (Time-Varying Components Evaluated at time t=0)

States: 
----------
     x         Known    SteadyState     Min         Max        dxMin       dxMax   
___________ ___________ ___________ ___________ ___________ ___________ ___________
                                                                                   
(1.) scdtmp/TMP Refining Line/Fiber fill dynamics/Internal
  3.5556       false       true        -Inf         Inf        -Inf         Inf    
(2.) scdtmp/TMP Refining Line/Fiber water fill dynamics/Internal
  6.8283       false       true        -Inf         Inf        -Inf         Inf    
(3.) scdtmp/TMP Refining Line/Primary dilution/Internal
    170        false       true        -Inf         Inf        -Inf         Inf    
(4.) scdtmp/TMP Refining Line/Primary plate gap/Internal
    0.8        false       true        -Inf         Inf        -Inf         Inf    
(5.) scdtmp/TMP Refining Line/Primary refiner motor/LTI System/Internal
    8.5        false       true        -Inf         Inf        -Inf         Inf    
(6.) scdtmp/TMP Refining Line/Primary screw feeder/Internal
    30         false       true        -Inf         Inf        -Inf         Inf    
(7.) scdtmp/TMP Refining Line/Sec refiner motor/LTI System/Internal
    6.7        false       true        -Inf         Inf        -Inf         Inf    
(8.) scdtmp/TMP Refining Line/Secondary dilution/Internal
    0.5        false       true        -Inf         Inf        -Inf         Inf    
(9.) scdtmp/TMP Refining Line/Secondary plate gap/Internal
    0.5        false       true        -Inf         Inf        -Inf         Inf    

Inputs: 
----------
  u   Known  Min   Max 
_____ _____ _____ _____
                       
(1.) scdtmp/Feed rpm
  0   false -Inf   Inf 
(2.) scdtmp/Pri gap set point
  0   false -Inf   Inf 
(3.) scdtmp/Pri dil flow set point
  0   false -Inf   Inf 
(4.) scdtmp/Sec. gap set point
  0   false -Inf   Inf 
(5.) scdtmp/Sec. dilution set point
  0   false -Inf   Inf 

Outputs: 
----------
  y   Known  Min   Max 
_____ _____ _____ _____
                       
(1.) scdtmp/Out1
  0   false -Inf   Inf 
  0   false -Inf   Inf 
  0   false -Inf   Inf 
  0   false -Inf   Inf 
  0   false -Inf   Inf 
  0   false -Inf   Inf 

供給量の入力値を指定し、この値が既知であることを示します。

opspec.Inputs(1).u = 30;
opspec.Inputs(1).Known = 1;

同様に、1 次ギャップの既知の設定点を指定します。

opspec.Inputs(2).u = 0.8;
opspec.Inputs(2).Known = 1;

1 次希釈の既知の設定点を指定します。

opspec.Inputs(3).u = 170;
opspec.Inputs(3).Known = 1;

2 次ギャップの既知の設定点を指定します。

opspec.Inputs(4).u = 0.5;
opspec.Inputs(4).Known = 1;

2 次希釈の既知の設定点を指定します。

opspec.Inputs(5).u = 120;
opspec.Inputs(5).Known = 1;

関数 findop を使用して、与えられた操作点の仕様のモデルを平衡化します。

op = findop(mdl,opspec);
 Operating point search report:
---------------------------------

opreport = 


 Operating point search report for the Model scdtmp.
 (Time-Varying Components Evaluated at time t=0)

Operating point specifications were successfully met.
States: 
----------
   Min         x         Max       dxMin        dx       dxMax   
__________ __________ __________ __________ __________ __________
                                                                 
(1.) scdtmp/TMP Refining Line/Fiber fill dynamics/Internal
   -Inf      3.5556      Inf         0          0          0     
(2.) scdtmp/TMP Refining Line/Fiber water fill dynamics/Internal
   -Inf      6.8283      Inf         0          0          0     
(3.) scdtmp/TMP Refining Line/Primary dilution/Internal
   -Inf       170        Inf         0          0          0     
(4.) scdtmp/TMP Refining Line/Primary plate gap/Internal
   -Inf       0.8        Inf         0          0          0     
(5.) scdtmp/TMP Refining Line/Primary refiner motor/LTI System/Internal
   -Inf      8.4952      Inf         0          0          0     
(6.) scdtmp/TMP Refining Line/Primary screw feeder/Internal
   -Inf        30        Inf         0          0          0     
(7.) scdtmp/TMP Refining Line/Sec refiner motor/LTI System/Internal
   -Inf      6.6385      Inf         0      1.7355e-12     0     
(8.) scdtmp/TMP Refining Line/Secondary dilution/Internal
   -Inf       120        Inf         0          0          0     
(9.) scdtmp/TMP Refining Line/Secondary plate gap/Internal
   -Inf       0.5        Inf         0          0          0     

Inputs: 
----------
Min  u  Max
___ ___ ___
           
(1.) scdtmp/Feed rpm
30  30  30 
(2.) scdtmp/Pri gap set point
0.8 0.8 0.8
(3.) scdtmp/Pri dil flow set point
170 170 170
(4.) scdtmp/Sec. gap set point
0.5 0.5 0.5
(5.) scdtmp/Sec. dilution set point
120 120 120

Outputs: 
----------
  Min       y       Max   
________ ________ ________
                          
(1.) scdtmp/Out1
  -Inf   0.026027   Inf   
  -Inf   0.39991    Inf   
  -Inf   0.56757    Inf   
  -Inf    8.4952    Inf   
  -Inf   0.34914    Inf   
  -Inf    6.6385    Inf   

モデルの線形化

モデルを線形化するには、最初に線形化の入力ポイントと出力ポイントを定義します。

この例では、次の入力ポイントを使用します。

  • 供給量

  • 1 次ギャップ

  • 1 次希釈

  • 2 次ギャップ

  • 2 次希釈

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');

Mux ブロックの出力には、6 つのモデル出力が次の順序で格納されます。

  • 1 次振動

  • 1 次濃度

  • 2 次振動

  • 1 次モーター負荷

  • 2 次濃度

  • 2 次モーター負荷

io(6) = linio('scdtmp/Mux',1,'output');

計算された定常状態の操作点でモデルを線形化します。

sys = linearize(mdl,op,io);

任意の入力から任意の出力までの結果の線形システムについて応答を表示できます。たとえば、1 次ギャップの設定点と 1 次濃度の間のボード線図をプロットします。

bode(sys(2,2))

参考

| | |

関連するトピック