Main Content

マルチチャネル解析ポイントをもつ制御システム

この例では、MIMO 制御システムの一般化状態空間モデルでマルチチャネル解析ポイントを挿入する方法を示します。

次の 2 入力 2 出力の制御システムについて考えてみましょう。

プラント G には、2 つの入力と 2 つの出力があります。そのため、ブロック線図で y とマークされた線は、2 つの信号 y(1)y(2) を表します。同様に、re はそれぞれ 2 つの信号を表します。

位置 L および V で信号の付加または測定が必要な調整要件を作成するか、応答を抽出するとします。そのためには、AnalysisPoint ブロックを作成し、次の図に示すように、それを制御システムの閉ループ モデルに入れます。

このシステムのモデルを作成するには、最初にプラントとコントローラーの要素を表す数値 LTI モデルおよび制御設計ブロックを作成します。D は調整可能なゲイン ブロックで、C_L および C_V は調整可能な PI コントローラーです。プラント モデルを次のように仮定します。

G(s)=175s+1[87.8-86.4108.2-109.6].

s = tf('s');
G = [87.8 -86.4 ; 108.2 -109.6]/(75*s+1);

D = tunableGain('Decoupler',eye(2));
C_L = tunablePID('C_L','pi');  
C_V = tunablePID('C_V','pi');

L チャネルと V チャネルを一緒にまとめる AnalysisPoint ブロックを作成します。

AP_1 = AnalysisPoint('AP_1',2)
Multi-channel analysis point at locations:
   AP_1(1)
   AP_1(2)

Type "ss(AP_1)" to see the current value.

便宜上、対応する信号に合わせてチャネルの名前を変更します。

AP_1.Location = {'L';'V'}
Multi-channel analysis point at locations:
   L
   V

Type "ss(AP_1)" to see the current value.

次の図は、ブロック AP_1 の入力名、出力名、およびチャネル名 (場所) を示します。

AnalysisPoint ブロックの入出力名は、チャネル名とは異なります。調整用に応答を抽出したり設計目標を定義したりする際に、チャネル名を使用して解析ポイントの位置を参照します。たとえば、connect コマンドを使用してブロックを相互接続する場合などに、入力名 AP_1.u と出力名 AP_1.y を使用できます。

これで、制御システムの閉ループ モデルを作成できます。まず、すべてのプラント ブロックとコントローラー ブロックを最初の AnalysisPoint ブロックに結合します。

GC = G*AP_1*append(C_L,C_V)*D;

次に、フィードバック ループを閉じます。GC に入力と出力が 2 つずつあることに留意してください。

CL = feedback(GC,eye(2));

これで、解析ポイントを使用して解析や調整ができます。たとえば、'L' から最初の出力への SISO 閉ループ伝達関数を抽出します。解析関数で参照できるように、出力に名前を割り当てます。ソフトウェアは、割り当てられた名前 'y' をベクトル値の出力信号 {y(1),y(2)} に自動的に展開します。

CL.OutputName = 'y';
TLy1 = getIOTransfer(CL,'L','y(1)');
bodeplot(TLy1);

参考

関連するトピック