ネットワークを介してリモートFPGAターゲットにアクセスする
- 更新日2025-03-06
- 6分で読める
「FPGA VIリファレンスを開く」関数を使用して、FPGAターゲット上で実行されているFPGA VIまたはビットファイルとネットワークを介して通信できます。ネットワークを介してFPGAターゲットにアクセスするには、以下の図に示されているように、リモートアドレスを「FPGA VIリファレンスを開く」関数のリソース名端子に配線します。
上の図では、RIOデバイス定数はリモートFPGAターゲットを指定します。FPGAターゲットプロパティダイアログボックス、または「FPGAインタフェース」VIの「FPGA VIリファレンスを開く」関数で直接リモートターゲットを指定できます。
ヒント NI Measurement & Automation Explorer(MAX)は、リモートFPGAターゲットを検出し、接続されているリモートシステムの下のデバイスとインタフェースカテゴリに表示します。
FPGAターゲットプロパティダイアログボックスでリモートFPGAターゲットを指定する
FPGAターゲットプロパティダイアログボックスでリモートFPGAターゲットを指定する場合、リモートFPGAターゲットはホストVI上のRIOデバイスI/O制御器または定数のプルダウンメニューに表示されます。
以下の手順に従って、FPGAターゲットプロパティダイアログボックスでFPGAターゲットをネットワークを介して指定します。
- FPGAターゲットのプロパティダイアログボックスを表示するには、プロジェクトエクスプローラウィンドウでFPGAターゲットを右クリックして、ショートカットメニューからプロパティを選択します。
- 一般ページのリソーステキストボックスに、以下の文字列「rio://remote_target_computer/fpga_resource_name」を入力します。ここで、remote_target_computerはコンピュータのIPアドレスまたは名前、fpga_resource_nameはアクセスするFPGAリソースの名前です。
- 「FPGA VIリファレンスを開く」関数を使用してリモートFPGAターゲットを指定します。
「FPGAインタフェース」VIでリモートFPGAターゲットを指定する
以下の手順に従って、「FPGA VIリファレンスを開く」関数がネットワークを介してFPGAターゲットにアクセスするように構成します。
- ブロックダイアグラムに「VIリファレンスを開く」関数を配置します。
- フロントパネルウィンドウに切り替えます。
- VIのフロントパネルウィンドウ上のI/OパレットにあるRIOデバイス制御器を配置します。
- 以下のいずれかの方法を使用して、リモートFPGAターゲットを指定します。
- RIOデバイス制御器の下矢印をクリックして、プルダウンメニューからリモートFPGAターゲットを選択します。このオプションを使用できるようにするには、FPGAターゲットプロパティでリモートFPGAターゲットを指定する必要があります。 ヒント プルダウンメニューから参照を選択して、ネットワーク上のリモートFPGAターゲットを検索します。
- 以下の手順に従って、リモートFPGAターゲットのアドレスを手動で入力します。
- RIOデバイス制御器を右クリックし、ショートカットメニューから検索→端子を選択します。
- ブロックダイアグラムでRIOデバイス端子を右クリックして、ショートカットメニューから定数に変更を選択します。
- RIO定数では、以下の文字列「rio://remote_target_computer/fpga_resource_name」をテキストボックスに入力します。ここで、remote_target_computerはコンピュータのIPアドレスまたは名前、fpga_resource_nameはアクセスするFPGAリソースの名前です。 ヒント RIOデバイス定数で下矢印をクリックしてショートカットからアクセスしたいターゲットを選択したり、参照を選択してネットワーク上のFPGAターゲットを検索することもできます。
- RIOデバイス制御器の下矢印をクリックして、プルダウンメニューからリモートFPGAターゲットを選択します。このオプションを使用できるようにするには、FPGAターゲットプロパティでリモートFPGAターゲットを指定する必要があります。
ネットワークを介してFPGAターゲットにアクセスする際のベストプラクティス
リモートでFPGAターゲットにアクセスする場合は、以下のガイドラインに注意してください。
- Windows上で実行中のVIがネットワーク接続経由でRIOデバイスにアクセスできる前に、ホストシステムでRIOサーバを実行する必要があります。CompactRIOコントローラなどLabVIEW Real-Timeを実行中のホストシステム上では、RIOサーバは自動的に実行します。NI PXI-7811RなどWindowsを動作しているホストシステムでは、RIOサーバを手動で起動する必要があります。WindowsオペレーティングシステムでRIOサーバを起動する情報については、ni.comで技術サポートデータベースを参照してください。
- リモートFPGAターゲットにアクセスする場合は、FPGA VIリファレンス出力端子からのワイヤを分岐することは避けてください。ワイヤが分岐された場合、LabVIEWはFPGAターゲット上で複数の操作を平行して実行することを保証できません。その代わりに、「FPGAリファレンスを開く」VIの2つのインスタンスを使用して2つの別々のリファレンスを作成します。
- NI-RIOドライバは、ネットワークを介して送信されたデータを損失しないことを保証しますが、確定性と速度については保証できません。ネットワーク上での転送速度はさまざまで、すべてのハードウェアがローカルの場合の転送速度ほど速くなりません。