このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
金宝app®で、コントローラーのゲインや係数が時間、操作条件、モデル パラメーターなどのスケジューリング変数に依存するゲイン スケジュール制御システムをモデル化できます。控制系统工具箱™ の線形パラメーター変動ブロックのライブラリを使用して、可変ゲインをもつ一般的な制御システム要素を実装できます。ルックアップ テーブルなどのブロックやMATLAB函数ブロックを使用して、これらのゲインがスケジューリング変数に依存するゲイン スケジュールを実装します。
金宝app模拟でゲイン スケジュール制御システムをモデル化するには、次を行います。
スケジューリング変数と、モデル内でそれらを表す信号を特定します。たとえば、巡航中の航空機のシステムの場合、スケジューリング変数は航空機の入射角と対気速度になります。
ルックアップ テーブル ブロックまたはMATLAB函数ブロックを使用して、スケジューリング変数に依存するゲインまたは変数を実装します。性能要件を満たすゲイン スケジュールのためのルックアップ テーブル値または MATLAB®式がない場合、系统
を使用して調整することができます。金宝app模拟でのゲイン スケジュールの調整を参照してください。
通常の制御要素をゲイン スケジュールされた要素に置き換えます。たとえば、固定係数 PIDコントローラーの代わりに变PID控制器ブロックを使用して、ゲイン スケジュールにより PIDゲインが決定されるようにします。
必要に応じてスケジューリング ロジックとセーフガードをモデルに追加します。
ゲイン スケジュールはスケジューリング変数の現在の値をコントローラー ゲインに変換します。ゲイン スケジュールを 金宝app模拟で実装する方法はいくつかあります。
ルックアップ テーブルの実装に使用できるブロックには次が含まれます。
ルックアップ テーブル —"ルックアップ テーブル"は、ブレークポイントと対応するゲイン値のリストです。スケジューリング変数がブレークポイントの間にある場合、ルックアップ テーブルは対応するゲイン間を内挿します。ゲイン スケジュールをルックアップ テーブルとして実装するには、次のブロックを使用します。
MATLAB函数ブロック — ゲインをスケジューリング変数に関連付ける関数式がある場合、MATLAB函数ブロックを使用します。式が滑らかな関数の場合、MATLAB関数を使用するとルックアップ テーブルよりも滑らかなゲイン変動が得られることがあります。また、金宝appSimulink编码器™などのコード生成製品を使ってコントローラーをハードウェアに実装する場合、MATLAB関数はルックアップ テーブルよりもメモリ効率の高い実装となる可能性があります。
系统
を使用して、ルックアップ テーブルまたは MATLAB関数として実装されたゲイン スケジュールを調整できます。金宝app模拟でのゲイン スケジュールの調整を参照してください。
例として、モデルrct_CSTR
には 圆周率コントローラーと進み補償器が含まれており、コントローラー ゲインが一维查找表ブロックを使用してルックアップ テーブルとして実装されます。モデルを開いてコントローラーを確認します。
打开系统(完整文件(matlabroot、,“例子”,“控制\u id”,“rct_CSTR.slx”))
浓度控制器
ブロックと温度控制器
ブロックの両方が、CSTR
プラント出力铬
を入力として取ります。この値は、コントローラーの動作が依存するシステムの制御変数とスケジューリング変数の両方を表します。浓度控制器
ブロックをダブルクリックします。
このブロックは、比例ゲイン金伯利进程
と積分ゲイン碘化钾
がスケジューリング パラメーター铬
を一维查找表ブロックに送ることで決定される 圆周率コントローラーです。同様に、温度控制器
ブロックには、ルックアップ テーブルとして実装されている 3.つのゲインが含まれます。
控制系统工具箱の[线性参数变化]ブロック ライブラリを使用して、可変のパラメーターまたは係数をもつ、共通の制御要素を実装します。これらのブロックは、ゲインまたはパラメーターを外部入力として利用できる共通要素を提供します。次の表に、これらのブロックの用途の一部を示します。
ブロック | 用途 |
---|---|
これらのブロックは、カットオフ周波数がスケジューリング変数により変化するバタワース ローパス フィルターを実装するために使用します。 | |
これらのブロックは、ノッチの周波数、幅、および深さがスケジューリング変数により変化するノッチ フィルターを実装するために使用します。 | |
|
これらのブロックは、PID控制器ブロックとPID控制器(2DOF)ブロックのあらかじめ構成されたバージョンです。これらを使用して、PIDゲインがスケジューリング変数により変化する PIDコントローラーを実装します。 |
これらのブロックは、分子と分母の多項式係数がスケジューリング変数により変化する任意の次数の伝達関数を実装するために使用します。 | |
これらのブロックは、A、 B、C、Dの各行列がスケジューリング変数により変化する状態空間コントローラーを実装するために使用します。 | |
これらのブロックは、LQGコントローラーなどの、ゲイン スケジュールされたオブザーバー形式の状態空間コントローラーを実装するために使用します。このようなコントローラーでは、A、 B、C、Dの各行列および状態フィードバックと状態オブザーバーのゲイン行列が、スケジューリング変数により変化します。 |
たとえば、次の図に示すサブシステムは可变陷波滤波器ブロックを使用して、ノッチ周波数が 2.つのスケジューリング変数の関数として変化するフィルターを実装しています。ノッチ周波数とスケジューリング変数の関係はMATLAB函数で実装されます。
もう 1.つの例として、次のサブシステムはゲイン スケジュールの離散時間 圆周率コントローラーです。ここでは比例ゲインと積分ゲインがともに同じスケジューリング変数に依存しています。このコントローラーは一维查找表ブロックを使ってゲイン スケジュールを実装します。
行列値ゲイン スケジュールを 金宝app模拟で実装することもできます。行列値ゲイン スケジュールは、1.つ以上のスケジューリング変数を受け取り、スカラー値の代わりに行列を返します。たとえば、次の形式をもつ時変 LQGコントローラーを実装するとします。
ここで、一般的に状態空間行列 A、 B、Cおよび D状態フィードバック行列 Kオブザーバー ゲイン行列 Lは、すべて時間とともに変動します。この場合、時間がスケジューリング変数になり、ゲイン スケジュールによって特定の時間における行列の値が決まります。
金宝app模拟モデルでは、以下を使用して行列値ゲイン スケジュールを実装できます。
LQGコントローラーの場合、MATLAB函数ブロックまたは矩阵插值ブロックを使用して、時変行列を变观测器形式ブロックへの入力として実装します。以下に例を示します。
この実装では、関連付けられた関数がシミュレーション時間を受け取って適切な次元の行列を返すMATLAB函数ブロックとしてそれぞれの時変行列を実装します。
MATLAB函数ブロックまたは矩阵插值ブロックとして実装された行列値ゲイン スケジュールを調整できます。ただし、矩阵插值ブロックを調整するには、[シミュレーション実行方法]を[インタープリター型実行]
に設定しなければなりません。シミュレーション モードの詳細については、矩阵插值ブロックのリファレンス ページを参照してください。
スケジュール ゲインを使用して独自の制御要素を作成することもできます。たとえば、モデルrct_CSTR
には、スケジューリング変数铬
に依存する 3.つの係数をもつゲイン スケジュール進み補償器が含まれています。この補償器の実装方法を理解するため、モデルを開いて温度控制器
サブシステムを確認します。
ここで全体のゲインKt
、零点の位置A.
、および極配置B
は、それぞれスケジューリング変数を入力として受け取る 1.次元のルックアップ テーブルとして実装されています。ルックアップ テーブルは 产品ブロックに直接送られます。
ゲイン スケジュールを実装するルックアップ テーブルまたはMATLAB函数ブロックを系统
で調整可能にするには、それが最終的に次のいずれかに送られなければなりません。
线性参数变化ブロック ライブラリのブロック。
指定された信号にゲインを適用する产品ブロック。たとえば、产品ブロックが入力としてスケジュール ゲイン g(α)と信号 u(t)を受け取る場合、ブロックの出力信号はy(t)=g(α)u(t)になります。
ルックアップ テーブルまたはMATLAB函数ブロックと、产品ブロックまたはパラメーター変動ブロックとの間には、次のブロックが 1.つ以上存在することが可能です。
获得
偏见
線形領域における単位ゲインと等価の次のブロック
传输延迟、可变传输延迟
使湿透、死角
速率限制器、速率转换
量化器、记忆力、零阶保持
最大最小值
数据类型转换
信号规格
次のスイッチ ブロック
转换
多端口开关
手动开关
このようなブロックの挿入は、たとえばゲイン値を特定の範囲に制約したり、ゲイン スケジュールの更新頻度を指定する場合などに有用です。