From 09:00 PM Friday, August 7 - 10:30 AM CST Saturday, August 8, ni.com will be undergoing system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

シェア変数技術を理解する



LabVIEW 2018ヘルプ


発行年月: 2018年3月
製品番号: 371361R-0112
製品情報を参照

ダウンロード (Windowsのみ)


LabVIEW 2016ヘルプ
LabVIEW 2017ヘルプ
LabVIEW 2018ヘルプ
LabVIEW 2019ヘルプ
LabVIEW 2020ヘルプ

ネットワーク共有シェア変数は、シェア変数エンジン(SVE)と呼ばれるソフトウェアコンポーネントを介してネットワーク上で共有されます。SVEは、LabVIEWをインストールした際にサービスとしてコンピュータにインストールされ、NI Publish-Subscribe Protocol(NI-PSP)という独自のテクノロジによりシェア変数の更新を管理します。「publish-subscribe」という言葉は、この通信モデルで書き込み側(発行者)から特定の読み取り側(サブスクライバ)にデータが送信されないことを意味します。代わりに、発行者はサーバ(この場合はSVE)に更新を送信し、サブスクライバはそれらの更新をサーバから受信します。

メモ  ファイアウォールまたはルータを介してネットワーク共有シェア変数を通信するには、ファイアウォールとネットワークアドレス変換(NAT)ルータを構成する必要があります。

次の図は、シェア変数ノードを使用して、SVEがNI-PSPによりシェア変数を管理する方法を示しています。

メモ  シェア変数ノードの他にも、シェア変数を読み書きするために使用できるプログラミングツールはたくさんあります。

この図では、以下のイベントが発生します。

  1. アプリケーションAでは、「乱数(0-1)」関数は、変数1に対応するシェア変数ノードに乱数を書き込みます。
    メモ  ネットワークを介してシェア変数を読み書きするには、まずそのシェア変数をネットワークで使用できるようにする必要があります。
  2. アプリケーションAのシェア変数ノードが、変数1の値を更新するようにSVEに要求を送信します。
  3. SVEは要求を受諾し、新しい値をアプリケーションBおよびCで変数1に対応するシェア変数ノードに新しい値を送信します。

前の図のコンピュータ1は、アプリケーションAの変数1の書き込みとアプリケーションBの変数1の読み込みをホストしていますが、アプリケーションAはアプリケーションBに直接新しい値を書き込めません。代わりに、アプリケーションAは、コンピュータ2のSVEに要求を送信し、変数1をサブスクライブするすべてのアプリケーションを更新します。このように、これらの更新ではレイテンシが発生するため、シェア変数は最新値のみを更新する場合に最適です。データを連続的にストリーミングする場合は、ネットワークストリームを使用します。

ネットワーク上でシェア変数を使用できるようにする

ネットワーク上でシェア変数を読み書きするためには、それらのシェア変数をSVEにデプロイする必要があります。シェア変数をデプロイすると、LabVIEWはそのシェア変数を含むプロジェクトライブラリおよびそれに含まれるその他すべてのシェア変数をSVEデプロイします。これに対して、SVEは、そのプロジェクトライブラリに必要なメモリ領域(各シェア変数に必要なメモリ領域を含む)を作成します。

NI-PSPデータ項目

LabVIEWがNI-PSPを使用してネットワーク上で共有するデータ項目は、すべてNI-PSPデータ項目です。一般的なNI-PSPデータ項目には、次のようなものがあります。

  • ネットワーク共有シェア変数
  • ネットワーク共有有効のI/O変数
  • OPCサーバのデータ項目
  • FieldPointモジュールのデータ項目

LabVIEWでは、NI-PSPデータ項目はネットワークパスにより識別されます。ネットワークパスは、データ項目が存在するコンピュータの名前、プロセスの名前、およびデータ項目の名前で構成されます。たとえば、ネットワークパス\\computer1\mylib\myvariableは、computer1という名前のコンピュータのmylibプロジェクトライブラリにあるmyvariableという名前のシェア変数を認識します。シェア変数がmysublibという名前のサブプロジェクトライブラリに存在する場合、シェア変数のパスには\\computer1\mylib\mysublib\myvariableサブプロジェクトライブラリが含まれます。

既存のデータソースまたは制御器と表示器を使用してシェア変数を読み書きする場合は、NI-PSPデータ項目のネットワークパスを指定するか、NI-PSPデータ項目を参照します。

シェア変数エンジンのエラー

シェア変数エンジンは、無効なプロセス構成など、重要なエラーおよびサーバのステータスの更新を報告します。これらのエラーは、Windowsイベントビューアで表示できます。Windowsのコントロールパネルで、管理ツールディレクトリにあるイベントビューアを参照します。管理ツールディレクトリの正確な場所は、使用するWindowsのバージョンによって異なります。

「データ通信方法」ホーム



この記事は役に立ちましたか。

役に立たなかった