Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

カスタムのマスク サブシステムの調整

この例では、制御システム デザイナーでカスタムのマスク サブシステムを有効にする方法を説明します。一度設定しておくと、Simulink Control Design でサポートされる他のすべてのブロックと同じ方法でカスタムのマスク サブシステムを調整できます。詳細については、調整可能なブロックを参照してください。

Lead-Lag Library ブロック

この例では scdexblks ライブラリの Lead-Lag Controller block を調整します。

open_system('scdexblks')

このブロックは、単一の零点、極およびゲインをもつ補償器を実装します。[ブロック パラメーター] ダイアログ ボックスを開くには、モデルに Lead-Lag Controller ブロックを追加して、このブロックをダブルクリックします。

ブロックは指定されたゲイン K、ゼロ周波数 wz、極周波数 wp を使用して、補償器の伝達関数を実装します。

$$G(s) = K {{{s \over {wz}} + 1} \over {{s \over wp} + 1}}$$

制御システム デザイナー用のサブシステムの構成

マスク サブシステムを制御システム デザイナーでの調整用に構成するには、コンフィギュレーション関数を指定します。この例では、scdleadexample.m のコンフィギュレーション関数を使用します。このファイルを開くには、MATLAB® コマンド ラインで edit scdleadexample と入力します。このコンフィギュレーション関数により、次の指定が行われます。

  • 1 つの極のみが許可される (MaxPoles 制約)

  • 1 つの零点のみが許可される (MaxZeros 制約)

  • ゲインが調整可能である (isStaticGainTunable 制約)

ブロック コールバック関数 SCDConfigFcn を使用して、サブシステム内でコンフィギュレーションを登録します。Lead-Lag Controller ブロックを右クリックして [プロパティ] を選択します。[ブロック プロパティ] ダイアログ ボックスの [コールバック] タブで、SCDConfigFcn を設定します。

あるいは、コマンド set_param を使用して SCDConfigFcn を設定することもできます。

SCDConfigFcn を設定すると、ブロックは Simulink 補償器設定作業で使用できるようになります。

scdspeedctrlleadlag モデルは、Lead-Lag Controller ブロックを使用して単ループのフィードバック/プレフィルターの補償器設計のフィードバック ループを調整します。このモデルでは SCDConfigFcn プロパティが既に設定されています。

open_system('scdspeedctrlleadlag')

手順 1 制御システム デザイナーを開くには、Simulink モデル ウィンドウの [アプリ] タブで、[制御システム デザイナー] をクリックします。

手順 2 [アーキテクチャの編集] ダイアログ ボックスの [ブロック] タブで、[ブロックの追加] をクリックします。[調整ブロックを選択] ダイアログ ボックスで [フィードバック コントローラー] をクリックして、Lead-Lag Controller を選択します。

手順 3 [信号] タブで、Simulink モデルで定義されている解析ポイントが [位置] として自動的に追加されます。

  • 入力: scdspeedctrlleadlag/Speed Reference 出力端子 1

  • 出力 scdspeedctrlleadlag/Plant Model 出力端子 1

手順 4 [線形化オプション] タブの [操作点] ドロップダウン リストで、[モデルの初期条件] を選択します。

手順 5 コントローラーの調整中にステップ応答が表示される新しいプロットを作成します。

  • 制御システム デザイナー[新規プロット] をクリックし、[新規ステップ] を選択します。[プロットする応答の選択] ドロップダウン メニューで [新規の入出力伝達の応答] を選択します。応答を次のように構成します。

応答を表示するには [プロット] をクリックします。

補償器の調整

制御システム デザイナーアプリには、制御システムを調整する 4 つの方法が用意されています。

  • 開/閉ループ ボード線図、根軌跡またはニコルス線図の各エディター プロットを使用して、補償器の極、零点、ゲインをグラフィカルに調整する。[調整法] をクリックし、[グラフィカルな調整] の下でエディターを選択します。

  • 時間領域と周波数領域の両方の設計要件を使用して補償器のパラメーターを最適化する (Simulink Design Optimization™ ソフトウェアが必要)。[調整法] をクリックし、[最適化ベースの調整] を選択します。詳細については、Enforcing Time and Frequency Requirements on a Single-Loop Controller Design (Simulink Design Optimization)を参照してください。

  • 閉ループ時定数などのパラメーターに基づく自動調整を使用して、初期の補償器パラメーターを計算する。[調整法] をクリックし、[PID 調整][IMC 調整][ループ整形] (Robust Control Toolbox™ ソフトウェアが必要)、[LQG 合成] のいずれかを選択します。

設計の完了

単ループのフィードバック/プレフィルターの補償器設計の参照ステップ応答の設計要件は、Lead-Lag Controller ブロックの次のパラメーターを使用して満たすことができます。

         Gain = 0.0075426
         Zero Frequency (rad/s) = 2
         Pole Frequency (rad/s) = 103.59

閉ループ システムの応答は以下のとおりです。

Simulink モデルの更新

補償器のパラメーターを Simulink モデルに書き込むには、[ブロックの更新] をクリックします。その後、非線形モデルで設計をテストできます。

bdclose('scdexblks')
bdclose('scdspeedctrlleadlag')

参考