メモ 本コンテンツの日本語版は、便宜を図るために自動翻訳で提供されています。正確な最新情報については、英語版をご覧ください。

シャーシがFPGAインタフェースプログラミングモードである場合やスキャンインタフェースプログラミングモードをサポートしていない場合でも、サポートされている個々のモジュールについてはスキャンインタフェースを使用できる場合があります。まず、シャーシのモジュールを検出して、コンパイル済みビットファイルをシャーシにダウンロードする必要があります。NI 951xなどの高速インタフェースが必要なモジュールを使用する場合も、コンパイル済みビットファイルのダウンロードが必要となる可能性があります。FPGAのビットファイルをコンパイルするにはLabVIEW FPGAモジュールがインストールされている必要があります。

プロジェクトの設定、モジュールの検出、シャーシへのビットファイルのダウンロードが完了したら、FPGAインタフェースプログラミングモードではFPGAターゲット配下のモジュールを使用し、スキャンインタフェースプログラミングモードではReal-Timeスキャンリソース項目配下のモジュールを使用します。

LabVIEW Real-TimeモジュールおよびLabVIEW FPGAモジュールの両方がインストールされている場合、ユーザ定義I/O変数を作成して、FPGA VIとRT VI間でカスタムI/Oデータを転送できます。また、FPGA VIとRT VIのコード実行を同期することも可能です。
メモ シャーシがFPGAインタフェースプログラミングモードの場合は、Real-Timeスキャンリソース項目の下にあるモジュールを使用する前に、必ず「FPGA VIリファレンスを開く」関数を使用して、コンパイル済みビットファイルをFPGAにダウンロードする必要があります。それらのモジュールにアクセスするには、このビットファイルがFPGAで実行されていなければなりません。
ヒント  「FPGA VIリファレンスを開く」関数の実行完了から、Real-Timeスキャンリソース項目下のユーザ定義変数やモジュールが有効なデータを返すまでには、短時間の遅延が生じます。VIにユーザ定義変数がある場合、「FPGA VIリファレンスを開く」関数を実行して、エラーが返らなくなるまでループで変数を読み取ります。
メモ  シャーシがFPGAインタフェースプログラミングモードの場合、スキャンインタフェースを使用すると2つのDMA FIFOが予約されてFPGA領域の一部が占有されるため、スキャンインタフェースプログラミングモードのモジュールが存在しない場合と比べてコンパイル時間が長くなります。
メモ  モジュールがReal-Timeスキャンリソース項目の下にある場合は、FPGAターゲットのスリープチャネルに書き込むことはできません。

LabVIEWプロジェクトを作成する

メモ 本コンテンツの日本語版は、便宜を図るために自動翻訳で提供されています。正確な最新情報については、英語版をご覧ください。

以下の手順に従ってLabVIEWプロジェクトを設定します。

  1. システムを構成します。
  2. スキャンインタフェースモードで実行するCシリーズモジュールをReal-Timeスキャンリソース項目の下にドラッグアンドドロップします。FPGAのコードで使用するモジュールはFPGAターゲットの下に残しておきます。

LabVIEWプロジェクトエクスプローラウィンドウは、以下の図のようになります。

  1. スキャンインタフェースプログラミングモードのモジュール
  2. FPGAインタフェースプログラミングモードのモジュール

ビットファイルをダウンロードする

メモ 本コンテンツの日本語版は、便宜を図るために自動翻訳で提供されています。正確な最新情報については、英語版をご覧ください。

以下の手順に従って、ビットファイルをコンパイルしてシャーシにダウンロードします。

  1. FPGAターゲットの下に新規VIを作成し、プロジェクトファイルと一緒に保存します。RT VIからこのFPGA VIを使用して、モジュールのビットファイルをシャーシにダウンロードします。
  2. FPGA VIを右クリックして、ショートカットメニューからビルド仕様を作成を選択します。ビルド仕様の下でサンプルFPGA VIの新規ビルド仕様を右クリックし、ビルドを選択して、ビルドが完了するまで待機します。
  3. RTターゲットの下に新規VIを作成し、プロジェクトファイルと一緒に保存します。
  4. 新規RT VIのブロックダイアグラムに「FPGA VIリファレンスを開く」関数を追加します。
  5. FPGA VIリファレンスを開く」関数を右クリックし、ショートカットメニューから「FPGA VIリファレンスを開く」を構成を選択して、「FPGA VIリファレンスを開く」を構成ダイアログボックスを開きます。
  6. 手順1で作成したFPGA VIを選択し、FPGA VIを実行チェックボックスがオンになっていることを確認し、OKをクリックしてダイアログボックスを閉じます。
  7. RT VTで実行するコードを「FPGA VIリファレンスを開く」関数の右側のブロックダイアグラム上に配置します。タイミングループまたはWhileループなどのストラクチャでコードを囲みます。
  8. コードを囲んでいるストラクチャの右側のブロックダイアグラムに「FPGA VIリファレンスを閉じる」関数を追加します。
  9. コードを囲んでいるストラクチャを通じて、「FPGA VIリファレンスを開く」関数を「FPGA VIリファレンスを閉じる」関数に接続します。
  10. RT VIを実行します。

LabVIEWプロジェクトエクスプローラウィンドウは、以下の図のようになります。

  1. スキャンインタフェースモードのモジュール 
  2. FPGAインタフェースモードのモジュール 
  3. ビットファイルをダウンロードするFPGA VI 
  4. ビットファイルをダウンロードするRT VI  
メモ   このサンプルプログラムの手順にあるFPGA VIは、FPGAの符号を装備していません。このFPGA VIは、モジュールのビットファイルをシャーシへダウンロードすることのみを目的としています。モジュールのビットファイルは、シャーシ内のすべてのモジュールのタイプとスロット位置を指定します。アプリケーションで実行するLabVIEW FPGAのコードがある場合、それをFPGA VIに追加します。RT VIのコンパイルおよび実行時に、モジュールのビットファイルとすべてのFPGAのコードがシャーシにダウンロードされます。