LabVIEWでのデータ通信方法
- 更新日2025-08-27
- 10分で読める
LabVIEWには、用途別に特化した、多くのデータ転送方法が用意されています。アプリケーションに適したデータ転送方法を実装するために、このトピックの概要を参照してください。特定のデータ転送方法の詳細については、そのデータ転送方法のタイトル をクリックしてください。
| データ通信タイプ: | データフロー要素 | バッファインタフェース | 変数インタフェース |
|---|---|---|---|
| 使用例: | ほとんどのブロックダイアグラムオブジェクト間でデータを送信する | 値の上書きや損失を回避することが重要な場合に場所間でデータ送信する | 主な関心が最新値である、すぐにアクセス可能な値をメモリ内に保管する。 競合状態を回避するために注意して使用してください。 |
| 例: | VI出力からVI入力にデータを渡す。 | 波形を収録する。メッセージやコマンドを送信する。 | 現在の温度を監視する。システムの状態を監視する。 |
| カテゴリ: | ―配線―シフトレジスタ―フィードバックノード―チャンネルワイヤ | ―キュー―RT FIFO―ユーザイベント―非同期メッセージ通信 (AMC) リファレンスライブラリ ―ネットワークストリーム―TCP―シンプルTCPメッセージング (STM) リファレンスライブラリ ―ターゲット指定FIFO―VI定義FIFO―DRAM ―DMA FIFO ―ピアツーピア (P2P) FIFO | ―ローカル変数―グローバル変数―機能的グローバル変数 (FGV)―単一プロセスシェア変数―データ値リファレンス―現在値テーブル (CVT) ―ネットワーク共有シェア変数―プログラム的シェア変数API―Webサービス―UDP ―グローバル変数―メモリ項目―レジスタ項目 ―制御器を読み取る/書き込む―NI スキャンエンジンと変数―ユーザ定義I/O変数 |
データフロー要素
LabVIEWのデータフロープログラミングを利用するには、アプリケーション内の主なデータ通信方法として、ワイヤ、シフトレジスタ、フィードバックノード、およびチャンネルワイヤを使用する必要があります。
| 方法 | 属性 |
|---|---|
| ワイヤ |
|
| シフトレジスタ |
|
| フィードバックノード |
|
| チャンネルワイヤ |
|
バッファインタフェース
ある場所から別の場所にデータを送信しなければならないが、値を上書きしたり、失つたりしたくない場合には、バッファインタフェースを使用します。バッファインタフェースは、よくFIFO (先入れ先出し) 単一要素バッファまたは複数要素バッファとして表されます。1つまたは複数のライタがバッファの一方の端にデータを書き込み、リーダが別の片方からデータを取り出します。
ターゲットまたはPC内
| 方法 | 属性 |
|---|---|
| キュー |
|
| RT FIFO (Real-Timeモジュール) |
|
| ユーザイベント |
|
| 非同期メッセージ通信 (AMC) ライブラリ (ni.comで利用可能) |
|
ネットワーク接続
| 方法 | 属性 |
|---|---|
| ネットワークストリーム |
|
| TCP |
|
| シンプルTCPメッセージング (STM) リファレンスライブラリ (ni.comで利用可能) |
|
FPGA内
| 方法 | 属性 |
|---|---|
| ターゲット指定FIFO (FPGAモジュール) |
|
| VI定義FIFO (FPGAモジュール) |
|
| DRAM (FPGAモジュール) |
|
FPGAとホストの間
FPGAからFPGAへ
| 方法 | 属性 |
|---|---|
| ピアツーピア (P2P) FIFO (FPGAモジュール) |
変数インタフェース
リーダとライタが最小のフロー制御、または、フロー制御なしでアクセスできるメモリに値を格納する必要がある場合には、変数インタフェースを使用します。変数は、主な関心が最新値であり、前の値を上書きしてもいい場合に使用してください。 競合状態を回避するために注意して使用してください。
ターゲットまたはPC内
| 方法 | 属性 |
|---|---|
| ローカル変数 |
|
| グローバル変数 |
|
| 機能的グローバル変数 (FGV) |
|
| 単一プロセスシェア変数 |
|
| データ値リファレンス |
|
| 変数テーブル (CVT) (ni.comで利用可能) |
|
ネットワーク接続
| 方法 | 属性 |
|---|---|
| ネットワーク共有シェア変数 |
|
| プログラム的シェア変数API |
|
| Webサービス |
|
| UDP |
|
FPGA内
| 方法 | 属性 |
|---|---|
| グローバル変数 |
|
| メモリ項目 (FPGAモジュール) |
|
| レジスタ項目 (FPGAモジュール) |
|
FPGAとホストの間
| 方法 | 属性 |
|---|---|
| 制御器を読み取る/書き込む (FPGAモジュール) |
|
| NIスキャンエンジンと変数 (FPGAモジュール + ターゲットでのNIスキャンエンジンのサポート) |
|
| ユーザ定義I/O変数 (FPGAモジュール) |
|