LabVIEW実行可能ファイルでリモートフロントパネルを使用する

更新しました Jun 15, 2019

使用製品

Software

  • LabVIEW Application Builder Module
  • LabVIEW

問題

LabVIEWでビルドしたスタンドアローンアプリケーション(実行ファイル)をリモートから表示および制御したいです。リモートフロントパネルを使用して、LabVIEW開発環境がないコンピュータからLabVIEWでビルドした実行ファイルを操作するにはどうすれば良いですか?

解決策

リモートフロントパネルを使用すると、クライアントコンピュータはサーバコンピュータ上で実行されているVIのフロントパネルを表示および制御できます。ただし、VIが実行可能ファイルに組み込まれている場合、リモートフロントパネルを正しく機能させるには、下記の手順を行う必要があります。
 
  1. LabVIEWプロジェクトを作成します。
  2. ツール>>オプション>>ウェブサーバ(またはウェブサーバ:構成)を選択して、ウェブサーバを有効にします。 
  • LabVIEW 2009以前:
    • ウェブサーバを有効チェックボックスにチェックを入れてOKボタンをクリックします。
    • 上級設定の下にあるアクセスを許可の項目でリモートフロントパネルチェックボックスにチェックを入れます。
    • デフォルトのHTTPポートは、80です。
  • LabVIEW 2010以降:
    • リモートパネルサーバを有効チェックボックスにチェックを入れてOKボタンをクリックします。
    • リモートパネルサーバの下にあるリモートフロントパネルチェックボックスにチェックを入れます。
    • デフォルトのHTTPポートは、8000です。
  1. ソースコードをプロジェクトに追加します。
  2. VI用のウェブページを作成します。
  • ツール>>ウェブパブリッシュツール... を選択します。
  • VI名ドロップダウンメニューからパブリッシュするVIを選択します。
  • 表示モード埋め込みスナップショット、もしくはモニタのいずれかを選択して、次へをクリックします。
  • ドキュメントタイトルヘッダ、およびフッタを編集して、次へをクリックします。
  • ウェブページが\LabVIEW\wwwディレクトリに保存されることを確認して、ディスクに保存をクリックします。
  • 後ほどの手順10で使用するため、URLをメモします。
  1. プロジェクトエクスプローラでマイコンピュータを右クリックして追加>>ファイルをクリックし、\LabVIEW\wwwディレクトリにある手順3で作成したHTMLファイルを選択して、リストに追加します。

 
  1. プロジェクトを保存して、ビルド仕様を右クリックして新規>>アプリケーション (EXE)を選択し、実行ファイルをビルドします。ソースファイルカテゴリを選択します。スタートアップVIにトップレベルVI(メインVI)を追加して、常に含むにHTMLファイルを追加します。ビルドボタンをクリックして、ビルドが終了したら完了ボタンをクリックします。

 
  1. 実行ファイルおよび生成されたすべてのファイルをターゲットコンピュータにコピーします。
メモ: ターゲットコンピュータには、実行ファイルを作成したLabVIEWのバージョンと一致したLabVIEWランタイムエンジンがインストールされている必要があります。
 
  1. ターゲットコンピュータで、実行ファイルをコピーしたディレクトリを開きます。テキストエディタでiniファイルを開きます。Mac OSでは, これは.app x.x Preferencesファイルとなります。ここでx.xは、LabVIEWのバージョンを示します。以下の手順をおこないます。
  • WebServer.Enabled=Trueというトークンが存在していることを確認します。見つからない場合は、ファイルの最後に追加します。

 
  • LabVIEW 8.5以前:
  1. WebServer.RootPathを追加、もしくは修正して、値を現在HTMLファイルが存在するディレクトリにします。(アプリケーションのdataディレクトリにする必要があります。)

 
  1. .iniファイルの変更を保存して、閉じます。
 
  • LabVIEW 8.6以降:
  1. .iniファイルを閉じて、テキストエディタでniwebserver.confを開きます。このファイルは、LabVIEW 8.6でLabVIEWウェブサーバによって提供される新しい機能をハンドルするために作成されました。
  2. アプリケーションディレクトリにniwebserver.confファイルがない場合は、一度実行ファイルを起動すれば作成されるはずです。.confファイルが作成されたら実行ファイルを終了します。
  3. 2つ目のセクションにあるDirectives that apply to the default serverという項目には、DocumentRootタグがあります。デフォルトのLabVIEW\www パスを現在HTMLファイルが存在するディレクトリに変更します(アプリケーションのdataディレクトリにする必要があります)。このとき、HTMLファイル名は含めないでください。

 
  1. 開発マシンで実行ファイルを実行するには、LabVIEWを完全に終了する必要があります。
  2. 手順4でメモしたURLで開発コンピュータの名前をターゲットコンピュータのIPアドレスに変更して、ウェブブラウザでこのアドレスを参照します。これでリモートからLabVIEW実行ファイルの表示および制御ができるようになります。

追加情報

トラブルシューティング:
Q. 404 ウェブページが見つかりませんというメッセージが表示されます。
A. このエラーを解決するにはいくつかの手順があります。
  • コンピュータ名ではなく、コンピュータのIPアドレスを使用していることを確認してください。 これに関する手順は、以下のQ/Aにあります。
  • プログラムに対して別のポートを使います。新しいポートがすでに使用されていることを確認する必要があります。多くの場合、ポート8010が適しています。ポートを変更するには2つの方法があります。
  1. プログラムをもう一度作成し、設定で新しいポートを選択することができます。
  2. リモートフロントパネルの設定で手順8において編集したniwebserver.confファイルを開きます。このファイルには、ポート8000(または現在選択しているポート)の横にあるListenが表示されます。 それを8010に変更するか、使用することを決定した他のポートに変更してみてください。
http://TargetComputerIPAddress:Port/VIname.htmlという形式のリンクでは、ポート部分を新しいポートとして選択した番号に変更する必要があります。
 
  • ​実行ファイルを右クリックして、「管理者として実行」を選択します。
  • ファイアウォール設定を開き、ファイアウォールを介して実行可能なアクセスを許可します。 Windowsファイアウォールを使用している場合は、Windowsファイアウォールで設定できます。次に、「Windowsファイアウォール経由でアプリまたは機能を許可する」を選択します。 「別のアプリケーションを許可する」をクリックします。そして、実行可能ファイルの場所を参照し、ファイアウォールを通過できるようにプログラムを選択します。
  • アンチウィルスを一時的に無効にして、プログラムがファイアウォールを通過することを妨げているかどうかを確認します。

Q. フロントパネルを表示すべきブラウザに空のボックスがあります。
A. ActiveXコントロールを使用してVIが表示されます。ActiveXを使用してフロントパネルを表示するには、2つの方法があります。
  1. Internet Explorerでリンクを開きます。画面の下部にActiveXの有効化を促すボタンが表示されている場合は、許可するをクリックして実行します。
  2. Google Chromeを開き、ChromeウェブストアでIE Tabを見つけます。指示に従って、その拡張機能を正しくインストールします。IE Tab機能拡張を使用してリモートフロントパネルへのリンクを開きます。


Q. LabVIEW(64ビット版)でリモートフロントパネルを備えたVIを開発し、それをアプリケーション(EXE)に組み込みました。開発マシンでこのリモートフロントパネルをホストしています。クライアントマシンには、LabVIEWランタイムエンジン(64ビット版、開発システムと同じバージョン)があります。Internet Explorerを使用してリモートフロントパネルに接続しようとすると、そのVIの背景が表示されます。ただし、すべての制御器がありません。
A. Internet Explorerは、デフォルトで64ビットプログラムとして実行されます。ただし、各タブは32ビットプロセスとして実行されます。したがって、対応する32ビットLabVIEWランタイムエンジンをダウンロードしてインストールする必要があります。


Q. このページを表示できませんというエラーを解決するにはどのような手順が必要ですか?
A. http://TargetComputerName:Port/VIname.html からhttp://TargetComputerIPAddress:Port/VIname.html.AlsoにURLを変更してみます。また、ファイアウォールがLabVIEW Webサーバが使用しているポートへのアクセスを許可していることを確認します。LabVIEW 2009以前ではデフォルトポートは80で、LabVIEW 2010以降ではデフォルトポートは8000です。


Q. 特定のサーバーによってリモートパネル接続が拒否されましたというエラーが表示されるのはなぜですか?
A. 通常、このメッセージはLabVIEWのバージョンが一致していない場合に発生します。ターゲットコンピュータにインストールされているLabVIEWランタイムエンジンのバージョンが、開発マシンで使用されているLabVIEWのバージョンと一致していることを確認します。


Q. 他のプログラムはLabVIEWと同じデフォルトポートを使用していますか?
A. ポート80は、多くのウェブサーバのデフォルトポートです。システム上にある他のプログラムがこのポートを予約していないことを確認します。


インストーラでリモートパネルを有効にする: 
インストーラでリモートフロントパネルを有効にするには、同じ考え方が適用されます。ウェブページを作成して、プロジェクトにウェブページを含めます。実行ファイルをビルドし、サポートファイルにウェブページを組み込みます。インストーラを作成して、実行可能ファイルをインストーラのソースファイル設定に含めます。インストーラをビルドしてデプロイします。最後に、.iniファイルとniwebserver.confファイルを変更します。


ライセンス:
デフォルトでは、LabVIEW 2011以前には1つのリモートフロントパネルライセンスが含まれています。これは、一度に1台の接続を実行可能ファイルのリモートフロントパネルに行うことができることを意味します。LabVIEWプロフェッショナル開発システムをお持ちの場合は、リモートパネル用に5つのライセンスが付属しています。これらの追加ライセンス(または購入済みのもの)にアクセスするには、実行可能ファイルを含むインストーラを、追加インストーラの下にあるLabVIEW Deployable Licenseとともにビルドする必要があります。LabVIEW 2010以前の追加ライセンスを購入するには、パーツ番号781841-3599を使用して注文が可能です。LabVIEW 2011以降のバージョンは、リモートフロントパネルのライセンスを必要としないため、インストーラにライセンスを含める必要はありません。

メモ: Volume License Managerが同じコンピュータ上で使用されている場合、LabVIEWウェブサーバは複数の接続を許可できません。これは、リモートフロントパネルライセンスがVolume License Managerとコンポーネントを共有しているためです。

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

いいえ