FPGA VIリファレンスをサブVIに渡すと破線となるのはなぜですか?

更新しました Dec 1, 2023

使用製品

ソフトウェア

  • LabVIEW FPGA Module

ドライバ

  • FlexRIO

問題

「FPGA VIリファレンス」のワイヤをサブVIに渡すと、以前は繋がったワイヤが破線となります。エラーメッセージは、異なるタイプの2つの端子を接続したか、異なる要素の2つのクラスターを接続したことを示しています。ソースタイプは「ユーザー定義Refnum」で、受け渡し側同様です。修正するにはどうすればよいですか?


解決策

FPGAリファレンスを使用するサブVIでは、リファレンスのタイプがFPGA VIで特定のフロントパネル構成と一致する必要があります。FPGAのフロントパネル構成を変更する場合、リファレンスタイプを変更する必要があります。これを行うには、FPGAホストリファレンスをタイプ定義にバインドして、更新がサブVIを介して伝播されるようにします。
 

フロントパネル構成が同じFPGA VIが複数ある場合、Up Cast VIを使用してより一般的なFPGAタイプを参照できます。


 


以下の手順を実行して、「FPGA VIリファレンスを開く」VIのリファレンス出力をタイプ定義にバインドします。

 

 

LabVIEW 2009以降:

  1. FPGA VIリファレンスを開くVIの場合、ホストVIのブロックダイアグラムでFPGA VIリファレンスVIを配置します。それを右クリックして、ショートカットメニューからFPGA VIリファレンスを開くを構成を選択します。
  2. 表示されるダイアログボックスで、ビットファイルまたはFPGA VIを選択します。
  3. FPGAホストリファレンスをタイプ定義にバインドチェックボックスにチェックを入れます。
  4. ファイル参照ボタンを押して、ポップアップ画面で制御ファイル(.ctl)を選択します。
  5. OKをクリックして、FPGA VIリファレンスを開くを構成ダイアログを閉じます。

 

 

LabVIEW 8.6:

  1. ホストVIのブロックダイアグラムでFPGA VIリファレンスを開くVIを右クリックし、ショートカットメニューからConfigure Open FPGA VI Referenceを選択します。表示されたダイアログボックスで、Bind FPGA host reference to type definitionを選択し、制御器(.ctl)を保存します。
  2. 制御器がプロジェクトに追加されたことを確認します。
  3. サブVIを開き、2つの新しいFPGAタイプ定義をプロジェクトからフロントパネルにドラッグし、タイプ定義の1つを制御器、もう1つを表示器にします。
  4. ブロックダイアグラムで、現在のFPGA VI Reference Inおよび FPGA VI Reference Outを各タイプ定義制御器および表示器に置き換えます。
  5. FPGA VI Reference InおよびFPGA VI Reference Outを削除します。
  6. サブVIのフロントパネルの入力端子と出力端子を新しいタイプ定義制御器および表示器に再接続します。

 

 

LabVIEW 8.5:

  1. ホストVIのブロックダイアグラムでFPGA VIリファレンスを開くVIを右クリックし、ショートカットメニューからBind to Typedefを選択します。名前を付けて保存ダイアログボックスが表示されたら、制御器を保存し、プロジェクトに追加することを選択します。
  2. サブVIを開き、2つの新しいFPGAタイプ定義をプロジェクトからフロントパネルにドラッグし、タイプ定義の1つを制御器、もう1つを表示器にします。
  3. ブロックダイアグラムで、現在のFPGA VI Reference Inおよび FPGA VI Reference Outを各タイプ定義制御器および表示器に置き換えます。
     
  4. FPGA VI Reference InおよびFPGA VI Reference Outを削除します。
  5. サブVIのフロントパネルの入力端子と出力端子を新しいタイプ定義制御器および表示器に再接続します。


LabVIEWは、FPGA VIリファレンスを開くVIまたはFPGA VIが変更されるたびに、作成したタイプ定義を自動的に更新します。 LabVIEWは、このタイプ定義を参照するサブVI内でこれらの変更を伝播します。

追加情報

再利用のためにサブVIを作成するには、ダイナミックFPGAインタフェースキャスト関数を使用して、汎用FPGAリファレンスを特定のFPGAアイテムを含むリファレンスにキャストします(下図を参照)。これは、上記の方法と密接に連携して機能し、断線エラーを軽減します。