LabVIEW実行ファイルの複数インスタンスを同時に実行する

更新しました Nov 21, 2018

使用製品

Software

  • LabVIEW

問題

LabVIEWで構築するアプリケーションはシングルトンです。つまり、一度に1つのインスタンスしか開くことができません。インスタンスがすでに実行中に実行ファイルをダブルクリックすると、既に実行中の実行ファイルが開きます。

LabVIEW実行ファイルの複数インスタンスを同時に実行できますか?

解決策

複数のLabVIEW実行ファイルを同時に実行することは可能です。LabVIEW実行ファイルが初めて実行されると、実行ファイルと同じディレクトリに実行ファイルと同じ名前のiniファイルが作成されます。これを行うには、LabVIEW実行ファイルを実行した後に作成されたiniファイルに下記のトークンを追加する必要があります。このトークンをiniファイルに追加することにより、対応する実行ファイルの複数インスタンスを起動することができます。トークンは次のとおりです。

allowmultipleinstances = TRUE

これを達成するための手順は次のとおりです。
  • LabVIEW実行ファイルを作成します。
  • 実行ファイルを1回実行します。実行ファイルと同じディレクトリにiniファイルが作成されていることを確認します。
  • アプリケーションの実行を終了し、iniファイルを開きます。
  • [<Application_Title>] の行の下に以下のトークンを追加します。ここで、<Application_Title>は実行ファイルの名前です。
    (例 <Application_Title>.exe): allowmultipleinstances = TRUE
  • iniファイルを保存して閉じます。
  • これでアプリケーションの複数インスタンスを同時に実行できるようになります。

追加情報

iniファイルにトークンを追加するプロセスを自動化するには、アプリケーションダイアログボックスの上級カテゴリに移動して、カスタム構成ファイルを使用チェックボックスにチェックを入れて変更したiniファイルを選択します。詳細については、Will LabVIEW Queues or Semaphores Work Between Executables?を参照してください。

また、キューまたはセマフォーへの参照は、それが作成されたプロセス内でのみ有効であることにも注意する必要があります。両方のVIがLabVIEW開発環境で実行されている場合、それらは同じプロセスに属します。VIを実行ファイルにビルドすると、各実行ファイルは独自のプロセスになります。そのため、ある実行ファイル内で作成された参照は、他の実行ファイル内では無効となります。1つのVIを実行ファイルに作成し、LabVIEW開発環境で他のVIを実行する場合も同様ですが、依然として2つの異なるプロセスを処理しています。

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

いいえ