パルプ紙プロセス モデルの線形化
この例では、プロセス モデルを定常状態の操作点で線形化する方法を示します。
サーモメカニカル パルプ化 (TMP) は、新聞印刷用紙のメカニカル パルプを生産するためのプロセスです。この例では、2 段階の TMP 操作の一般的なプロセス配置を使用します。
第 1 段階では、1 次精製器で木片と水の供給によりコース パルプが生産されます。
第 2 段階では、2 次精製器でパルプ接着の特性が製紙に適するようさらに改良されます。
各精製器は、溝付きのオーバーレイ表面をもつ 2 つのディスクで構成されています。動作時は、2 つのディスクが反対方向に回転するか、一方のディスクが回転してもう一方のディスクは静止した状態になるかのどちらかになります。
ディスクの表面は物理的に、精製器のディスクの中央から外周を通過する木質繊維、蒸気、および水の 3 相流れに影響を与えます。木質繊維に対するディスク表面の物理的影響は、次のとおりです。
繊維の硬い化学的結合と物理的結合を壊す
個々の繊維が紙の上で絡み合うように、繊維の表面を微視的に粗くする
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))

参考
operspec | findop | linio | linearize