NI CompactRIO波形リファレンスライブラリ

概要

以下のインストーラには、NI RIOハードウェアで波形データ収集を実行するホストVI、FPGAテンプレート、およびサンプルプロジェクトが含まれています。構成VIおよび集録VIにはRIOプラットフォームの最適化とベストプラクティスが組み込まれており、サンプルプログラムは簡単に変更が可能で、アプリケーション開発をすぐに始めることができます。

内容

ダウンロード

VIPMダウンロード: 
cRIO波形リファレンスライブラリはNIコミュニティから入手できます。 このツールネットワークから簡単にインストールすることができ、新しいアップデートがリリースされると、自動的に通知されます。

概要

再構成可能I/O (RIO) アプリケーションの多くは、同期された複数のNI Cシリーズモジュールから連続的なデータを集録します。このチュートリアルでは、RIOの最適化とベストプラクティスを組み込んだCompactRIOのデータ収集VIについて説明するとともに、アプリケーションの開発を始めるにあたって役立つサンプルプログラムを紹介します。

図1. 連続集録のサンプル

特長

  • VIは、一般的な集録関数を論理ブロックに組み合わせることで、様々な集録モードに対応しています。サンプルプログラムでは、連続集録、有限集録の実例を紹介します。
  • VIでは、LabVIEWの波形データタイプのデータを表示して、他の一般的なLabVIEWソフトウェアコンポーネントと簡単に統合できます。波形データタイプには、集録データにサンプリング周期、タイムスタンプ、チャンネルプロパティ (チャンネル名など) を関連付けることができます。
  • VIは、キャリブレーション操作とスケーリング操作をFPGA (Field-Programmable Gate Array) に任せることで、ホストのリソースを解放します。 
  • VIは、DMA FIFOのオーバーフロー (データバッファがあふれてデータが欠落すること)、モジュールのアンダーフロー (FPGAコードの実行に時間がかかりすぎるためにモジュールのサンプリング時間が予定より長くなること)、開始/読み取り/停止のタイムアウトなど、あらゆるエラーチェックをくまなく実行します。
  • 組み込まれている読み取り関数はポーリングアーキテクチャを使用しているため、データ収集中のCPU使用率をユーザが制御できます。
  • サンプルプログラムは柔軟性が高く、様々なハードウェアの組み合わせに対応できます。ほとんどのアプリケーションで、修正が必要なのはFPGA VIだけです。

パレット概要 (LabVIEW 2010以降)

cRIO Wfmライブラリは、vi.lib¥NIディレクトリにインストールされ、LabVIEWのアドオンパレットの下に表示されます。


図2: cRIO Wfmリファレンスライブラリパレット

サンプルプロジェクト概要

cRIO Wfm Examples.lvprojは、一般的な集録モードとホストコードをFPGAコードにリンクする方法を示しています。 このサンプルは、LabVIEW環境にサンプルプロジェクトとしてインストールされ、スタートアップウィンドウの「プロジェクトを作成」オプションから開くことができます。

このプロジェクト自体は次の場所にもあります。 

National Instruments¥LabVIEW [Version]¥ProjectTemplates¥Source¥cRIOWfm

ソースインストールの編集を回避するには、このサンプルを別のFPGAターゲットに移動し、全てのVIを「名前を付けて保存」する必要があります。 詳細は、ni.com/infoで、Info Code欄に「fpgaex」と入力してください。


図3.サンプルプロジェクトの概要

  1. Host Examplesセクションは、連続集録および有限集録の実例を示しています。
  2. FPGA Templatesセクションには、デルタシグマベースモジュールのテンプレートが1つとSARベースモジュールのテンプレートが1つあります。 FPGAターゲットの下には、DMAチャンネルと、ハードウェア構成に合わせてFPGA VIをカスタマイズする方法を説明したPDFドキュメントがあります。

サンプルプログラムアーキテクチャ

有限集録:有限集録モードは、一定数のサンプルを集録してから集録を終了するようFPGAに指示します。この集録モードでは、ConfigTiming.viBufferConfig.viを呼び出し、ホストアプリケーションのデータバッファを有限集録のポイント数と同じサイズに設定します。

サブセット読み取りを伴う有限集録:ここでも、有限集録はチャンネルごとに要求されるサンプルをすべて保持できる十分なメモリを割り当てます。Read(poly).viにはSamps Read per Chanという名前の制御器があり、これを利用して各呼び出しで返されるブロックサイズを指定できます。 このため複数のサブセットで有限集録を読み取ることができ、多くの処理アプリケーションで役に立ちます。 

リアームソフトウェア開始トリガ装備の有限集録:有限集録が終了すると、FPGAが自動的に次の集録に備えてリアーム (トリガを待つ状態になること) します。Start.viを呼び出すだけで、次の有限集録を実行することができます。

連続集録:連続集録モードは、停止コマンドが送信されるまで、またはエラー (FIFOオーバーフロー、モジュールアンダーフローなど) が発生するまで無限にポイントを集録するようFPGAに指示します。この集録モードでは、 BufferCfg.viを使用して、明示的にホストアプリケーションのデータバッファサイズを読み取りサイズの数倍に設定します。サンプルプログラムではデフォルトでサイズを10倍にしています。ホストアプリケーションのデータバッファがいっぱいになると、FPGAでFIFOオーバーフローが発生して集録は停止します。

開始/停止/一時停止機能装備の連続集録:ホストコントローラ上で利用可能なメモリ量に対して有限集録が大きすぎる場合は、ステートマシンを使って、期間を限定して連続集録を実行します。Stop.viを呼び出すと、FPGAはただちに集録を停止し、リアームしてStart.viガ呼び出されるまで待機します。以降の集録で古いデータが返されないようにするため、停止VIはホストのデータバッファの一括消去も行います。

連続集録ベンチマーク

以下の一覧に示す各コントローラで、CompactRIOの連続集録サンプルプログラムで連続的にデータを集録し、ローカルのテクニカルデータ管理ストリーミング (TDMS) ファイル、ローカルのバイナリファイル、またはTCP/IPを介してリモートホストへストリーミングしました。帯域幅の値は、無限に (またはハードドライブがいっぱいになるまで) ストリーミング可能なデータの量を表しています。

ディスクへのストリーミング [TDMS]: サンプリングレート= 51.2 kS/s

コントローラ1D Wfm SGL2D配列SGLインタリーブSGL
NI 90746チャンネル (1.23 MB/s)7チャンネル (1.43 MB/s)8チャンネル (1.64 MB/s)
NI 90688チャンネル (1.64 MB/s)8チャンネル (1.64 MB/s)9チャンネル (1.84 MB/s)
NI 90148チャンネル (1.64 MB/s)10チャンネル (2.05 MB/s)13チャンネル (2.66 MB/s)
NI 90769チャンネル (1.84 MB/s)12チャンネル (2.45 MB/s)15チャンネル (3.07 MB/s)
NI 902210チャンネル (2.05 MB/s)13チャンネル (2.66 MB/s)19チャンネル (3.89 MB/s)
NI 902415チャンネル (3.07 MB/s)19チャンネル (3.89 MB/s)27チャンネル (5.53 MB/s)

ディスクへのストリーミング [Binary]: サンプリングレート= 51.2 kS/s

コントローラインタリーブSGL
NI 90748チャンネル (1.64 MB/s)
NI 90689チャンネル (1.84 MB/s)
NI 901418チャンネル (3.69 MB/s)
NI 907620チャンネル (4.10 MB/s)
NI 902225チャンネル (5.12 MB/s)
NI 902436チャンネル (7.37 MB/s)

TCP/IP上のストリーミング:サンプリングレート= 51.2 kS/s

2D配列 SGL
コントローラ1D Wfm SGL2D配列SGLインタリーブSGL
NI 907412チャンネル (2.46 MB/s)13チャンネル (2.66 MB/s)18チャンネル (3.69 MB/s)
NI 901412チャンネル (2.46 MB/s)14チャンネル (2.87 MB/s)23チャンネル (4.71 MB/s)
NI 902216チャンネル (3.28 MB/s)20チャンネル (4.10 MB/s)35チャンネル (7.17 MB/s)
NI 902429チャンネル (5.94 MB/s)32チャンネル (6.55 MB/s)45チャンネル (9.22 MB/s)
NI 906840チャンネル (8.19 MB/s)40チャンネル (8.19 MB/s)45チャンネル (9.22 MB/s)

  

追加資料

ディスカッションフィードバック

このリファレンスアプリケーションはNI Systems Engineeringグループによって作成されました。 

フィードバックがございましたら、CompactRIO波形リファレンスアプリケーションのディスカッションフォーラムにお送りください。

Was this information helpful?

Yes

No