モデル線形化器を使用したパラメーター値の変化に対するモデルのバッチ線形化
以下の例では、モデル線形化器を使用して Simulink® モデルをバッチ線形化する方法を示します。モデル パラメーター値を変化させて、モデルから複数の開ループと閉ループの伝達関数を取得します。
この例で使用する scdcascade
モデルには、一対のカスケード フィードバック制御ループが含まれています。それぞれのループには、PI コントローラーが含まれます。プラント モデル G1 (外側のループ) および G2 (内側のループ) は LTI モデルです。この例では、モデル線形化器を使用して PI 制御パラメーターを変化させ、内側のループと外側のループのダイナミクスを解析します。
モデルに対してモデル線形化器を開く
MATLAB® コマンド ラインで Simulink モデルを開きます。
mdl = 'scdcascade';
open_system(mdl)
モデル線形化器を開くには、Simulink モデル ウィンドウの [アプリ] ギャラリーで、[モデル線形化器] をクリックします。
内側のループのコントローラー ゲインを変化させる
内側のループの動作を解析するには、内側のループの PI コントローラーのゲイン C2
を変化させます。コントローラー ブロックを検査すると、比例ゲインは変数 Kp2
で、積分ゲインは Ki2
であることがわかります。これら各ゲインの 2 つの異なる値について、内側のループの性能を調べます。
[パラメーターの変化] ドロップダウン リストで、 [変化するパラメーターの選択]
をクリックします。
[パラメーターの変化] タブが開きます。 [パラメーターの管理] をクリックします。
[モデル変数の選択] ダイアログ ボックスで、変化させるパラメーター Ki2
および Kp2
をオンにします。
[OK] をクリックします。
選択した変数が [パラメーターの変化] テーブルに表示されます。テーブルの各列は、選択された変数の 1 つに対応しています。テーブルの各行は、モデルの線形化に使用する 1 つの (Ki2,Kp2)
ペアを表しています。こうしたパラメーターと値のペアは "パラメーター サンプル" と呼ばれます。線形化の際、モデル線形化器はパラメーター サンプル数、すなわちテーブル内の行数だけ線形モデルを計算します。
モデルの線形化に使用するパラメーター サンプルを指定します。この例では、(Ki2,Kp2)
の 4 つのペア、(Ki2,Kp2)
= (3.5,1)、(3.5,2)、(5,1)、(5,2) を指定します。これらの値をテーブルに手動で入力します。そのためには、テーブルで行を選択します。そして、[行の挿入] 、 [下に行を挿入] を 2 回選択します。
次のようにテーブルの値を編集して、(Ki2,Kp2)
の 4 つのペアを指定します。
ヒント
パラメーター値の指定の詳細については、バッチ線形化用のパラメーター サンプルの指定を参照してください。
内側のループの閉ループ応答の解析
内側のループの性能を解析するには、内側のループの入力 u1
から内側のプラントの出力 y2
への伝達関数を抽出します。これは、外側のループが開いた状態で計算します。この I/O を線形化に指定するには、[線形解析] タブの [解析 I/O] ドロップダウン リストで [線形化 I/O の新規作成]
を選択します。
次を作成することにより、I/O セットを指定します。
入力の摂動点
u1
出力の測定点
y2
ループの中断
e1
I/O セットの名前を、[線形化 I/O セットの作成] ダイアログ ボックスの [変数名] フィールドに InnerLoop
と入力して指定します。ダイアログ ボックスの構成は次のようになります。
ヒント
線形化 I/O の指定の詳細については、モデルの一部を線形化するよう指定を参照してください。
[OK] をクリックします。
これで、パラメーターの変化と内側のループ用の解析 I/O セットが指定されたので、モデルを線形化してステップ応答プロットを調べます。 [ステップ] をクリックします。
モデル線形化器は、[パラメーターの変化] テーブルで指定したパラメーター サンプルのそれぞれについて、モデルを線形化します。新しい変数 linsys1
が、[データ ブラウザー] の [線形解析ワークスペース] セクションに表示されます。この変数は状態空間 (ss
) モデルの配列であり、モデルは (Ki2,Kp2)
の各ペアに対応します。プロットには、linsys1
のすべてのエントリのステップ応答が示されます。このプロットにより、パラメーター グリッドでカバーされる操作範囲において、システムのステップ応答の範囲を感覚的に把握できるようになります。
外側のループのコントローラー ゲインを変化させる
外側のループのコントローラー C1
の値を変化させるため、カスケード制御システム全体の性能を調べます。このためには、Ki2
と Kp2
をモデルで指定された値に固定しながら、係数 Ki1
および Kp1
を変化させます。
[パラメーターの変化] タブで [パラメーターの管理] をクリックします。Ki2
と Kp2
のチェック ボックスをオフにし、Ki1
と Kp1
をオンにします。[OK] をクリックします。
モデル線形化器を使用してパラメーター値を自動的に生成します。 [値の生成] をクリックします。[開始値] テーブルの [値] 列で、各パラメーターの取り得る値を指定する表現を入力します。たとえば、次のような表現を入力することにより、Kp1
と Ki1
をそのノミナル値から ± 50% 変化させます。
グリッド化の方法である [すべての組み合わせ] により、(Kp1,Ki1)
ペアの完全なパラメーター グリッドが生成され、指定した値で可能なすべての組み合わせで線形化が計算されます。[パラメーターの変化] テーブル内のすべての値を生成された値に置き換えるには、[前の値を上書き] を選択し、[OK] をクリックします。
システム全体の閉ループ伝達関数について調べるので、新規の線形化 I/O セットを作成します。[線形解析] タブの [解析 I/O] ドロップダウン リストで [線形化 I/O の新規作成]
を選択します。r
を入力の摂動点として、システム出力 y1m
を出力の測定値として構成します。[OK] をクリックします。
パラメーターの変化でモデルを線形化し、結果として得られるモデルのステップ応答を調べます。 [ステップ] をクリックして新規モデル配列 linsys2
を線形化し、新しいプロットを生成します。
ステップ プロットには配列の各モデルの応答が示されます。このプロットにより、パラメーター グリッドでカバーされる操作範囲において、システムのステップ応答の範囲を感覚的に把握できるようになります。
メモ
新規プロットはパラメーターの変化の新規セットを反映していますが、[ステップ プロット 1] および linsys1
は変わりません。このプロットと配列は依然として、内側のループのパラメーターの変化によって取得した線形化を反映しています。
バッチ線形化の結果のさらなる解析
両方のバッチ線形化の結果である linsys1
と linsys2
は、状態空間 (ss
) モデルの配列です。これらの配列を使用して、いくつかある方法のいずれかでさらに解析を行います。
モデル線形化器の応答プロットを使用した結果の解析での説明に従って、ボード線図やインパルス応答プロットなど、追加の解析プロットを作成します。
モデル線形化器でのバッチ線形化の結果の解析での説明に従って、解析プロットでの個々の応答を調べます。
[線形解析ワークスペース] で
linsys1
またはlinsys2
を右クリックし、[MATLAB ワークスペースへのエクスポート] を選択して、モデル配列を MATLAB ワークスペースにエクスポートします。これにより、線形システム アナライザー アプリなどの Control System Toolbox™ 制御設計ツールを使用して、線形化の結果を解析できるようになります。あるいは、
pidtune
や制御システム デザイナーなどの Control System Toolbox 制御設計ツールを使用して、線形化システム用のコントローラーを設計できるようになります。
線形化の結果の MATLAB ワークスペースにおける検証については、バッチ線形化の結果の検証も参照してください。