概要: LabVIEWアプリケーションとのWebベースの通信 (Real-Time、Windows)
- 更新日2025-04-04
- 6分で読める
Webクライアントは、LabVIEW Webサービスを使用することによって、ネットワーク上のリモートLabVIEWスタンドアロンアプリケーションとデータを交換することができます。Webサービスは、クライアントからのHTTP要求に応答する、サーバ上で実行されるVIおよびその他のファイルで構成されます。
Webサービスは以下のような状況で便利です。
- 標準のWebブラウザなど、任意のHTTP対応WebクライアントでWebサービスVIを呼び出して、URLおよびPOSTなどの標準HTTPメソッドを使用してデータを交換することができます。以下に例を示します。
- アプリケーションに新しいパラメータをアップロードする
- 現在の状態またはステータスを取得する
- カスタムシンクライアントを使用して、リモートで組込式アプリケーションを監視および制御することができます。以下に例を示します。
- アプリケーションの状態を更新する
- プロセスを開始または停止する
- 無数のHTTP対応デバイスとNI製ソフトウェアまたは他社製ソフトウェア間で、アプリケーション同士のデータ交換を行うことができます。以下に例を示します。
- LabVIEW以外のクライアントに接続する
- セキュリティと認証を実装する
以下の状況ではWebサービスを使用しないでください。
- 連続的なデータストリーミング
- 高速ポーリング
- リアルタイム処理
LabVIEW Webサービスアプリケーションに関係した共通のプロセスを以下の図に示します。
(1) Webサービスを作成する
Webサービスは、LabVIEWアプリケーションとWebクライアント間の通信を可能にします。以下の手順を実行して、Webサービスを作成します。
- ホストコンピュータにLabVIEWがインストールされた状態で、LabVIEWプロジェクトからWebサービスを作成および開発します。
- HTTPメソッドVIやスタートアップVIなど、Webサービスの基本的なコンポーネントを作成します。
- スタティックコンテンツファイルをWebサービスに統合します。
- WebサーバでWebサービスをテストおよびデバッグします。
関連情報
(2) Webサービスをホストする
LabVIEWはNI WebサーバまたはアプリケーションWebサーバを使用して、ネットワーク上でWebサービスをホストします。Webサービスに対するWebサーバのサポートは、Webサービスをパブリッシュまたは実行する方法によって異なります。
Webサーバを使用してWebサービスをホストする前に、Webサーバを有効にして構成する必要があります。また、WebクライアントとLabVIEW Webサービスの間で安全な通信を確立することもできます。
関連情報
(3) Webサービスをパブリッシュする
プロジェクトから、以下の手順を実行してWebサービスをパブリッシュし、LabVIEW開発システムに依存せずに実行できるようにします。
- Webサービスをホストコンピュータまたは接続されているRTターゲット上のアプリケーションWebサーバにスタンドアロンWebサービスとしてパブリッシュします。
- (Windows) NI パッケージを介してWebサービスをNI Webサーバにパブリッシュします。
- スタンドアロンアプリケーションを介して、WindowsコンピュータまたはRTターゲット上のNI WebサーバまたはアプリケーションWebサーバにWebサービスをパブリッシュします。
- Windowsインストーラを介して、Windowsコンピュータ上のアプリケーションWebサーバにWebサービスをパブリッシュします。
Webサービスは、ホストサーバへのパブリッシュの方法に応じて、異なった条件下で開始または停止します。
関連情報
(4) Webサービスとクライアント間でデータを転送する
ブラウザなどのWebクライアントは、HTTP要求を特定のURLに送信することによってWebサービスとデータを交換します。LabVIEWではURLがそれぞれのHTTPメソッドVIにマッピングされるため、クライアントで使用される特定のURLに応じて、どのHTTPメソッドVIがそのHTTP要求を受け取るかが決定されます。要求には、HTTPメソッドVIの特定のパラメータに割り当てる値が含まれていることがあります。HTTPメソッドVIは、各要求を受け取った後で、これらの値を処理し、応答を返すことができます。Webサービスは、構成された特定の形式 (JSONなど) でWebクライアントにデータを返します。
サポートされるWebクライアントには、標準WebブラウザなどのHTTP対応プラットフォーム、HTMLフォーム、他社製ソフトウェア、HTTPクライアントパレットを使用するVIなどがあります。
標準のプロセス間通信方法を使用して、Windowsまたは組込LabVIEWアプリケーションとWebサービス間の通信を実行できます。たとえば、「ネットワークストリーム」関数を使用して、ローカルでLabVIEWアプリケーションからのデータをWebサービスに転送できます。
簡単な例を挙げると、Webクライアントが、2つの数字を持つHTTP要求を、その数字を計算して合計を返すHTTPメソッドVIに送信することがあります。