Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

マルチループ制御システム

この例では、connectを使用するモデルを接続することにより、任意のブロック線図を構築する方法を示します。次のブロック線図に示すように、システムはスミス予測器、単入力単出力 (SISO) のマルチループ制御システムです。

スミス予測器の詳細については、長いむだ時間をもつプロセス制御: スミス予測器を参照してください。

connectコマンドを使用して、yspから y への全体の伝達関数を構成できます。connectを使用するには、ブロック線図のコンポーネントの入力と出力のチャネル名を指定します。次の図に示すように、connectは自動的に同じ名前をもつ端子を連結します。

yspから y へのスミス予測器システムの閉ループ モデルを構築するには、次の手順に従います。

  1. ブロック線図のコンポーネントであるプロセス モデル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';
  2. ブロック線図を完成するために必要な加算結合を作成します。

    sum1 = sumblk('e = ysp - ym'); sum2 = sumblk('ym = yp + dp'); sum3 = sumblk('dy = y - y1');

    sumblkの引数は、加算結合の入力と出力の信号を関連付ける式です。sumblkは式内で指定された入力と出力の信号名を使って加算結合を作成します。たとえば,sum1では、式'e = ysp - ym'eと名付けられた出力信号を指定します。これはyspおよびymと名付けられた入力信号間の差です。

  3. yspから y への完全なモデルを構成します。

    T = connect(P,Gp,Dp,C,F,sum1,sum2,sum3,'ysp','y');

    connectは入力と出力のチャネル名を使用して自動的にそれらを相互接続するので、モデルと加算結合を任意の順にリストすることができます。

    最後の 2 つの引数はマルチループ制御構造の入力と出力の信号を指定します。そのため、Tは入力yspと出力yをもつssモデルです。

参考

|

関連する例

詳細