アプリケーションがVIまたは実行ファイルとして実行されているかどうかを判断する方法

更新しました Oct 26, 2023

環境

ソフトウェア

  • LabVIEW

アプリケーションがVIまたは実行ファイルとして実行されているかどうかをプログラム的に判断する方法はありますか?

  • 汎用OS (Windows OSなど)
プログラムの状態をプログラム的に判断するには、アプリケーション:種類プロパティノードを使用します。
 
  1. ブロックダイアグラムでアプリケーション制御パレットからプロパティノードを配置します。
  2. 下図のように種類プロパティを選択します。
  1. プロパティノードの出力は、現在のオペレーティング環境を示す列挙体を返します。この列挙体は、コードを適切に実装するためのケースストラクチャのセレクタとして使用できます。
 
  • リアルタイムオペレーティングシステム
リアルタイムオペレーティングシステムでアプリケーション:種類プロパティノードは、常にEmbedded LabVIEWの値を返します。したがって、スタンドアロンリアルタイムEXEのアプリケーションであるかどうかを判別することはできません。

代わりに条件無効ストラクチャを使用して、RUN_TIME_ENGINEシンボルの値を確認することができます。
  • RUN_TIME_ENGINE の値がTrue の場合 - 起動時にスタンドアロンリアルタイムEXEとしてアプリケーションが起動されました。
  • RUN_TIME_ENGINE の値がFalse の場合 -  アプリケーションは開発用コンピュータからインタラクティブモードでデプロイされました。 

Additional Information

リアルタイムオペレーティングシステムでは、アプリケーション:種類ノード は常にEmbedded LabVIEWの値を返します。これは、リアルタイムターゲット上で実行されているプログラムのフロントパネルが実際にターゲット上にないため、ブロックダイアグラムのみであるためです。

このプロパティノードを使用すると、オペレーティング環境に基づいて異なるコードを実行する必要があるアプリケーションを作成するときに便利です。この一例は、アプリケーションの現在のファイルパスを取得することです。現在のVIのパス関数を使用すると、アプリケーションがVIまたはビルドされた実行ファイルとして実行されている場合、異なる結果が返されます。このプロパティノードを使用すると、違いを適切に処理できます。