Main Content

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

Open-Loop PID Autotuner

開ループ実験から推定されたプラントの周波数応答に基づき PID ゲインをリアルタイムで自動調整

  • ライブラリ:
  • Simulink Control Design

  • Open-Loop PID Autotuner block

説明

Open-Loop PID Autotuner ブロックでは、PID コントローラーを物理プラントに対してリアルタイムで調整することができます。ブロックは、パラメトリックなプラント モデルや初期コントローラー設計なしで指定の帯域幅と位相余裕を実現するように PID コントローラーを調整できます。Simulink® Coder™ のようなコード生成製品がある場合、ハードウェアに調整アルゴリズムを実装するコードを生成して、自動調整プロセスの管理に Simulink を使用するかどうかに関係なくリアルタイムで調整を行うことが可能です。

Simulink にプラント モデルがある場合、このブロックを使用して初期の PID 設計を得ることもできます。この方法では、コントローラーの調整をリアルタイムで行う前に、プラント応答をプレビューして PID 自動調整の設定を調節することができます。

モデルに依存しない調整を行うため、Open-Loop PID Autotuner ブロックは次を行います。

  1. 定格操作点でプラントにテスト信号を挿入し、プラントの入出力データを収集して周波数応答をリアルタイムで推定します。テスト信号は、実験の開始時に測定されたノミナル プラント入力に正弦信号とステップ摂動信号を加えたものです。プラントがフィードバック ループの一部である場合、ブロックが実験中にループを開きます。

  2. 実験の終了時、開ループ帯域幅近傍の推定したプラント周波数応答に基づいて PID コントローラー パラメーターを調整します。

  3. 調整したパラメーターで PID Controller ブロックまたはカスタム PID コントローラーを更新し、閉ループの性能をリアルタイムで検証できるようにします。

ブロックは開ループの推定実験を行うため、不安定なプラントや複数の積分器をもつプラントではこのブロックを使用しないでください。

アルゴリズムを使用するために初期の PID コントローラー設計は必要ありません。ただし、周波数応答の推定実験のためにプラントが定格操作点に達するようにする方法がなければなりません。初期コントローラー設計がある場合、Closed-Loop PID Autotuner を使用できます。閉ループと開ループの PID 自動調整の比較については、PID 自動調整を使用する場合を参照してください。

ブロックは Simulink Coder、Embedded Coder®、および Simulink PLC Coder™ でのコード生成をサポートします。HDL Coder™ でのコード生成はサポートしません。

Open-Loop PID Autotuner ブロックの使い方の詳細については、次を参照してください。

PID 自動調整の一般情報および閉ループと開ループによる方法の比較の詳細については、PID 自動調整を使用する場合を参照してください。

端子

入力

すべて展開する

システムにブロックを挿入して、この端子がソースから制御信号を受け入れるようにします。通常、この端子はシステム内の PID コントローラーから信号を受け入れます。

データ型: single | double

この端子をプラント出力に接続します。

データ型: single | double

自動調整プロセスを開始したり終了するには、start/stop 端子で信号を提供します。信号の値によって次のように処理されます。

  • 負の値またはゼロから正の値に変わると、実験が開始します。

  • 正の値から負の値またはゼロに変わると、実験が終了します。

実験が実行中でない場合、ブロックは信号に変更を加えずに u から u+Δu へと渡します。この状態ではブロックはプラントやコントローラーの動作に影響しません。

通常、0 から 1 に変わると実験を開始し、1 から 0 に変わると実験を終了する信号を使用できます。[start/stop] 信号を構成する際は、次のような点について考慮します。

  • 実験はプラントが目的の平衡操作点にあるときに開始してください。初期コントローラーを使ってプラントを操作点へと駆動します。初期コントローラーがない場合 (開ループ調整のみ)、u に接続されているソース ブロックを使用してプラントを操作点へと駆動することができます。

  • 実験中はプラントへの負荷外乱をすべて回避してください。負荷外乱によってプラント出力が歪み、周波数応答の推定の精度が低下することがあります。

  • 調査するすべての周波数で良好な推定を得るのに十分なデータをアルゴリズムが収集できるまで、実験を実行し続けます。実験を終了するタイミングを判定する方法は 2 つあります。

    • 実験の持続時間を事前に決定します。実験の持続時間の保守的な推定値は閉ループ調整の場合が 200/ωc、開ループ調整の場合が 100/ωc です。ここで ωc はターゲット帯域幅です。

    • % conv 出力で信号を観察し、信号が 100% の近くで安定した時点で実験を終了します。

  • 実験を終了すると、ブロックは調整された PID ゲインを計算して pid gains 端子で信号を更新します。

実験の開始時間と終了時間を制御するために、アプリケーションに適した任意のロジックを構成することができます。

データ型: single | double

Target bandwidth (rad/sec) パラメーターの値を指定します。詳細については、そのパラメーターを参照してください。

依存関係

この端子を有効にするには、[調整] タブの Target bandwidth (rad/sec) の横にある [外部ソースの使用] を選択します。

データ型: single | double

Target phase margin (degrees) パラメーターの値を指定します。詳細については、そのパラメーターを参照してください。

依存関係

この端子を有効にするには、[調整] タブの Target phase margin (degrees) の横にある [外部ソースの使用] を選択します。

データ型: single | double

Sine Amplitudes パラメーターの値を指定します。詳細については、そのパラメーターを参照してください。

依存関係

この端子を有効にするには、[実験] タブの Sine Amplitudes の横にある [外部ソースの使用] を選択します。

データ型: single | double

Step Amplitude パラメーターの値を指定します。詳細については、そのパラメーターを参照してください。

依存関係

この端子を有効にするには、[実験] タブの Step Amplitudes の横にある [外部ソースの使用] を選択します。

データ型: single | double

出力

すべて展開する

システムにブロックを挿入して、この端子がプラントに入力信号を送るようにします。

  • 実験の実行中 (start/stop が正)、ブロックはこの端子でプラントにテスト信号を挿入する。テスト信号は実験が開始されるときの u での値に実験の摂動を加えた値です。プラントを保護する飽和やレートの制限がある場合は、信号を u+Δu からプラントに送ります。

  • 実験が実行中でない場合 (start/stop がゼロまたは負)、ブロックは信号を変更せずに u から u+Δu に渡す。

データ型: single | double

実験が実行中である (start/stop が正である) 場合、ブロックはプラントにテスト信号を挿入し、y でプラント応答を測定します。これらの信号を使用して、調整のターゲット帯域幅近傍のいくつかの周波数でプラントの周波数応答を推定します。% conv は、プラント周波数応答の推定が完了にどれだけ近づいているかを示します。通常、この値は実験の開始後に急速に約 90% まで上がった後、徐々にこれより高い値に収束します。100% 近くで平坦になったら実験を終了します。

データ型: single | double

この 4 要素のバス信号は、調整された PID ゲイン P、I、D、およびフィルター係数 N を含みます。これらの値は、Form パラメーターで与えられた式の PID、および N パラメーターにそれぞれ対応します。初期値はそれぞれ 0、0、0、100 です。実験が終了するとブロックが値を更新します。このバス信号は、PIDF コントローラーを調整していない場合でも常に 4 つの要素をもちます。

ブロックに PID コントローラーが関連付けられている場合、実験の終了後にそのコントローラーをこれらの値で更新できます。そのためには、[ブロック] タブで [PID ブロックの更新] をクリックします。

データ型: single | double

この端子は調整後のコントローラーで得られる推定位相余裕を度数で出力します。ブロックは調整実験が終了した時点でこの値を更新します。推定位相余裕は G(jωc)C(jωc) の角度から計算されます。ここで G は推定されたプラント、C は調整済みコントローラー、ωc は交差周波数 (帯域幅) です。推定位相余裕は Target phase margin (degrees) パラメーターで指定されたターゲット位相余裕と異なる場合があります。これは調整後のシステムで得られるロバスト性と安定性を示すインジケーターです。

  • 通常、推定位相余裕はターゲットの位相余裕に近くなります。一般的にこの値が大きいほど、調整後のシステムはロバスト性が高く、オーバーシュートが少なくなります。

  • 負の位相余裕は、閉ループ システムが不安定である可能性を示しています。

依存関係

この端子を有効にするには、[調整] タブで [調整済みのコントローラーで達成される出力の推定位相余裕] を選択します。

この端子は実験によって推定された周波数応答データを出力します。初期の frd での値は [0, 0, 0, 0] です。実験中、ブロックは周波数 [1/3, 1, 3, 10]ωc で信号を挿入します。ここで ωc はターゲットの帯域幅です。実験中の各サンプル時間で、ブロックはこれらの周波数それぞれでの複素周波数応答を含むベクトルで frd を更新します。% conv の代わりに応答の進捗状況を使用して推定の収束を調査することができます。実験が停止されると、ブロックは PID ゲインの計算に使用された最終の推定周波数応答で frd を更新します。

依存関係

この端子を有効にするには、[実験] タブで [帯域幅近傍でのプラントの周波数応答] を選択します。

[実験] タブで [ステップ信号による DC ゲインの推定] を選択すると、ブロックは挿入される摂動にステップ信号を含めることによりプラントの DC ゲインを推定します。実験が終了すると、ブロックは推定された DC ゲイン値でこの端子を更新します。

依存関係

この端子を有効にするには、[実験] タブで [プラントの DC ゲイン] を選択します。

この端子は、実験開始時にプラント入力 (u+Δu) とプラント出力 (y) を含むベクトルを出力します。これらの値は、ブロックが実験を行う定格操作点における、プラントの入力と出力です。

依存関係

この端子を有効にするには、[実験] タブで [プラントのノミナル入出力] を選択します。

パラメーター

すべて展開する

[調整] タブ

システムの PID コントローラーのタイプを指定します。コントローラーのタイプは、そのコントローラーがもつ動作を示します。PID 自動調整では次のコントローラー タイプが利用可能です。

  • P — 比例のみ

  • I — 積分のみ

  • PI — 比例および積分

  • PD — 比例および微分

  • PDF —微分フィルターを使用した比例および微分

  • PID — 比例、積分、および微分

  • PIDF — 微分フィルターを使用した比例、積分、および微分

PID Controller ブロックやカスタムの PID コントローラーを調整済みのパラメーター値で更新する場合、コントローラーのタイプが一致することを確認してください。

調整可能: Yes

プログラムでの使用

ブロック パラメーター: PIDType
型: 文字ベクトル
値: 'P' | 'I' | 'PI' | 'PD' | 'PDF' | 'PID' | 'PIDF'
既定: 'PI'

コントローラーの形式を指定します。コントローラーの形式は、PID 係数 P、I、D および N の解釈を決定します。

  • 並列[並列] 形式では、離散時間の PIDF コントローラーの伝達関数は次のようになります。

    C=P+IFi(z)+D[N1+NFd(z)],

    ここで Fi(z)Fd(z) は、積分器とフィルターの式です (Integrator method および Filter method を参照)。連続時間の並列形式 PIDF コントローラーの伝達関数は次のようになります。

    C=P+I(1s)+D(Nss+N).

    他のコントローラー動作は、P、I、または D をゼロに設定することになります。

  • 理想[理想] 形式では離散時間の PIDF コントローラーの伝達関数が次のようになります。

    C=P[1+IFi(z)+D(N1+NFd(z))].

    連続時間の理想形式 PIDF コントローラーの伝達関数は次のようになります。

    C=P[1+I(1s)+D(Nss+N)].

    他のコントローラー動作は、D をゼロに設定するか、I を Inf に設定することになります (理想形式ではコントローラーが比例動作をもっていなければなりません)。

PID Controller ブロックやカスタムの PID コントローラーを調整済みのパラメーター値で更新する場合、コントローラーの形式が一致することを確認してください。

調整可能: Yes

プログラムでの使用

ブロック パラメーター: PIDForm
型: 文字ベクトル
値: 'Parallel' | 'Ideal'
既定: 'Parallel'

PID コントローラーが離散時間と連続時間のどちらのコントローラーであるかを指定します。

  • 離散時間の場合、[コントローラーのサンプル時間 (秒)] パラメーターを使って PID コントローラーのサンプル時間を指定しなければなりません。

  • 連続時間の場合、[実験のサンプル時間 (秒)] パラメーターを使って PID 自動調整実験のサンプル時間も指定しなければなりません。

プログラムでの使用

ブロック パラメーター: TimeDomain
型: 文字ベクトル
値: 'discrete-time' | 'continuous-time'
既定: 'discrete-time'

PID コントローラーのサンプル時間を秒単位で指定します。この値は、ブロックによって実行される実験のサンプル時間も設定します。

PID 調整を行うために、ブロックはターゲット帯域幅の最大 10 倍までの周波数応答情報を測定します。この周波数が必ずナイキスト周波数より小さくなるようにするには、ターゲット帯域幅 ωcωcTs ≤ 0.3, を満たさなければなりません。ここで、Ts ωc[Controller sample time (sec)] パラメーターに指定するコントローラーのサンプル時間です。

PID Controller ブロックやカスタムの PID コントローラーを調整済みのパラメーター値で更新する場合、コントローラーのサンプル時間が一致することを確認してください。

ヒント

展開されたブロックを、異なるサンプル時間を使ってアプリケーション内で実行する場合、このパラメーターを –1 に設定し、ブロックを Triggered Subsystem 内に配置します。その後、目的のサンプル時間でサブシステムをトリガーします。展開後にサンプル時間を変更する予定がない場合には、固定された有限のサンプル時間を指定してください。

依存関係

このパラメーターを有効にするには、[時間領域][discrete-time] に設定します。

プログラムでの使用

ブロック パラメーター: DiscreteTs
型: スカラー
値: 正のスカラー | –1
既定: 0.1

連続時間のコントローラーを調整する場合でも、ブロックにより実行される実験のサンプル時間を指定しなければなりません。一般に、物理プラントに対する PID 自動調整のために連続時間コントローラーを調整することはお勧めしません。プラントの Simulink モデルに対して連続時間で調整を行う場合は、0.02/ωc などの高速の実験サンプル時間を使用します。

依存関係

このパラメーターは [時間領域]continuous-time の場合に有効になります。

プログラムでの使用

ブロック パラメーター: ContinuousTs
型: 正のスカラー
既定: 0.02

コントローラーの積分項の離散積分式を指定します。離散時間の場合、ブロックで仮定される PID コントローラーの伝達関数は、

C=P+IFi(z)+D[N1+NFd(z)],

(並列形式)、または理想形式の場合、

C=P[1+IFi(z)+D(N1+NFd(z))].

コントローラーのサンプル時間 Ts について、Integrator method パラメーターは式 Fi を次のように指定します。

積分手法Fi
前進型オイラー

Tsz1

後退型オイラー

Tszz1

台形則

Ts2z+1z1

各方法の相対的な利点の詳細については、Discrete PID Controller ブロックのリファレンス ページを参照してください。

PID Controller ブロックやカスタムの PID コントローラーを調整済みのパラメーター値で更新する場合、積分手法が一致することを確認してください。

調整可能: Yes

依存関係

このパラメーターは、[時間領域]discrete-time で、コントローラーに積分動作が含まれる場合に有効になります。

プログラムでの使用

ブロック パラメーター: IntegratorFormula
型: 文字ベクトル
値: 'Forward Euler' | 'Backward Euler' | 'Trapezoidal'
既定: 'Forward Euler'

コントローラーの微分フィルター項の離散積分式を指定します。離散時間の場合、ブロックで仮定される PID コントローラーの伝達関数は、

C=P+IFi(z)+D[N1+NFd(z)],

(並列形式)、または理想形式の場合、

C=P[1+IFi(z)+D(N1+NFd(z))].

コントローラーのサンプル時間 Ts について、Filter method パラメーターは式 Fd を次のように指定します。

フィルター手法Fd
前進型オイラー

Tsz1

後退型オイラー

Tszz1

台形則

Ts2z+1z1

各方法の相対的な利点の詳細については、Discrete PID Controller ブロックのリファレンス ページを参照してください。

PID Controller ブロックやカスタムの PID コントローラーを調整済みのパラメーター値で更新する場合、フィルター手法が一致することを確認してください。

調整可能: Yes

依存関係

このパラメーターは、[時間領域]discrete-time で、コントローラーに微分フィルター項が含まれる場合に有効になります。

プログラムでの使用

ブロック パラメーター: FilterFormula
型: 文字ベクトル
値: 'Forward Euler' | 'Backward Euler' | 'Trapezoidal'
既定: 'Forward Euler'

ラジアン/秒で指定されるターゲットの帯域幅は、調整した開ループ応答 CP の 0 dB のゲイン交差周波数のターゲット値です。ここで P はプラントの応答、C はコントローラーの応答です。この交差周波数は制御帯域幅を大まかに設定します。立ち上がり時間 τ 秒に対し、ターゲット帯域幅の推定は 2/τ ラジアン/秒が適切です。

PID 調整を行うために、自動調整器ブロックはターゲット帯域幅の最大 10 倍までの周波数応答情報を測定します。この周波数が必ずナイキスト周波数より小さくなるようにするには、ターゲット帯域幅 ωcωcTs ≤ 0.3, を満たさなければなりません。ここで、Ts[コントローラーのサンプル時間 (秒)] パラメーターに指定するコントローラーのサンプル時間です。この条件のため、調整に課すことのできる最速の立ち上がり時間は約 6.67Ts です。この立ち上がり時間では設計目標が満たされない場合、Ts を減らすことを検討してください。

入力端子を介してターゲット帯域幅を提供するには、[外部ソースの使用] を選択します。

プログラムでの使用

ブロック パラメーター: Bandwidth
型: 正のスカラー
既定: 1

交差周波数での調整した開ループ応答に対するターゲットの最小位相余裕を指定します。ターゲットの位相余裕は調整したシステムの目的のロバスト性を反映しています。通常は約 45° ~ 60° の範囲内の値を選択します。一般に、位相余裕が高いほどオーバーシュートは改善されますが、応答速度が制限される場合があります。既定値の 60° は、性能とロバスト性のバランスを取り、プラントの特性によってオーバーシュートは 5 ~ 10% になる傾向があります。

入力端子を介してターゲット位相余裕を提供するには、[外部ソースの使用] を選択します。

調整可能: Yes

プログラムでの使用

ブロック パラメーター: TargetPM
型: スカラー
値: 0 ~ 90
既定: 60
[実験] タブ

調整実験中、ブロックは周波数 [1/3, 1, 3, 10]ωc でプラントに正弦波信号を挿入します。ここで ωc は調整のターゲット帯域幅です。[正弦波振幅] を使用して、これらの挿入される各信号の振幅を指定します。以下のように指定します。

  • 各周波数で同じ振幅を挿入するにはスカラー値を指定します。

  • [1/3, 1, 3, 10]ωc のそれぞれに異なる振幅を指定するには長さ 4 のベクトルを指定します。

一般的なターゲット帯域幅をもつ一般的なプラントでは、実験周波数におけるプラント応答の大きさはあまり変化しません。このような場合、スカラー値を使ってすべての周波数で同じ大きさの摂動を与えることができます。ただし、応答が周波数範囲にわたり急激に減衰することがわかっている場合には、低周波数の入力の振幅を小さくし、高周波数の入力の振幅を大きくすることを検討してください。推定実験では、すべてのプラント応答が同等の大きさだと数値的にはよくなります。

摂動振幅は以下のとおりでなければなりません。

  • 摂動がプラント アクチュエータのすべての不感帯を克服してノイズ レベルを超える応答を生成できる程度に大きい

  • 定格操作点近傍のほぼ線形の領域内でプラントを実行し続け、プラントの入力または出力の飽和を回避できる程度に小さい

実験では正弦波信号が重なっています (開ループ調整では、存在する場合はステップ摂動を含みます)。したがって、摂動は最小でもすべての振幅の和に等しい大きさをもちます。よって、振幅の適切な値を求めるには、次を考慮します。

  • アクチュエータの範囲。取り得る最大摂動がプラント アクチュエータの範囲内に必ず収まるようにします。アクチュエータが飽和状態になると、推定周波数応答に誤りが発生することがあります。

  • 調整の定格操作点での与えられたアクチュエータ入力に対するプラント応答の変化量。たとえば、エンジン速度の制御に使用される PID コントローラーを調整すると仮定します。ターゲット帯域幅付近の周波数で、スロットル角度が 1° 変化するごとにエンジン速度が約 200 rpm 変わることがわかっています。さらに、線形性能を維持するため、速度は定格操作点から 100 rpm を超えて逸脱してはならないと仮定します。この場合、摂動信号が必ず 0.5 以下になるような振幅を選択します (ただし、値はアクチュエータ範囲内にあると仮定します)。

入力端子を介して正弦波振幅を提供するには、[外部ソースの使用] を選択します。

調整可能: Yes

プログラムでの使用

ブロック パラメーター: AmpSine
型: スカラー、長さ 4 のベクトル
既定: 1

このオプションを選択すると、実験にはプラントの DC ゲインの推定が含まれます。ブロックは、プラントにステップ信号を挿入することによりこの推定を行います。

注意

プラントが単一の積分器をもつ場合はこのオプションをオフにします。複数の積分器や不安定な極をもつプラントには Open-Loop PID Autotuner ブロックを使用しないでください。

調整可能: Yes

プログラムでの使用

ブロック パラメーター: EstimateDCGain
型: 文字ベクトル
値: 'off' | 'on'
既定: 'on'

[ステップ信号による DC ゲインの推定] が選択されている場合、ブロックはプラントにステップ信号を挿入することにより DC ゲインを推定します。このパラメーターを使用して、信号の振幅を設定します。ステップ振幅の選択に関する注意事項は、[正弦波振幅] を指定する場合と同じです。

入力端子を介してステップ振幅を提供する場合、[外部ソースの使用] を選択します。

調整可能: Yes

依存関係

このパラメーターは [ステップ信号による DC ゲインの推定] が選択されている場合に有効になります。

プログラムでの使用

ブロック パラメーター: AmpStep
型: スカラー
既定: 1
[ブロック] タブ

ブロックには、リアルタイムの周波数応答推定を実行するモジュールと、結果の推定応答を使って PID ゲインを調整するモジュールの、2 つのモジュールが含まれています。既定では、ブロックを含む Simulink モデルをエクスターナル シミュレーション モードで実行すると両方のモジュールが展開されます。推定モジュールのみを展開することにより、ターゲット ハードウェアのメモリを節約できます (Simulink でのリアルタイムの PID 自動調整の制御を参照)。この場合、調整アルゴリズムはターゲット ハードウェアではなく Simulink ホスト コンピューター上で実行されます。このオプションを選択すると、展開されたアルゴリズムはオプションをオフにした場合の約 3 分の 1 のメモリを消費します。

PID ゲインの計算には周波数応答の推定よりもさらに多くの計算負荷がかかります。コントローラーのサンプル時間が高速の場合、ハードウェアによっては 1 度の実行サイクルでゲインの計算が終了しない場合もあります。したがって、計算能力の限られるハードウェアを使用する場合、このオプションをオンにすると高速なサンプル時間で PID コントローラーを調整することができます。

また、このオプションを有効にすると、調整実験が終了した時点と新しい PID ゲインが [pid gains] 出力端子に到達した時点の間で、複数のサンプリング周期の遅延が発生する可能性があります。ゲインをコントローラーにプッシュする前に、[start/stop] 信号を更新のトリガーとして使用するのではなく、最初に [pid gains] 出力端子で変更を確認します。

エクスターナル シミュレーション モードを使用せずにブロックを展開して PID 調整を実行する予定の場合、このオプションは選択しないでください。

注意

このオプションを使用する場合、数値ブロック パラメーターが生成コード内でインライン化されるのではなく、調整可能になるようにモデルを構成しなければなりません。調整可能なパラメーターを指定するには、以下を行います。

  • モデル エディター: [コンフィギュレーション パラメーター][コード生成][最適化] で、[既定のパラメーター動作][調整可能] に設定します。

  • コマンド ライン: set_param(mdl,'DefaultParameterBehavior','Tunable') を使用します。

プログラムでの使用

ブロック パラメーター: DeployTuningModule
型: 文字ベクトル
値: 'off' | 'on'
既定: 'off'

Simulink PLC Coder を使用して自動調整器ブロック用のコードを生成する場合、このパラメーターをオンにします。それ以外のすべての MathWorks® コード生成製品でコードを生成する場合、パラメーターをオフにします。

このパラメーターの選択は、Simulink PLC Coder との互換性を確保するための内部ブロックの構成のみに影響します。パラメーターは、生成されたコードに機能的な影響を与えません。

シミュレーション環境またはハードウェア要件に基づいて浮動小数点精度を指定します。

プログラムでの使用

ブロック パラメーター: BlockDataType
型: 文字ベクトル
値: 'double' | 'single'
既定: 'double'

状況によっては、自動調整器ブロックは、調整されたゲインを標準またはカスタムの PID Controller ブロックに書き込むことができます。ターゲットの PID コントローラーが自動調整器ブロックの u 端子に接続されたブロックであることを示すには、このオプションをオンにします。u に接続されていない PID コントローラーを指定するには、このオプションをオフにします。

自動調整器ブロックからの調整されたゲインをモデル内の任意の場所にある PID コントローラーに書き込むには、ターゲット ブロックが次のいずれかでなければなりません。

  • PID Controller または Discrete PID Controller ブロック。

  • PID 係数が PIDN という名前のマスク パラメーターであるか、コントローラーに存在するこれらのパラメーターの任意のサブセットであるマスク サブシステム。たとえば、カスタム PI コントローラーを使用する場合、必要なのは PI のマスク パラメーターのみです。

状況によっては、自動調整器ブロックは、調整されたゲインを標準またはカスタムの PID Controller ブロックに書き込むことができます。このパラメーターを使用して、ターゲット PID コントローラーのパスを指定します。

自動調整器ブロックからの調整されたゲインをモデル内の任意の場所にある PID コントローラーに書き込むには、ターゲット ブロックが次のいずれかでなければなりません。

  • PID Controller または Discrete PID Controller ブロック。

  • PID 係数が PIDN という名前のマスク パラメーターであるか、コントローラーに存在するこれらのパラメーターの任意のサブセットであるマスク サブシステム。

依存関係

このパラメーターは、[[PID ブロックの更新] をクリックすると、"u" 端子に接続された PID ブロックに調整済みゲインが書き込まれます] がオンの場合に有効になります。

ブロックは調整されたゲインをターゲットの PID ブロックに自動的にプッシュしません。PID Controller ブロックが Specify PID block path パラメーターの説明にある基準を満たしている場合、調整後にこのボタンをクリックして、調整されたゲインをブロックに転送します。

エクスターナル モードでの実行時も含め、シミュレーションの実行中に PID ブロックを更新できます。これは調整された PID ゲインを直ちに検証する場合に役立ちます。シミュレーション中にいつでもパラメーターを変更し、実験を再開して、新しい調整済みゲインを PID ブロックにプッシュすることができます。その後、モデルの実行を継続してプラントの動作を観察できます。

このボタンをクリックすると、ブロックによって実験と調整の結果を含む構造体が MATLAB® ワークスペースに作成されます。この構造体 OnlinePIDTuningResult には、次のフィールドがあります。

  • PIDN — 調整後の PID ゲイン。構造体にはこれらのフィールドのうち、調整対象のコントローラーのタイプに必要なものが含まれます。たとえば、PI コントローラーを調整している場合、構造体には PI が含まれますが、DN は含まれません。

  • TargetBandwidth — ブロックの [ターゲットの帯域幅 (ラジアン/秒)] パラメーターで指定した値。

  • TargetPhaseMargin —ブロックの [ターゲットの位相余裕 (度)] パラメーターで指定した値。

  • EstimatedPhaseMargin — 調整後のシステムで得られる推定位相余裕。

  • Controller — 調整後の PID コントローラー。並列型の場合は pid モデル オブジェクト、理想型の場合は pidstd モデル オブジェクトとして返されます。

  • Plant — 推定されたプラント。frd モデル オブジェクトとして返されます。この frd には実験周波数 [1/3, 1, 3, 10]ωc で得られた応答データが含まれます。

  • PlantNominal — 実験開始時の定格操作点でのプラントの入力と出力。u (入力) フィールドと y (出力) フィールドをもつ構造体として指定します。

  • PlantDCGain — 調整中に [ステップ信号による DC ゲインの推定] が選択されている場合は、システムの推定された DC ゲイン (絶対単位)。

エクスターナル モードでの実行時も含め、シミュレーションの実行中に MATLAB ワークスペースにエクスポートできます。

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。

バージョン履歴

R2017b で導入