このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Simulink でモデル化されたプラントの PID 自動調整
Simulink® でモデル化されたプラントで PID 自動調整を使用するには、PID 自動調整器ブロックをモデルに組み込みます。モデルの実行中に自動調整プロセスを制御できます。調整が完了したら、調整コントローラーのパラメーターをシミュレートしたプラントに対して検証できます。PID 自動調整のこのような使用方法は、後でリアルタイム自動調整によって改良する初期の PID 設計を生成する際に役立ちます。
Simulink での自動調整のワークフロー
次の手順は、Closed-Loop PID Autotuner ブロックまたは Open-Loop PID Autotuner ブロックを使用した Simulink での PID 自動調整のワークフローの一般的な概要を示します。
モデルの PID コントローラーとプラント間に PID 自動調整器ブロックを組み込みます。
調整実験の開始と終了のタイミングを制御する start/stop の信号を構成します。
コントローラーのタイプや調整のターゲット帯域幅などのコントローラー パラメーターを指定します。
周波数応答実験中に挿入される摂動の振幅などの実験パラメーターを構成します。
モデルを実行して調整を開始します。start/stop 信号を使用して PID 自動調整プロセスを開始します。プロセスを開始すると、自動調整器ブロックがテスト信号を挿入してプラントの応答を測定します。
start/stop 信号を使用して実験を停止します。実験が停止されると、自動調整器ブロックが調整された PID ゲインを計算して返します。調整されたゲインが妥当であるかを調査できます。
自動調整器ブロックから PID コントローラーに調整されたゲインを伝達します。その後、調整コントローラーの性能を Simulink で検証できます。
手順 1. 自動調整器のモデルへの組み込み
次の図は、Closed-Loop PID Autotuner ブロックを PID コントローラーとプラントの間に組み込む 1 つの方法を示しています。
PID コントローラーからの制御信号 u
は自動調整器ブロックの u 端子に接続しています。u+Δu 端子はプラント入力に接続しています。自動調整プロセスを開始する前は、自動調整器ブロックが PID 制御信号を u から u+Δu およびプラント入力に直接渡します。この状態では、自動調整器ブロックはプラントやコントローラーの動作に影響しません。自動調整プロセスの実行中、ブロックはテスト信号をプラント入力に挿入し、y
で応答を測定します。
自動調整プロセスの開始と終了のタイミングは start/stop
信号によって制御されます (手順 2. Start/Stop 信号の構成を参照)。実験が終了すると、ブロックは PID ゲインを計算し、それらを pid gains
端子に返します。
閉ループの PID 自動調整のために構成された Simulink モデルのさらに詳しい例は、Closed-Loop PID Autotuner ブロックを使用した PID コントローラーのリアルタイム調整を参照してください。
開ループ調整のバンプレス切り替え
Open-Loop PID Autotuner ブロックは、推定実験中に u と u+Δu の間にループを開きます。コントローラーに積分動作が含まれる場合、信号のトラッキングを使ってループが開いている間の積分器のワインドアップを防ぐことができます。信号のトラッキングにより、PID コントローラーが、ループの外にある間も実際のプラント入力をトラッキングし続けることができます。そうでないと、調整プロセスの終わりに制御ループを閉じる時点でシステムにバンプが生じる可能性があります。次の図のシステムでは、PID コントローラーが Simulink PID Controller ブロックであり、[トラッキングモードを有効にする] パラメーターがオンになっています。プラント入力はコントローラー ブロックのトラッキング入力に接続しています。
開ループの PID 自動調整のために構成された Simulink モデルのさらに詳しい例は、Open-Loop PID Autotuner ブロックを使用した PID コントローラーのリアルタイム調整を参照してください。
手順 2. Start/Stop 信号の構成
自動調整プロセスを開始したり停止するには、start/stop
端子で信号を使用します。実験が実行中でない場合、ブロックは信号に変更を加えずに u から u+Δu へと渡します。この状態ではブロックはプラントやコントローラーの動作に影響しません。
ブロックが start/stop
端子で立ち上がりまたは立ち下がり信号を受け取ると、周波数応答の推定実験がそれぞれ開始または終了されます。手順 1. 自動調整器のモデルへの組み込みに示されるシステムでは start/stop 信号が単純なスイッチです。モデルの実行中、このスイッチを使用して実験を開始したり終了したりできます。実験を終了すると、調整された PID ゲインがアルゴリズムによって生成され、ブロックがそれらを pid gains
端子に返します。
手動のスイッチの代わりに、特定のシミュレーション時間で実験を自動的に開始および終了するよう start/stop
信号を構成することも可能です。たとえば、2 つの Step ブロックの和を次のように使用できます。1 つの Step ブロックを実験の開始時に 0 から 1 にステップするように構成し、2 番目の Step ブロックを終了時に 1 から 0 にステップするように構成します。この 2 つの信号の合計を PID 自動調整器ブロックの start/stop
端子に渡します。
実験の開始時間と終了時間を制御するために、アプリケーションに適したその他のロジックを構成することができます。実験の開始と終了を行うタイミングの詳細については、手順 5. モデルの実行と調整実験の開始を参照してください。
手順 3. コントローラー パラメーターと調整目標の指定
PID 自動調整器ブロック内で、次のブロック パラメーターを使用して、調整する PID コントローラーの構成を指定します。
タイプ
形式
時間領域
コントローラーのサンプル時間 (秒)
積分手法
フィルター手法
その後、調整用のターゲット帯域幅と位相余裕を、それぞれ [ターゲットの帯域幅 (ラジアン/秒)] パラメーターと [ターゲットの位相余裕 (度)] パラメーターに指定します。
ラジアン/秒で指定されるターゲットの帯域幅は、調整した開ループ応答 CP の 0 dB のゲイン交差周波数のターゲット値です。ここで P はプラントの応答、C はコントローラーの応答です。この交差周波数は制御帯域幅を大まかに設定します。目的の立ち上がり時間 τ 秒に対し、ターゲット帯域幅の推定は 2/τ ラジアン/秒が適切です。
ターゲット位相余裕は、調整後のシステムに望まれるロバスト性を反映しています。通常は約 45° ~ 60° の範囲内の値を選択します。一般に、位相余裕が高いほどオーバーシュートは改善されますが、応答速度が制限される場合があります。既定値の 60° は、性能とロバスト性のバランスを取り、プラントの特性によってオーバーシュートは 5 ~ 10% になる傾向があります。
これらのパラメーターの設定の詳細については、Closed-Loop PID Autotuner ブロックまたは Open-Loop PID Autotuner ブロックのリファレンス ページを参照してください。
手順 4. 実験パラメーターの設定
周波数応答の推定実験は、ターゲット帯域幅 ωc 近傍の周波数で正弦波信号を挿入します。
Open-Loop PID Autotuner ブロックの場合は [1/3, 1, 3, 10]ωc
Closed-Loop PID Autotuner ブロックの場合は [1/10,1/3, 1, 3, 10]ωc
ブロックの [正弦波振幅] パラメーターを使用してこれらの信号の振幅を指定します。
プラントが漸近的に安定な場合、Open-Loop PID Autotuner ブロックはステップ摂動でプラントの DC ゲインを推定することができます。この摂動の振幅は [ステップ振幅] パラメーターで指定します。プラントが単一の積分器をもつ場合、[ステップ信号による DC ゲインの推定] パラメーターをオフにします。
注意
不安定なプラントには閉ループや開ループ PID 自動調整を使用しないでください。
複数の積分器をもつプラントに開ループ PID 自動調整を使用しないでください。複数の積分器をもつプラントには閉ループ PID 自動調整を使用できます。
すべての摂動振幅は以下のとおりでなければなりません。
摂動がプラント アクチュエータのすべての不感帯を克服してノイズ レベルを超える応答を生成できる程度に大きい。
定格操作点近傍のほぼ線形の領域内でプラントを実行し続け、プラントの入力または出力の飽和を回避できる程度に小さい。
実験パラメーターの設定の詳細については、Closed-Loop PID Autotuner ブロックおよび Open-Loop PID Autotuner ブロックのリファレンス ページを参照してください。
手順 5. モデルの実行と調整実験の開始
調整のための全パラメーターを構成した後、モデルを実行します。
手動の
start/stop
信号を構成した場合、プラントが定常状態に達したときに実験を開始します。特定の時間で調整プロセスを開始および終了するように
start/stop
信号を構成した場合、実験を開始するのに十分な時間シミュレーションを実行できるようにします。
手順 6. 実験の停止と調整されたゲインの確認
start/stop
信号が立ち下がると周波数応答の推定実験が終了します。
手動の
start/stop
信号を構成した場合、% conv
出力の信号が 100% 付近で安定したときに実験を終了します。特定の時間で調整プロセスを開始および終了するように
start/stop
信号を構成した場合、実験が終了するまでシミュレーションを実行するよう許可します。
いずれの場合も、実験時間の保守的な推定値は閉ループ調整の場合が 200/ωc、開ループ調整の場合が 100/ωc です。ここで ωc はターゲット帯域幅です。
実験を終了すると、ブロックは、システムおよびユーザー指定の調整目標の推定周波数応答に基づいて新しい PID ゲインを計算します。この結果が妥当であるかを調べます。たとえば、初期 PID コントローラーがある場合、調整されたゲインが初期設計のゲインとほぼ同じ振幅になると予想されることがあります。調整されたゲインを確認するには、いくつかの方法があります。
自動調整器ブロックの
pid gains
端子の出力を表示します。この出力を表示する 1 つの方法として、出力を Simulink Display ブロックに接続することができます。ブロックの [ブロック] タブで、[MATLAB にエクスポート] をクリックします。ブロックによって MATLAB® ワークスペース
OnlinePIDTuningResult
に構造体が作成されます。この構造体の内容の詳細については、Closed-Loop PID Autotuner ブロックまたは Open-Loop PID Autotuner ブロックのリファレンス ページを参照してください。
手順 7. 調整後のゲインを使用した PID コントローラーの更新
PID コントローラーが次のいずれかである場合、自動調整器ブロックは調整されたコントローラー パラメーターを PID コントローラー ブロックに直接書き込むことができます。
Simulink PID Controller ブロック。
次の条件が両方とも真であるカスタム PID コントローラー。
カスタム コントローラーがマスク サブシステムである。
PID ゲインが
P
、I
、D
、N
という名前のマスク パラメーターである (4 つのパラメーターすべてを使用する必要はありません。たとえば、カスタム PI コントローラーを使用する場合、必要なのはP
とI
のマスク パラメーターのみです)。
調整後のゲインをコントローラーに書き込むように自動調整器ブロックを構成するには、コントローラーを PID 自動調整器ブロック パラメーター内の "関連 PID ブロック" として指定します (詳細については、Closed-Loop PID Autotuner ブロックまたは Open-Loop PID Autotuner ブロックのリファレンスページを参照してください)。その後、[PID ブロックの更新] をクリックしてコントローラーを更新します。シミュレーションの実行中に PID ゲインを更新できます。これは調整された PID ゲインを直ちに検証する場合に役立ちます。
メモ
シミュレーション中はいつでも調整または実験のパラメーターを変更し、実験を再開して、新しい調整済みゲインを PID ブロックにプッシュすることができます。その後、新しいゲインでシミュレーションが続行され、プラントの動作を観察できます。
PID ゲインの手動更新
カスタム PID コントローラーが直接更新の条件を満たさない場合、手動や独自のロジックを使用するなどの別の方法で調整後のゲインをコントローラーに伝達しなければなりません。
これらのゲインを確認して独自のコントローラーに伝達する際は、PID 自動調整器ブロックにおけるこれらのゲインの意味に注意してください。離散時間の場合、ブロックは次の PID コントローラー伝達関数を仮定します。
(並列形式)、または理想形式の場合、
です。Fi(z) および Fd(z) は、それぞれ [積分手法] と [フィルター手法] の式に指定する値によって異なります。詳細については、Closed-Loop PID Autotuner ブロックまたは Open-Loop PID Autotuner ブロックのリファレンス ページを参照してください。
参考
Closed-Loop PID Autotuner | Open-Loop PID Autotuner