FPGAターゲットに高速制御または多チャンネルカウント、またはその両方をもつPIDアプリケーションに単精度浮動小数点PIDアルゴリズムを実装します。このVIを使用して、単一チャンネル、複数チャンネル、およびマルチレート制御アプリケーションを作成できます。

PIDアルゴリズムは制御動作範囲機能を持ち、積分器アンチワインドアップ計算を使用して、過渡状態間での積分動作の影響を制限します。PIDアルゴリズムは、PIDゲイン変更時のバンプレス制御出力機能も備えています。


icon

入力/出力

  • cu8.png チャンネル (0)

    チャンネルには、このVIが処理するチャンネルを指定します。有効値の範囲は [0, 255]です。デフォルトは0です。

  • cbool.png リセット? (F)

    リセット?は、指定するチャンネルの内部状態をリセットするかどうか指定します。デフォルトはFALSEです。

  • csgl.png セットポイント

    目標値には、取得するプロセス変数の値を指定します。PIDコントローラを定義する式で、<em/>「SP」は目標値を表します。

  • csgl.png プロセス変数

    プロセス変数には、制御する変数の値を指定します。PIDコントローラを定義する式で、<em/>「PV」はプロセス変数を表します。

  • ccclst.png 手動制御

    手動制御には、制御モードおよび手動制御モードの制御器の出力値を指定します。

  • cbool.png 手動? (F)

    手動?には、自動制御と手動制御のどちらを使用するかを指定します。デフォルトはFALSEで、自動制御モードの使用を指定します。

  • csgl.png 手動入力 (0)

    手動入力には、手動制御モードの制御器の出力値を指定します。デフォルトは0です。

  • cnclst.png ゲイン

    ゲインには、コントローラの比例ゲイン、積分ゲイン、微分ゲイン、およびフィルタ係数パラメータを指定します。比例ゲイン、積分ゲイン、および微分ゲインは正規化されます。

    を使用します。「PIDゲイン を変換」VIは、PIDゲインを ゲイン に必要な形式に変換します。

  • csgl.png 比例ゲイン

    比例ゲインには、コントローラの正規化された比例ゲインを指定します。PIDコントローラを定義する式で、Kp比例ゲインを表します。

  • csgl.png 積分ゲイン

    積分ゲインには、コントローラの正規化された積分ゲインを指定します。PIDコントローラを定義する式で、Ki積分ゲインを表します。

  • csgl.png 微分ゲイン

    微分ゲインには、コントローラの正規化された微分ゲインを指定します。PIDコントローラを定義する式で、Kd微分ゲインを表します。

  • csgl.png フィルタ係数

    フィルタ係数には、コントローラの微分ローパスフィルタ係数を指定します。有効値の範囲は [0, 1]です。フィルタ係数の値を増やすと、微分動作のダンピングが増えます。PIDコントローラを定義する式で、aフィルタ係数を表します。

  • cnclst.png 出力レンジ

    出力範囲には、制御器の出力値の範囲を指定します。制御器の出力値が出力範囲の範囲外の場合、このVIは値を範囲内に強制変換し、強制変換した値を制御器の出力値として返します。このVIは、指定された最小値または最大値で制御出力が飽和したときに、積分器アンチワインドアップを実装します。

  • csgl.png 出力HIGH (Inf)

    出力上限には、制御器の最大出力値を指定します。デフォルトはInfです。

  • csgl.png 出力LOW (-Inf)

    出力下限には、制御器の最小出力値を指定します。デフォルトは-Infです。

  • cnclst.png 目標値加重

    目標値加重には、コントローラの誤差値に適用される修正を指定します。目標値加重は、比例動作と微分動作を調節します。

  • csgl.png 比例加重 (1)

    比例加重には、目標値トラッキングの妨害拒否への相対強調を指定します。有効値の範囲は [0, 1]です。デフォルトは、ほとんどのアプリケーションで適切な1です。PIDコントローラを定義する式で、<em/>「ベータ」は比例加重を表します。

  • csgl.png 微分加重 (0)

    微分加重には、微分動作に適用される誤差を加重する量を指定します。デフォルトは0で、微分キックを回避します。有効値の範囲は [0, 1]です。PIDコントローラを定義する式で、<em/>「ガンマ」は微分加重を表します。

  • isgl.png 出力

    出力は、PIDアルゴリズムの制御出力値を返します。

  • isgl.png エラー

    誤差は、目標値プロセス変数の差を返します。

  • inclst.png 動作

    動作は、PIDアルゴリズムの比例動作、積分動作、および微分動作の値を返します。

  • isgl.png 比例動作

    比例動作は比例動作の値を返します。

  • isgl.png 積分動作

    積分動作は積分動作の値を返します。

  • isgl.png 微分動作

    微分動作は微分動作の値を返します。

  • この「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