プログラムでライブデータを共有する
- 更新日2025-08-27
- 7分で読める
ライブデータをプログラム的に構成、読み取り、または書き込むには、DataSocket VIおよび関数を使用します。
(Real-Time、Windows) ライブデータをプログラム的に共有するには、シェア変数ノードを配線することを推奨します。
シェア変数を使用する
複数のVI間、またはワイヤで接続できないブロックダイアグラムの異なる場所でデータを共有するには、シェア変数を使用します。ブロックダイアグラムでプログラミングをほとんどもしくは全く行うことなく、シェア変数を使用してデータを共有することができます。
DataSocket VIおよび関数については、WebブラウザでURLを指定するのと同様に、URLを指定してデータの読み取りまたは書き込みを行います。
URLを指定する
URLは、Windowsではopc、ftp、http、またはLabVIEWをサポートするすべてのプラットフォームではpsp、dstp、fileなどの通信プロトコルを使用して、データを転送します。URLで使用するプロトコルは、書き込むデータのタイプとネットワークがどのように構成されているかによって異なります。
DataSocket VIおよび関数を使用してデータの読み取り、または書き込みを行う場合、また制御器の接続を有効にするには、以下のプロトコルを使用することができます。
- NI Publish-Subscribe Protocol (psp)―ネットワークとローカルコンピュータ間でデータを転送するNIの技術です。このプロトコルを使用する場合、VIはシェア変数エンジン (SVE) を使用して通信します。pspプロトコルを使用して、シェア変数、およびサーバまたはデバイスデータ項目に接続します。データ項目には名前を割り当てる必要があり、これはURLに追加されます。データ接続はその名前を使用して、SVEの特定のデータ項目のアドレスを指定します。フロントパネルのデータバインディングを使用する場合に、このプロトコルを使用することもできます。fieldpointプロトコルをNI-PSP(NI Publish-Subscribe Protocol)のエイリアスとして使用できます。
- DataSocket転送プロトコル (dstp)―このプロトコルを使用する場合、VIはDataSocketサーバと通信します。データには名前の付いたタグを割り当てる必要があり、これはURLに追加されます。データ接続では、名前付きのタグを使用してDataSocketサーバ上の特定のデータ項目をアドレス指定します。このプロトコルを使用するには、DataSocketサーバを実行する必要があります。
- (Windows) OLE for Process Control (opc)―自動製造工程によって生成されるデータのようなリアルタイムの生産データを共有するように特別に設計されています。このプロトコルを使用するには、OPCサーバを実行する必要があります。
- (Windows) ファイル転送プロトコル (ftp)―このプロトコルを使用して、FTPサーバにあるデータ読み取り対象ファイルを指定できます。

メモ DataSocket関数を使用してFTPサイトからテキストファイルを読み取るには、[text]をURLの末尾に追加します。
- file―このプロトコルを使用すると、データが含まれているローカルファイルまたはネットワークファイルをリンクできます。
- (Windows) http―このプロトコルを使用すると、データが含まれているWebページをリンクできます。

メモ DataSocket関数を使用してhttpプロトコルでテキストファイルを読み取るには、[text]をURLの末尾に追加します。
以下の表は、各プロトコルURLの例を示します。
| URL | 例 |
|---|---|
| psp | シェア変数の場合: psp://computer/library/shared_variable サーバおよびデバイスデータ項目などのNI-PSPデータ項目の場合: psp://computer/process/data_item fieldpoint://host/FP/module/channel |
| dstp | dstp://servername.com/numeric、ここでnumericはデータの名前付きのタグ |
| opc | opc:\National Instruments.OPCTest\item1 opc:\\computer\National Instruments.OPCModbus\Modbus Demo Box.4:0 opc:\\computer\National Instruments.OPCModbus\Modbus Demo Box.4:0?updaterate=100&deadband=0.7 |
| ftp | ftp://ftp.ni.com/datasocket/ping.wav ftp://ftp.ni.com/support/00README.txt[text] |
| file | file:ping.wav file:c:\mydata\ping.wav file:\\computer\mydata\ping.wav |
| http | http://ni.com |
ライブデータを共有するには、psp、dstp、およびopcのURLを使用します。これは、これらのプロトコルがリモートおよびローカルの制御器や表示器を更新できるからです。ファイルからデータを読み取るには、ftpおよびfileのURLを使用します。これは、これらのプロトコルがリモートおよびローカルの制御器や表示器を更新できないからです。
DataSocket VIおよび関数でサポートされているデータ形式
DataSocket VIおよび関数を使用して、すべてのLabVIEWデータタイプのデータを渡すことができます。また、DataSocket VIおよび関数を使用して、以下のデータを読み書きすることができます。
- 未処理テキスト―文字列を文字列表示器に渡す場合は未処理テキストを使用します。
- タブ付きテキスト―スプレッドシート内のタブ付きテキストを使用して、配列にデータを書き込みます。LabVIEWはタブ付きデータをデータの配列として解釈します。
- .wavデータ―VIまたは関数にサウンドを書き込む場合は、.wavデータを使用します。
- バリアントデータ―NIのMeasurement Studio ActiveXコントロールなど他のアプリケーションからデータを読み取るにはバリアントデータを使用します。