Simulink Control Design

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

パルプ紙加工の線形化

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

はじめに

サーモメカニカル パルプ化 (TMP) は、新聞印刷用紙のメカニカル パルプを生産するためのプロセスです。Simulink モデル scdtmp は、2 段階の TMP 操作の一般的なプロセス配置で、2 つの加圧精製器が順番に動作します。1 次精製器で、木片と水の供給によりコース パルプが生産され、ニ次精製器で、パルプ接着の特性が紙の加工に適するようさらに改良されます。精製器は、物理的に、溝付きのオーバーレイ表面をもつ 2 つのディスク (二重反転、または一方が静止し、他方が回転する) で構成されています。これらの表面は物理的に、精製器のディスクの中央から外周を通過する木質繊維、蒸気、および水の 3 相流れに影響を与えます。木質繊維に対するディクス表面の物理的影響は、次のとおりです。i.) 木質繊維の硬い化学的結合と物理的結合を壊す、ii.) 個々の繊維が紙の上で絡み合うように表面を微視的に粗くする。TMP プラントを制御するのは、過剰なエネルギー コストや繊維が精製器を通過する際の非常に高いストレスによる繊維損傷を発生させずに、十分なエネルギーを適用して、良好な物理的特性をもつパルプを得ることが第一の目的です。実際の目的のためには、これは 2 つの精製器によって適用される合計の電気エネルギーと木質繊維の乾燥質量流量の比率を制御するのと同じです。つまり、パルプに適用される推定した特定エネルギーの制御です。第 2 の目的は、全体的な質量流量 (水と繊維) (パルプ濃度と呼ばれます) に対する乾燥質量流量 (繊維) と、コスト (消費されたエネルギー) とパルプ品質と間のトレードオフを最適化する値との比率を制御することです。

TMP システムのプロセス I/O は、次のとおりです。

入力:

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

  • 各精製器への希釈水流 (1 次および 2 次希釈指令値)

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

出力:

  • 1 次精製器と 2 次精製器の一貫性

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

  • 2 つの精製器における振動モニター測定

この例では、次の入力指令値条件に対し、定常状態の操作点でこのシステムの線形モデルを検索すると有効です。

  • 供給量 = 30

  • 1 次ギャップ = 0.8

  • 1 次希釈 = 170

  • ニ次ギャップ = 0.5

  • ニ次希釈 = 120

操作点の生成

Simulink モデルを開きます。

open_system('scdtmp')

操作点仕様オブジェクトを取得するには、次のコマンドを実行します。

opspec = operspec('scdtmp')
 Operating 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;

1 次ギャップの指令値仕様は、次のように設定されます。

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

1 次希釈の指令値仕様は、次のように設定されます。

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

2 次ギャップの指令値仕様は、次のように設定されます。

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

2 次希釈の指令値は、次のように設定されます。

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

この仕様を満たす定常状態の操作点は、次のように検索されます。

op = findop('scdtmp',opspec);
 Operating Point Search Report:
---------------------------------

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

1 次ギャップの指令値と 1 次の一貫性との間の伝達関数のボード線図は、次のコマンドを使用すると表示できます。

bode(sys(2,2))

モデルを閉じます。

bdclose('scdtmp')