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

更新しました Jan 8, 2019

使用製品

Software

  • LabVIEW

問題

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

解決策

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

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

追加情報

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

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

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

いいえ