![]() | LabVIEW 2015ヘルプ |
![]() | LabVIEW 2016ヘルプ |
![]() | LabVIEW 2017ヘルプ |
![]() | LabVIEW 2018ヘルプ |
![]() | LabVIEW 2019ヘルプ |
ネットワーク共有シェア変数は、シェア変数エンジン(SVE)と呼ばれるソフトウェアコンポーネントを介してネットワーク上で共有されます。SVEは、LabVIEWをインストールした際にサービスとしてコンピュータにインストールされ、NI Publish-Subscribe Protocol(NI-PSP)という独自のテクノロジによりシェア変数の更新を管理します。「publish-subscribe」という言葉は、この通信モデルで書き込み側(発行者)から特定の読み取り側(サブスクライバ)にデータが送信されないことを意味します。代わりに、発行者はサーバ(この場合はSVE)に更新を送信し、サブスクライバはそれらの更新をサーバから受信します。
![]() |
メモ ファイアウォールまたはルータを介してネットワーク共有シェア変数を通信するには、ファイアウォールとネットワークアドレス変換(NAT)ルータを構成する必要があります。 |
次の図は、シェア変数ノードを使用して、SVEがNI-PSPによりシェア変数を管理する方法を示しています。
![]() |
メモ シェア変数ノードの他にも、シェア変数を読み書きするために使用できるプログラミングツールはたくさんあります。 |
この図では、以下のイベントが発生します。
![]() |
メモ ネットワークを介してシェア変数を読み書きするには、まずそのシェア変数をネットワークで使用できるようにする必要があります。 |
前の図のコンピュータ1は、アプリケーションAの変数1の書き込みとアプリケーションBの変数1の読み込みをホストしていますが、アプリケーションAはアプリケーションBに直接新しい値を書き込めません。代わりに、アプリケーションAは、コンピュータ2のSVEに要求を送信し、変数1をサブスクライブするすべてのアプリケーションを更新します。このように、これらの更新ではレイテンシが発生するため、シェア変数は最新値のみを更新する場合に最適です。データを連続的にストリーミングする場合は、ネットワークストリームを使用します。
ネットワーク上でシェア変数を読み書きするためには、それらのシェア変数をSVEにデプロイする必要があります。シェア変数をデプロイすると、LabVIEWはそのシェア変数を含むプロジェクトライブラリおよびそれに含まれるその他すべてのシェア変数をSVEデプロイします。これに対して、SVEは、そのプロジェクトライブラリに必要なメモリ領域(各シェア変数に必要なメモリ領域を含む)を作成します。
LabVIEWがNI-PSPを使用してネットワーク上で共有するデータ項目は、すべてNI-PSPデータ項目です。一般的なNI-PSPデータ項目には、次のようなものがあります。
LabVIEWでは、NI-PSPデータ項目はネットワークパスにより識別されます。ネットワークパスは、データ項目が存在するコンピュータの名前、プロセスの名前、およびデータ項目の名前で構成されます。たとえば、ネットワークパス\\computer1\mylib\myvariableは、computer1という名前のコンピュータのmylibプロジェクトライブラリにあるmyvariableという名前のシェア変数を認識します。シェア変数がmysublibという名前のサブプロジェクトライブラリに存在する場合、シェア変数のパスには\\computer1\mylib\mysublib\myvariableサブプロジェクトライブラリが含まれます。
既存のデータソースまたは制御器と表示器を使用してシェア変数を読み書きする場合は、NI-PSPデータ項目のネットワークパスを指定するか、NI-PSPデータ項目を参照します。
シェア変数エンジンは、無効なプロセス構成など、重要なエラーおよびサーバのステータスの更新を報告します。これらのエラーは、Windowsイベントビューアで表示できます。Windowsのコントロールパネルで、管理ツールディレクトリにあるイベントビューアを参照します。管理ツールディレクトリの正確な場所は、使用するWindowsのバージョンによって異なります。
役に立った
役に立たなかった