このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
マルチチャネル解析ポイントをもつ制御システム
この例では、MIMO 制御システムの一般化状態空間モデルでマルチチャネル解析ポイントを挿入する方法を示します。
次の 2 入力 2 出力の制御システムについて考えてみましょう。
プラント G
には、2 つの入力と 2 つの出力があります。そのため、ブロック線図で y
とマークされた線は、2 つの信号 y(1)
と y(2)
を表します。同様に、r
と e
はそれぞれ 2 つの信号を表します。
位置 L
および V
で信号の付加または測定が必要な調整要件を作成するか、応答を抽出するとします。そのためには、AnalysisPoint
ブロックを作成し、次の図に示すように、それを制御システムの閉ループ モデルに入れます。
このシステムのモデルを作成するには、最初にプラントとコントローラーの要素を表す数値 LTI モデルおよび制御設計ブロックを作成します。D
は調整可能なゲイン ブロックで、C_L
および C_V
は調整可能な PI コントローラーです。プラント モデルを次のように仮定します。
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)
AP_1 = Multi-channel analysis point at locations: AP_1(1) AP_1(2) Type "ss(AP_1)" to see the current value and "get(AP_1)" to see all properties.
便宜上、対応する信号に合わせてチャネルの名前を変更します。
AP_1.Location = {'L';'V'}
AP_1 = Multi-channel analysis point at locations: L V Type "ss(AP_1)" to see the current value and "get(AP_1)" to see all properties.
次の図は、ブロック 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);