エラー 7または1003: LabVIEWアプリケーションでVIサーバを使用するとエラーが発生する

更新しました Nov 6, 2023

使用製品

ソフトウェア

  • LabVIEW

問題

LabVIEWアプリケーションでは、VIサーバを使用して別のVIを呼び出して実行するようにしています。しかし、アプリケーションを実行すると、エラー1003またはエラー7が発生します。

解決策

リファレンスによるVIの呼び出しやVIサーバを使用して動的にVIを実行しようとした際に、呼び出されたVIを実行できないとエラー1003またはエラー7が発生することがあります。VIが実行できない一般的な理由は、LabVIEWがそのVIまたはサブVIの1つを見つけられないためです。これは、現在のシステムにインストールされていないドライバにVIが依存している場合にもよく発生します(たとえば、NI-DAQmxまたはNI-SoftMotion)。
 

この問題を回避する最も簡単な方法は、動的に呼び出すVIをすべてビルドに含めることです。以下に手順を示します。ただし、ビルド後に変更し、実行ファイル全体を再ビルドおよび配布したくない場合など、VIサーバによって呼び出されるVIが静的ではない場合は、呼び出すVIには相対ファイルパスを使用してください。また、実行したいVIをターゲットマシンの相対ファイルパスにコピーする必要があります。さらに、ディストリビューションをビルドするための適切なプロセスについては、アプリケーションを作成して配布するを参照してください。

 

LabVIEW 8.5の場合

アプリケーションビルダのビルド仕様でソースファイルカテゴリにある常に含むセクションに、動的に呼び出されるVIを含めます。

 

LabVIEW 8.0~8.2の場合

アプリケーションビルダのビルド仕様でソースファイルカテゴリにある動的VIとサポートファイルセクションに動的に呼び出されるVIを含めます。

 

 

LabVIEW 7.1以前の場合

アプリケーションビルダのビルド仕様でソースファイルタブにある動的VIを追加をクリックします。


それでもエラーが発生する場合は、LabVIEW開発環境にVIをロードして壊れていないことを確認します。VIを何も変更せずにVIを閉じるときに変更を保存するように求めるメッセージが表示された場合は、別の場所にサブVIがいくつか見つかるはずです。VIを新しい場所に保存して、アプリケーションをもう一度ビルドします。

追加情報

リファレンスによるVIの呼び出しをおこなうコードが旧バージョンのLabVIEWで書かれており、実行ファイルがLabVIEW 2009でビルドされている場合、ビルド時にプロジェクトは不適切なパスを生成します。詳細は、Error 7 When Running Executables Built in LabVIEW 2009 and Laterを参照してください。

現在のVIのパス定数で相対パスを使用して、LabVIEW 8.xのファイルレイアウトプロパティをオンにしてスタンドアロンの実行可能ファイルを再ビルドした後、パスを削除するのに必要な回数を考慮する必要があります。現在のVIのパス定数を使用しているときに実行可能です。詳細は、エラー 7: 現在のVIのパス定数を使用すると実行可能ファイルでエラーが発生するを参照してください。