LabVIEWで「VIの再設定」というメッセージが表示される原因

更新しました Oct 18, 2023

使用製品

ソフトウェア

  • LabVIEW

プログラミング言語

  • LabVIEW G

問題

LabVIEWでコードを強制停止すると、「VIの再設定:( VI名)」メッセージが表示されることがあるのはなぜですか?

解決策

LabVIEWで「VIの再設定:( VI名)」メッセージが表示される潜在的な原因は以下のとおりです。
 

  • LabVIEW 5.0以降では、VIを強制停止ボタンを押すと、ユーザインタフェーススレッドはVIに関連するすべての実行スレッドにリセットを指示するメッセージを送信します。他のスレッドをただちに終了するのではなく、LabVIEWは現在のタスクで作業を中止するように要求します。トップレベルのスレッドでは、すべてのスレッドがリセットされるのを待機する間、このメッセージのダイアログボックスが表示されます。ダイアログボックスが数秒以上画面に表示されたままになっている場合、スレッドの1つがタスク(I/Oなど)の終了でビジー状態か、ブロッキング操作を実行している可能性があります。

     
  • 一般的に、強制停止したときにVIの状態を保証できないため、VIを強制停止することは避けるべきです。その代わりに、VIがその実行を完了することを許可する、またはプログラム的にVIを停止するように設計する必要があります。これにより、アプリケーションを既知の状態にして、アプリケーションが使用している可能性があるリソース(ファイルやハードウェアなど)をリセットすることができます。

     
  • 非マルチスレッドのオペレーティングシステムでLabVIEWを使用している場合は、停止関数を使用した場合にもこのメッセージが表示されることがあります。停止関数は、主にデバッグ用に設計されており、ツールバーの実行を中断ボタンを押した場合と同様に動作するため、完成したプログラムでは使用を避けるべきです。

     
  • リセットメッセージが消えないのは、ほとんどの場合、VIがブロック操作を実行しているため、手動で中止する必要があります。その場合は、Windowsのタスクマネージャなど、オペレーティングシステムのプロセスマネージャを介してLabVIEWプロセスを停止してください。これでLabVIEWが終了しますが、保存していない変更がすべて失われる可能性があります。

     
  • LabVIEW自体をシャットダウンする前に、すべてのプロセスが終了するのを待機しなければならない場合にも表示されます。この場合の回避策は、LabVIEWの終了時にもう少し待機することです。