マルチループ制御システム
この例では、connect
を使用するモデルを接続することにより、任意のブロック線図を構築する方法を示します。次のブロック線図に示すように、システムはスミス予測器、単入力単出力 (SISO) のマルチループ制御システムです。
スミス予測器の詳細については、長いデッド タイムをもつプロセス制御: スミス予測器を参照してください。
connect
コマンドを使用して、ysp から y への全体の伝達関数を構成できます。connect
を使用するには、ブロック線図のコンポーネントの入力と出力のチャネル名を指定します。次の図に示すように、connect
は自動的に同じ名前をもつ端子を連結します。
ysp から y へのスミス予測器システムの閉ループ モデルを構築するには、次の手順に従います。
ブロック線図のコンポーネントであるプロセス モデル
P
、予測モデルGp
、遅延モデルDp
、フィルターF
および PI コントローラーC
を作成します。各モデルの入出力チャネルの名前を指定し、connect
がこれらを自動的に連結してブロック線図を作成できるようにします。s = tf('s'); P = exp(-93.9*s) * 5.6/(40.2*s+1); P.InputName = 'u'; P.OutputName = 'y'; Gp = 5.6/(40.2*s+1); Gp.InputName = 'u'; Gp.OutputName = 'yp'; Dp = exp(-93.9*s); Dp.InputName = 'yp'; Dp.OutputName = 'y1'; F = 1/(20*s+1); F.InputName = 'dy'; F.OutputName = 'dp'; C = pidstd(0.574,40.1); C.Inputname = 'e'; C.OutputName = 'u';
ブロック線図を完成するために必要な加算結合を作成します。
sum1 = sumblk('e = ysp - ym'); sum2 = sumblk('ym = yp + dp'); sum3 = sumblk('dy = y - y1');
sumblk
の引数は、加算結合の入力と出力の信号を関連付ける式です。sumblk
は式内で指定された入力と出力の信号名を使って加算結合を作成します。たとえば、sum1
では、式'e = ysp - ym'
はe
と名付けられた出力信号を指定します。これはysp
およびym
と名付けられた入力信号間の差です。ysp から y への完全なモデルを構成します。
T = connect(P,Gp,Dp,C,F,sum1,sum2,sum3,'ysp','y');
connect
は入力と出力のチャネル名を使用して自動的にそれらを相互接続するので、モデルと加算結合を任意の順にリストすることができます。最後の 2 つの引数はマルチループ制御構造の入力と出力の信号を指定します。そのため、
T
は入力ysp
と出力y
をもつss
モデルです。