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 モデルです。

参考

|

関連する例

詳細