TestStandのランタイムエンジンアダプタを使用したLabVIEW VIのロードエラー

更新しました Mar 17, 2021

使用製品

ソフトウェア

  • TestStand
  • LabVIEW
  • LabVIEW Runtime

問題

TestStandでLabVIEWランタイムエンジンアダプタを使用すると、次のエラーが表示されます。

Unable to load VI <VI_name> with the LabVIEW Run-Time Engine version <LabVIEW Version>. The version of the subVI might not match the version of the run-time engine or a VI dependency might be missing.



シーケンスファイルを実行しようとすると、エラー-18002、またはエラー-17600が表示されます。実行時にFailed to load a required step's associated moduleというメッセージが表示されます。

解決策

LabVIEWランタイムエンジンは、LabVIEW開発環境のすべての機能を備えているわけではありません。このエラーが発生する理由は以下が考えられます。
  • ステップによって呼び出されるVIには、最上位VIとは異なるバージョンのLabVIEWに保存されるサブVIが含まれています。 VIのディレクトリまたはVI自体を一括コンパイルすると、この問題が解決する場合があります。トップレベルVIを一括コンパイルすると、すべてのサブVIを同じバージョンのLabVIEWに保存できます。詳細については、LabVIEWで一括コンパイルする方法を参照してください。
  • LabVIEWランタイムエンジンが検出できない依存関係があります。次のさまざまな手順を試して、VIのすべての依存関係がエンジンによって検出されることを確認してください。
    • 可能であれば、すべてのVIとサブVIを1つのディレクトリに配置します。
    • VIまたはそのサブVIのディレクトリがTestStand Search Directoriesにない場合は、最初にそのディレクトリをTestStand Search Directoriesに追加します。これは、Configure » Search Directories で実行でき、Addクリックしてディレクトリを参照します。
    • コンパイルコードをソースファイルから分離するオプションが有効になっている場合、LabVIEWランタイムエンジンでVIを実行することはできません。 LabVIEWランタイムは、LabVIEW開発環境のコンパイル済みオブジェクトキャッシュにアクセスできません。
  • LabVIEWランタイムエンジンのビット数がTestStandのビット数と一致しない場合、このエラーが発生します。この組み合わせでの実行が必要な場合は、 次のリンク をご参照ください。
  • LabVIEWアプリケーションインスタンスが原因で名前の競合が発生する可能性があります。このエラーの詳細については、記事「How TestStand Interacts with LabVIEW Application Instances」の「Errors related to Naming conflicts」セクションを参照してください。このエラーを修正する方法は、次のようにユースケースによって異なります。
    • シーケンスとユーザーインターフェイス間でVIインスタンスを共有する予定がない場合は、次の手順に従います。
      1. オペレーターインターフェイスのビルド仕様で、Dependencies アイテムを選択した状態で、ビルド仕様ウィンドウの Source File settings タブにある Apply prefix to all selected itemsオプションを有効化します。
      2. 使用するプレフィックスを指定します。これにより、ユーザーインターフェイスとシーケンスが競合しないようになります。
    • メモリを共有する場合は、 ビルド仕様ウィンドウの Additional Exclusions タブで Modify project library file after removing unused members オプションを選択解除することで、このエラーを防ぐことができます。この変更により、不要なVIが含まれるため、実行可能ファイルが大きくなる可能性があることに注意してください。
  • ランタイムエンジンのバージョンが使用しているLabVIEWのバージョンと一致していることを確認してください。 NI MAXを使用すると、インストールされているソフトウェアを確認できます。

追加情報

これらの手順のいずれでもエラーが解決しない場合は、次のオプションを検討してください。
  • エラーがなくなるまでサブVIを削除して、エラーの原因を絞り込みます。ダイアグラム無効ストラクチャを使用して、エラーの原因が見つかるまでサブVIを段階的に無効化できます。
    • 問題の原因となっている1つまたは複数のVIを特定できる場合は、VIを再作成し、問題の原因となっているVIの代わりに保存してみてください。
  • ソースディストリビューションまたはパックプロジェクトライブラリを構築して、すべての依存関係が適切にリンクされ、コードが同じバージョンでコンパイルされていることを確認します。 これらはTestStandデプロイメントをビルドすることによって実現します。