Exe のリモートパネルを介した双方向通信



使用ソフトウェア:
使用ソフトウェア・バージョン: 2009 SP1
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A

問題:
ウェブパブリッシュツールによって、ネットワークに接続された複数の PC 上で、サーバ PC 上で実行されている VI のフロントパネル(リモートパネル)をウェブブラウザ上で見ることができ、また「埋め込み」モードに設定されたリモートパネルの場合には制御権を取得して操作することができますが、複数の PC から同時にリモートパネルを操作することはできません。制御権を取得せずにその VI を操作する方法はありますか。また、ウェブパブリッシュのサーバとなるターゲット PC (アプリケーションが実行される PC ) に LabVIEW がインストールされておらず、ビルドされた実行ファイル(.exe)を実行する場合でも可能ですか。

解決策:
3種類の表示モード(詳細は KnowledgeBase 2LSFN7YP: ウェブパブリッシュツールの表示オプションについて をご参照ください。)の設定や埋め込みモードの場合の制御権の管理は VI ごとに分かれていますので、サーバ PC 上にて、クライアント PC が監視するリモートパネルをウェブパブリッシュする VI (「monitor.vi」とします)と クライアントPC が制御するリモートパネルをウェブパブリッシュする VI (「embedded.vi」とします) を実行して、2つの VI 間でグローバル変数やシェア変数を介してデータを受け渡すことが可能ですので、下記のような動作を実装できます。

 

  1. クライアント PC 上にて 「monitor.vi」 のリモートパネルを監視します。
  2. クライアント PC 上にて 、必要に応じて 「embedded.vi」 のリモートパネルを操作します。
  3. サーバ PC 上にて、 「embedded.vi」の操作により変更された制御器の値が変数を介して 「monitor.vi」に渡されます。
  4. クライアント PC 上にて監視している 「monitor.vi」のリモートパネルに反映されます。


また、変数を介してデータをやりとりする2つの VI ( 「monitor.vi」 「embedded.vi」) は 1 つの実行ファイル(.exe)  から立ち上げることが可能です。
 
下記の手順では、例として、クライアント PC が制御権を持つ 「embedded.vi」から、クライアント PC が制御権を持たない 「monitor.vi」上のタブ制御器のタブを切り替えて表示させるグラフを変更することができるアプリケーションを作成します。

事前に KnowledgeBase 4BMEMAH0: PC のブラウザを使用して VI を別の場所から監視、操作する方法を教えてください。 の資料に書かれている手順により、問題なくウェブパブリッシュが動作することをご確認ください。
 

  1. 添付の 「WebPublish2VI.zip」 を展開します。
  2. 「WebPublish2VI.lvproj」を開きます。
  3. プロジェクトエクスプローラ上の「embedded.vi」を開きます。
  4. メニューバーの ツール » ウェブパブリッシュツール を開きます。
  5. VI 名として「WebPublish2VI.lvproj/マイ コンピュータ/embedded.vi」を選択します。
  6. 表示モードはデフォルトの「埋め込み」のまま、「接続が確立されたら制御を要求」
    のチェックボックスにチェックを入れて、「次へ」をクリックします。


  7. 任意のドキュメントタイトル、ヘッダ、フッタを入力して「次へ」をクリックします。
  8. ファイル名を短く「embedded」に変更し、ブラウザでプレビュー ボタンをクリックします。
    → 問題なくフロントパネルが表示されることを確認します。
  9. 「ディスクに保存」をクリックします。
  10. ドキュメントURLのウィンドウが立ち上がりますので、「接続」ボタンをクリックします。
    → 問題なくフロントパネルが表示されることを確認します。
  11. 「OK」ボタンをクリックして完了します。
  12. プロジェクトエクスプローラ上の「monitor.vi」を開きます。
  13. メニューバーの ツール » ウェブパブリッシュツール を開きます。
  14. VI名として「WebPublish2VI.lvproj/マイ コンピュータ/monitor.vi」を選択します。
  15. 表示モードを「モニタ」、アップデート間の時間(秒)を1以上に設定して「次へ」をクリックします。

    メモ: 2 つの VI の両方を「埋め込み」モードに設定された場合には別途ライセンスがないと開くことができなくなります。手順 29. のメモをご参照ください。

  16. 任意のドキュメントタイトル、ヘッダ、フッタを入力して「次へ」をクリックします。
  17. ファイル名を短く「monitor」に変更し、「ブラウザでプレビュー」ボタンをクリックします。
    → 問題なくフロントパネルが表示されることを確認します。
  18. 「ディスクに保存」をクリックします。
  19. ドキュメントURLのウィンドウが立ち上がりますので、「接続」ボタンをクリックします。
    → 問題なくフロントパネルが表示されることを確認します。
  20. 「OK」ボタンをクリックして完了します。
  21. プロジェクトエクスプローラ上の「マイコンピュータ」を右クリック » 追加 » ファイル
    から、C:\Program Files\National Instruments\LabVIEW (バージョン名)\www フォルダ内の「embedded.html」 を選択して「ファイルを追加」ボタンをクリックします。
    →プロジェクトエクスプローラ上に「embedded.html」が追加されます。




  22. 同様の手順にて「monitor.html」をプロジェクトエクスプローラ上に追加します。
  23. ビルド仕様を右クリック » 新規 » アプリケーション(EXE) を選択します。
  24. 「ソースファイル」のカテゴリ上にて「embedded.vi」と「monitor.vi」を「スタートアップVI」 欄に「embedded.html」と「monitor.html」を「常に含む」欄に入れます。(対象をクリック後に右向き矢印ボタンをクリックすることにより移動させることができます。)




  25. 「ビルド」をクリックしてビルドします。
  26. ビルドが完了したら「完了」ボタンをクリックして完了します。
  27. ビルド仕様を右クリック » 新規 » インストーラ をクリックします。
  28. 「ソースファイル」カテゴリにて、マイアプリケーションを「出力先ビュー」欄内に入れます。



     
  29.  「追加のインストーラ」カテゴリにて「NI LabVIEW (バージョン名) Deployable License」にチェック
    を入れます。




    メモ: 実行ファイルからウェブパブリッシュ可能な「埋め込みモード」のリモートパネルはデフォルトでは 1 つだけです。「埋め込み」モードのリモートパネルを複数ウェブパブリッシュするには、NI LabVIEW リモートパネル のライセンスを別途ご購入頂き、ウェブパブリッシュのサーバとなるターゲット PC 上の NI License Manager にて Remote Panel Connections をアクティブ化する必要があります。NI License Manager は上記のとおり 「NI LabVIEW (バージョン名) Deployable License」にチェックを入れないと、ターゲット PC  にインストールされません。 「埋め込みモード」のリモートパネルを複数ウェブパブリッシュしない場合には、 「NI LabVIEW (バージョン名) Deployable License」は必ずしもインストーラに含める必要はありません。「埋め込み」モード以外のリモートパネルのウェブパブリッシュにはライセンスは不要です。

  30. 「ビルド」ボタンを押してビルドします。
  31. ビルドが完了したら「完了」ボタンを押して完了します。
  32. プロジェクトエクスプローラ上で「マイインストーラ」を右クリック » 「エクスプローラ」
    の場所にある「Volume」フォルダをウェブパブリッシュのサーバとなるターゲットPCに移します。
  33. ターゲットPC上で「Volume」フォルダ内の setup.exe を実行してインストールします。
  34. インストールが完了したらPCを再起動します。
  35. C:\Program Files\WebPublish2VI フォルダを開きます。
  36. niwebserver.conf ファイルをワードパッドで開きます。(日本語環境においてはメモ帳で開くと
    正常に改行されないようです。)
  37. 「DocumentRoot "C:/Program Files/National Instruments/LabVIEW (バージョン名)/resource/webserver/../../www"」
    の行を「DocumentRoot "C:\Program Files\WebPublish2VI\data"」に書き換えて保存します。
    (DocumentRoot として2つのHTMLファイル(「embedded.html」と「monitor.html」)が含まれる
    ディレクトリを指定します。)



  38. C:\Program Files\WebPublish2VI フォルダ内の Application.exe を実行します。
  39. クライアントPCのインターネットエクスプローラ上にて

    • http://サーバPCのコンピュータ名もしくはIPアドレス/embedded.html
    • http://サーバPCのコンピュータ名もしくはIPアドレス/monitor.html


    の2つの URL にて、それぞれグラフの選択と表示が可能となります。

    (クライアント PC に LabVIEW Run-Time Engine (LVRTE) がインストールされていない場合には最初の実行の際にインストールを促されますので、インストール後、再起動が必要です。
    開発PCをクライアントPCとして使用してテストされる場合には事前に LabVIEW を閉じておく必要があります。) 

上記の手順は LabVIEW 2009 SP1 にて動作確認しています。
 



関連リンク:

KnowledgeBase 4BMEMAH0: PC のブラウザを使用して VI を別の場所から監視、操作する方法を教えてください。
KnowledgeBase 2LSFN7YP: ウェブパブリッシュツールの表示オプションについて
KnowledgeBase 2MACDJ6I: How Many Clients Can View or Control a Remote Front Panel with my LabVIEW License?
NI LabVIEW リモートパネル



添付:

WebPublish2VI.zipWebPublish2VI.zip






報告日時: 07/18/2011
最終更新日: 08/01/2011
ドキュメントID: 5NH8NI1C