サブ VI を検索する時のパス情報について
ハードウェア: PXI/CompactPCI>>Controllers
問題: LabVIEW プログラマはよく複数バージョンのアプリケーションもしくは同じ VI を違うフォルダに保存します。違うフォルダにある VI が同じ名前を持つ時に問題が発生します。アプリケーションは時々違うバージョンの特定 VI を参照してしまいます。これによりアプリケーション開発や配布に混乱を招くことがあります。 LabVIEW がどのようにサブ VI を検索する時にパス情報を保存するか理解することは、このような問題を避けるために重要です。
解決策: それぞれのVIにおいて、 LabVIEW はメイン VI からの相対パスでサブ VI を保存します。 VI を開く時、LabVIEW はサブVIを見付けるために相対パスを使用します。もし VI が予想している場所にない場合、LabVIEW は VI 検索パスに登録された場所を検索します。これらの VI 検索パスは LaVIEW オプションのパス設定で変更することができます。以下はデフォルトの検索パスです。
- <topvi>\* トップレベル VI の場所
- <foundvi> 最後に開いた VI が見つかった場所
- <vilib>\* LabVIEW の vi.lib フォルダ
- <userlib>\* user.lib フォルダ
- <instrlib>\* instr.lib フォルダ
パスの後の \* はサブフォルダを検索することを意味します。
追加でパスを増やすこともできます。もし LabVIEW が VI を予想している場所もしくは設定に登録されているパスで見付けることができなかった場合、ユーザーに VI の場所を指定させるためのダイアログを表示します。もしサブ VI が移動などによって相対パスによって予想されている場所にない場合、タイトルバーの VI 名の隣に*(アスタリスク)でユーザーに変更があったことを知らせます。
その状態で VI が保存されると、新しい相対パスが記録されます。 VI の新しいコピーが保存される時、LabVIEW はサブ VI の相対パスを保存します。このサブ VI を後で開く時、元々のサブ VI の場所の前にこの相対パスに探しに行きます。これによりメイン VI が予想されていない場所でサブ VI を検索することになります。
もし他のバージョンと独立したアプリケーションのコピーを作成したいのであれば、ソース配布を使用することができます。LabVIEW を開かずにファイルのコピーを新しいフォルダに作成することも可能です。
もし間違った場所を参照しているアプリケーションがある場合、手作業で間違って参照された VI を正しく置き換えることができます。トップレベル VI を開いた状態で LabVIEW の表示メニュー >> VI 階層を開きます。さらに表示された画面の表示 >> ラベルに VI のフルパスを表示 チェックを入れます。それにより VI の存在するフルパスを確認することができるようになります。そこでサブ VI を開いて新しい場所に保存することができます。もし場所の間違いが非常に多い場合、アプリケーションの全てのコピーを別の場所に保存することで相対パスが再生成されます。これらの変更は LabVIEW 上で保存される必要があります。
関連リンク: LabVIEW 8.6 Help: Adding a Directory to VI Search PathLabVIEW 8.6 Help: Setting Path Options
添付:
報告日時: 08/21/2001
最終更新日: 12/16/2009
ドキュメントID: 2CKGQ6G4
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.