ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

補償器エディターでの Simulink ブロックの調整

この例では、[補償器エディター] ダイアログ ボックスを使って Simulink ブロックを調整する方法を説明します。

モデルを開く

この例では火花点火エンジンの速度制御システムのモデルを使用します。当初の補償器は、「単ループのフィードバック/プレフィルターの補償器設計」の例と同様の方法で設計されています。少し時間をとって、モデルを調べます。

エンジン スピード制御モデルを開きます。

open_system('scdspeedctrl');

はじめに

この例では、補償器エディターを使用して Simulink ブロックを調整します。制御システム デザイナーを使用して Simulink でブロックを調整する場合、補償器パラメーター表現のいずれかを使用できます。これらの表現は、ブロック パラメーターと極/零点/ゲイン表現です。たとえば、スピード制御の例には、不完全微分を使用した PID コントローラー scdspeedctrl/PID Controller があります。

このブロックは、不完全微分を使用した従来の PID を次のように実現します。

$$G(s) = P + {I \over s} + {D s \over Ns+1}$$

このブロックでは、PIDN は、調整に使用できるパラメーターです。もう 1 つの方法は、ブロックの伝達関数を再定式化して、零点-極-ゲイン形式を使用することです。

$$G(s) = {Ps(Ns+1) + I(Ns+1) + D s^s \over s(Ns+1)} = {K(s^2+2 \zeta \omega_n+w_n^2) \over s(s + z)}$$

この極、零点、およびゲインの定式化では、ボード線図、根軌跡、ニコルス線図などの設計プロットでグラフィカルな調整を直接行うことができます。また、制御システム デザイナーでは、どちらの表現も補償器エディターを使用して調整できます。どちらの表現も、Simulink Control Design でサポートされているすべてのブロックに対して調整できます。詳細については、「「調整可能なブロック」」を参照してください。

制御システム デザイナーを開く

この例では、このフィードバック システムの補償器を調整するため、モデルの左下隅にあるサブシステムをダブルクリックして、事前に構成されている制御システム デザイナー セッションを開きます。

[補償器エディター] ダイアログ ボックス

[補償器エディター] ダイアログ ボックスを使って PID 補償器の表現を表示できます。補償器エディターを開くには、データ ブラウザー[コントローラーと固定ブロック] エリアscdspeedctrl_PID_Controller をダブルクリックします。[補償器エディター] ダイアログ ボックスの [補償器] セクションで、システム内の任意の補償器を表示し、編集することができます。

[極/零点] タブでは、補償器の極と零点を追加し、削除し、編集することができます。不完全微分を使用した PID は構造が固定されているため、最大で零点が 2 つ、極が 1 つ、s = 0 に積分器が 1 つとなるよう、極と零点の数が制限されます。

[パラメーター] タブでは PIDN の各パラメーターを個別に調整できます。

[値] 列に新しいパラメーター値を入力します。パラメーターを対話形式で調整するにはスライダーを使用します。スライダーの範囲を変更するには、[最小値] 列と [最大値] 列を使用します。

パラメーター値を変更すると、それに関連するすべてのエディターおよび解析プロットが自動的に更新されます。

設計の完了

「単ループのフィードバック/プレフィルターの補償器設計」の例での設計要件は、次のコントローラー パラメーターを使用して満たすことができます。

  • scdspeedctrl/PID Controller

         P = 0.0012191
         I = 0.0030038
  • scdspeedctrl/Reference Filter:

         Numerator = 10;
         Denominator = [1 10];

[補償器エディター] ダイアログ ボックスで、これらのパラメーターを指定します。閉ループ システムの応答は以下のとおりです。

Simulink モデルの更新

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

bdclose('scdspeedctrl')
この情報は役に立ちましたか?