FPGAターゲットでPIDを使用する
- 更新日2023-02-21
- 5分で読める
「PID (FPGA)」Express VIを使用して、LabVIEW FPGAターゲットに単一チャンネルまたは複数チャンネルのPIDを実装することができます。「PID (FPGA)」Express VIは、固定小数点PIDアルゴリズムを実装します。VIが使用するアルゴリズムの詳細については、VIトピックを参照してください。
![]() |
メモ 「PID (FPGA)」Express VIは、LabVIEW FPGAモジュールをインストールした場合にのみ使用できます。 |
FPGAターゲットにシングルチャンネルPIDを実装する
「PID (FPGA)」Express VIを単一チャンネル実装用に構成するには、構成ダイアログボックスのチャンネル数制御器に1を入力します。単一チャンネル実装の場合、ホストVIのPIDパラメータを変更すると、それがFPGAターゲットに直ちに反映されます。
(NI-RIO) NI-RIOソフトウェアをインストールしてある場合、FPGAターゲットにシングルチャンネルPIDを実装したサンプル(labview\examples\CompactRIO\FPGA Fundamentals\FPGA Math and Analysis\PID ToolkitディレクトリにあるUsing Discrete PID - cRIOプロジェクト)を参照してください。
サンプルを開く
関連サンプルを検索
(NI-RIO) NI-RIOソフトウェアをインストールしてある場合、FPGAターゲットにシングルチャンネルPIDを実装したサンプル(labview\examples\R Series\FPGA Fundamentals\FPGA Math and Analysis\PID ToolkitディレクトリにあるUsing Discrete PID - Rシリーズプロジェクト)も参照してください。
サンプルを開く
関連サンプルを検索
FPGAターゲットに複数チャンネルPIDを実装する
「PID (FPGA)」Express VIを複数チャンネル実装用に構成するには、構成ダイアログボックスのチャンネル数制御器に1より大きな数を入力します。各チャンネルの値を処理するために、ホストVIに初期化ループと処理ループを含めることができ、これを使用してパラメータを変更したり、チャネルをリセットすることができます。
ホストVI上の初期化ループ
「PID (FPGA)」Express VIの構成ダイアログボックスに入力した最初のパラメータ値が全チャンネルの初期値として設定されます。個々のチャンネルに固有の値を指定するには、ホストVI上に初期化ループを作成する必要があります。
初期化ループ内で一部のチャンネルのパラメータを変更し、他のチャンネルでは構成ダイアログボックスで指定した初期値を保持することができます。以下のブロックダイアグラムでは、初期化ループは全チャンネルのパラメータを初期化します。
![]() |
メモ 以下のブロックダイアグラムには、FPGAターゲットドライバソフトウェアまたはLabVIEW FPGAモジュールをインストールした場合にのみ使用できる関数が一部含まれています。 |

ホストVI上の処理ループ
PIDパラメータの初期化後、FPGAターゲットでVIを実行中に、他のチャンネルの実行に影響を与えずにパラメータを変更したり、個別チャンネルをリセットしたい場合があります。FPGA VIの実行中に、パラメータを変更したり、非同期でチャンネルをリセットするには、ホストVI上に処理ループを作成します。
PIDチャンネルをリセットすると、内部チャンネルの状態が0にリセットされ、メモリに格納されているパラメータ値またはホストVIからのパラメータ値を使用してPIDアルゴリズムが再起動されます。個々のパラメータを変更するには、チャンネル指標を指定する必要があります。これにより、新しいパラメータの値を適用するチャンネル番号をPIDアルゴリズムに伝えます。以下のブロックダイアグラムは、処理ループのサンプルを示しています。
![]() |
メモ 以下のブロックダイアグラムには、FPGAターゲットドライバソフトウェアまたはLabVIEW FPGAモジュールをインストールした場合にのみ使用できる関数が一部含まれています。 |

