PID進み/遅れ VI
- 更新日2023-02-21
- 8分で読める
PID進み/遅れ VI
1つ上のパレット: PID VI
インストールパッケージ: 開発システム
進み/遅れ機能付きのPIDコントローラを実装します。進み/遅れ機能は、通常、フィードフォワード制御スキームでダイナミック補償器として使用されます。このVIは位置アルゴリズムを使用して、真の指数的進み/遅れを近似します。単一の制御ループを実装するには、このVIのDBLインスタンスを使用します。並列マルチループ制御を実装するには、DBL配列インスタンスを使用してください。
ブロックダイアグラムに追加 |
パレットで検索 |
PID進み/遅れ(DBL)

![]() |
入力には入力値を指定します。 | ||||||
![]() |
チューニングパラメータには、チューニングパラメータを指定します。
| ||||||
![]() |
出力範囲には、制御出力を強制する範囲を指定します。デフォルト範囲は–100から100で、フルスケールのパーセントで指定した値に対応します。 この範囲は、制御システムに合わせて変更できます。たとえば、パーセントからパーセントではなく、工学単位から工学単位に関連付けることができます。このVIは、指定された最小値または最大値でコントローラ出力が飽和したときに、積分器アンチワインドアップを実装します。
| ||||||
![]() |
dt (s)には、このVIが呼び出されるループサイクル時間または間隔を秒数で指定します。dt (s)がゼロ以下の場合、このVIは、分解能1 msの内蔵タイマーを使用して、前回呼び出し以降の時間を計算します。dt (s)が1 ms未満である必要がある場合は、値を明示的に指定してください。デフォルトは-1です。 | ||||||
![]() |
再初期化?には、現在の入力値への出力を再初期化するかどうかを指定します。 | ||||||
![]() |
出力は、制御するプロセスに適用するPIDアルゴリズムの制御出力を返します。 | ||||||
![]() |
dt出力(s)は、実際の時間間隔(秒)を返します。dt出力(s)は、dt (s)の値、または計算された間隔(dt (s)を–1に設定した場合)を返します。 |
PID進み/遅れ(DBL配列)

![]() |
入力には入力値を指定します。 | ||||||
![]() |
チューニングパラメータには、チューニングパラメータを指定します。
| ||||||
![]() |
出力範囲には、制御出力を強制する範囲を指定します。デフォルト範囲は–100から100で、フルスケールのパーセントで指定した値に対応します。 この範囲は、制御システムに合わせて変更できます。たとえば、パーセントからパーセントではなく、工学単位から工学単位に関連付けることができます。このVIは、指定された最小値または最大値でコントローラ出力が飽和したときに、積分器アンチワインドアップを実装します。
| ||||||
![]() |
dt (s)には、このVIが呼び出されるループサイクル時間または間隔を秒数で指定します。dt (s)がゼロ以下の場合、このVIは、分解能1 msの内蔵タイマーを使用して、前回呼び出し以降の時間を計算します。dt (s)が1 ms未満である必要がある場合は、値を明示的に指定してください。デフォルトは-1です。 | ||||||
![]() |
再初期化?には、現在の入力値への出力を再初期化するかどうかを指定します。 | ||||||
![]() |
出力は、制御するプロセスに適用するPIDアルゴリズムの制御出力を返します。このVIは、入力配列のサイズを元に出力の長さを決定します。 | ||||||
![]() |
dt出力(s)は、実際の時間間隔(秒)を返します。dt出力(s)は、dt (s)の値、または計算された間隔(dt (s)を–1に設定した場合)を返します。 |
PID進み/遅れの詳細
この多態性VIのDBL配列インスタンスは、マルチループPID制御アプリケーションで使用することができます。この場合、入力により、出力配列の長さが決まります。他の入力配列は、必ずしも入力と同じ長さである必要はありません。このVIは、以下のように他の入力配列を入力と同じ長さに変更します。
- 入力配列が入力よりも長い場合、入力配列は入力の長さで切り捨てられます。配列内の追加値は使用されません。
- 入力配列が入力よりも短い場合は、サイズが入力のサイズに一致するまで、入力配列の最後の値が繰り返されます。
こうすることで、各出力計算に使用する必要がある入力を、このVIに渡す配列で繰り返し指定する必要がなくなります。その代わりに、各出力計算に使用する単一値を配列に含めることができます。
サンプル
PID進み/遅れVIの使用サンプルは、labview\examples\control\PIDディレクトリにあるSimulation - Cascade and Feedforward Surge Tank Level VIで参照できます。
サンプルを開く
関連サンプルを検索
ブロックダイアグラムに追加




