![]() | LabVIEW 2016ヘルプ |
![]() | LabVIEW 2017ヘルプ |
![]() | LabVIEW 2018ヘルプ |
![]() | LabVIEW 2019ヘルプ |
![]() | LabVIEW 2020ヘルプ |
データストリーミングとコマンド送信は、2つのLabVIEWアプリケーション間でデータを送信するための通信モデルです。これらのタスクを実行するにはネットワークストリームを使用します。ネットワークストリームは、書き込み/読み取りエンドポイントで構成されるロスレスで単方向の1対1通信チャンネルです。ネットワークストリーム関数とネットワークストリームエンドポイントプロパティを使用して、ネットワークストリームを使ったアプリケーションを設計します。
![]() |
メモ ネットワークストリームは、Windowsおよびリアルタイムシステムでのみ使用できます。 |
ネットワークストリームでは、LabVIEWクラスおよびrefnum以外のすべてのLabVIEWデータタイプを転送できます。ネットワークストリームで転送できるrefnumは、Vision画像データタイプのみです。以下のデータタイプは最も高速なレートで転送できます。
以下の図は、データを転送するためにネットワークを構成するいくつかの方法を示しています。
上記の図では、異なるコンピュータにある2つのアプリケーション間で、データがネットワークストリームにより転送されます。
上記の図では、アプリケーションビルドとウェブサービスの間で、データがネットワークストリームにより転送されます。
![]() |
メモ ネットワークストリーミングでは、ネットワーク通信を促進するために、非ネットワークデータ転送よりも多くのオーバーヘッドが必要とされます。1つのアプリケーション内のループ間でデータを転送するには、以下の方法の使用が推奨されます。
|
上記の図では、1つのコンピュータにある1つのアプリケーションともう1台のコンピュータにある2つのアプリケーションの間で、データがネットワークストリームにより転送されます。
上記の図では、1つのコンピュータにある1つのアプリケーションと別々のコンピュータにある2つのアプリケーションの間で、データがネットワークストリームにより転送されます。
各エンドポイントでは、データ転送にFIFOバッファが使用されます。ネットワークストリームエンジン(NSE)は、LogosXTを使用して、書き込みエンドポイントのFIFOバッファから読み取りエンドポイントのFIFOバッファにデータを転送します。
以下の図は、ネットワークストリーム内のデータフローを示してします。
上記の図のデータフローの順序は以下のとおりです。
データセットの最新値を多数のコンピュータへパブリッシュするには、シェア変数を使用します。一方、1つのコンピュータのデータのすべてのポイントをログするには、ネットワークストリームを使用します。
たとえば、パイプラインで天然ガスを再圧縮するポンプの振動を検出するために加速度計を使用しているとします。CompactRIOターゲットで振動データを処理して、ポンプが必ず正常に動作するようベアリングの故障を監視しているとします。しかし、CompactRIOターゲットにはデータ解析を行うために十分なメモリがありません。このような場合は、データの保存、解析、表示をするために十分なメモリを搭載したデスクトップコンピュータにデータを送信する必要があります。
シェア変数はデータの最新値をパブリッシュするよう設計されているため、重要なデータポイントを失う可能性があります。一方、ネットワークストリームはデータのすべてのポイントをデスクトップコンピュータにストリーミングするため、エンジンの状態を監視できます。
![]() |
メモ ネットワークストリームでは、リアルタイム(RT)タイムクリティカルループでジッタが発生する可能性があります。したがって、タイムクリティカルループからネットワークストリームでデータをストリーミングする場合は、まず優先度の低いループでデータを共有することをお勧めします。その後、ネットワークストリームで別のアプリケーションにデータをストリームします。 |
役に立った
役に立たなかった