■Viに名前を付けよう

   LabVIEWは、Viを呼び出した時、そのVIが必要なサブViを順次読込んでいきます。
   この時、すでにメモリ上にあるViは呼び込みません。
   又、指定されたパスにViがない場合は、オプションで設定されたVi検索パスか現在のパスより下のライブラリにViを探しにいきます。
   LabVIEWにとって、Viを識別する唯一の目印がVi名です。
   Vi名が同じであれば、機能や端子が違っても読込むし、メモリ上に同じ名前のViがあれば、読込みません。

   つまり、本来読込むべきViと異なるViを読込んでしまう可能性があるのです。
   動作していたViがパスを変えたり、ライブラリを追加したら動かなくなったということを経験したことがあると思います。
   これらの原因は、
 
   1.メモリ上に同じVi名で機能・端子の違うViが存在した
    Viは、いくつかのサブViから構成されており、それらはメモリ上に存在します。
    先にロードされたViの中に同じVi名で機能・端子の違うサブViが存在していると必要なViをロードしません。

   2.検索パス上に同じVi名で機能・端子の違うViが存在した
    指定されたパスにViが存在しない場合、LabVIEWは、指定されたパスにViを探しにいきます。
    パス上に、同じ名前のViが存在したり、デバッグ前のVi等があると、それをサブViと認識して読込んでしまいます。

   ダイアログが壊れれば、いいのですが、たまたま同じ端子仕様だったりすると動いてしまう不安定だったりする)ので要注意です。
   では、どうすればこのようなことを回避できるのでしょうか?

   1.ライブラリ固有のVi名を付ける
    Vi名のヘッダとして、ライブラリ名を付けます。(例:Ocs001.LLBのViには、Ocs001_Wait.vi,Ocs001_ReadFile.vi等)
    こうすれば、似たような機能でも同じVi名になることはありません。

   2.バックアップは、違うドライブやフォルダにする
    VIのあるフォルダの下にバックアップをすると、バックアップライブラリからサブVi引っ張ってくることがあります。
    別のドライブやフォルダにバックアップを取ることによりサブViの読込みミスを防ぐことができます。

    せっかくデバッグしたプログラムを無駄にしないように、Viの名称とバックアップの方法には、細心の注意を払いましょう。

  [Home] [前へ] [次へ]

   このWebサイトに関するご質問やご感想などについては、info@ocs-lv.co.jpまで電子メールでお送りください。
   本ホームページに関する著作権は、(有)オーシーエスに帰属します。 又、記載されている会社名・商品名称等は各社の商標または登録商標です。
   掲載されている内容の使用に関して、直接的及び間接的に生じる一切の損害についていかなる責任もおいません。
   当社は、日本ナショナルインスツルメンツ(株)社のアライアンスプログラムのアソシエイト会員です。
   Copyright(C)2001 (有)オーシーエス
   最終更新日:2003-04-04