PID
- 更新日2025-01-28
- 7分で読める
FPGAターゲットに高速制御または多チャンネルカウント、またはその両方をもつPIDアプリケーションに単精度浮動小数点PIDアルゴリズムを実装します。このVIを使用して、単一チャンネル、複数チャンネル、およびマルチレート制御アプリケーションを作成できます。
PIDアルゴリズムは制御動作範囲機能を持ち、積分器アンチワインドアップ計算を使用して、過渡状態間での積分動作の影響を制限します。PIDアルゴリズムは、PIDゲイン変更時のバンプレス制御出力機能も備えています。

入力/出力
チャンネル (0)
—
チャンネルには、このVIが処理するチャンネルを指定します。有効値の範囲は [0, 255]です。デフォルトは0です。
リセット? (F)
—
リセット?は、指定するチャンネルの内部状態をリセットするかどうか指定します。デフォルトはFALSEです。
目標値
—
目標値には、取得するプロセス変数の値を指定します。PIDコントローラを定義する式で、「SP」は目標値を表します。
プロセス変数
—
プロセス変数には、制御する変数の値を指定します。PIDコントローラを定義する式で、「PV」はプロセス変数を表します。
手動制御
—
手動制御には、制御モードおよび手動制御モードの制御器の出力値を指定します。
ゲイン
—
ゲインには、PIゲインパラメータを指定します。ゲインには単位がありません。
出力レンジ
—
出力範囲には、制御器の出力値の範囲を指定します。制御器の出力値が出力範囲の範囲外の場合、このVIは値を範囲内に強制変換し、強制変換した値を制御器の出力値として返します。このVIは、指定された最小値または最大値で制御出力が飽和したときに、積分器アンチワインドアップを実装します。
比例加重 (1)
—
比例加重には、目標値トラッキングの妨害拒否への相対強調を指定します。有効値の範囲は [0, 1]です。デフォルトは、ほとんどのアプリケーションで適切な1です。PIDコントローラを定義する式で、「ベータ」は比例加重を表します。
出力
—
出力は、PIDアルゴリズムの制御出力値を返します。
エラー
—
誤差は、目標値とプロセス変数の差を返します。
動作
—
動作は、PIアルゴリズムの比例動作と積分動作の値を返します。
|
この「PID」VIは、次の式に従って、出力、u (k)を計算します。
ここで、
Kp=比例ゲインKi = 積分ゲインKd =微分ゲインa= フィルタ係数SP = 目標値beta= 比例加重PV= プロセス変数ガンマ =微分加重サンプルプログラム
LabVIEW FPGAモジュールに含まれている以下のサンプルファイルを参照してください。
- labview\examples\CompactRIO\FPGA Fundamentals\FPGA Math and Analysis\Floating-point PID\Multi-Channel PID\Multi-Channel PID.lvproj
- labview\examples\CompactRIO\FPGA Fundamentals\FPGA Math and Analysis\Floating-point PID\Multi-Rate PID\Multi-Rate PID.lvproj
- labview\examples\R Series\FPGA Fundamentals\FPGA Math and Analysis\Floating-point PID\Multi-Channel PID\Multi-Channel PID.lvproj
- labview\examples\R Series\FPGA Fundamentals\FPGA Math and Analysis\Floating-point PID\Multi-Rate PID\Multi-Rate PID.lvproj
チャンネル (0)
—
リセット? (F)
—
目標値
—
手動制御
—
ゲイン
—
出力
—
動作
—