プロジェクト​エ​クス​プ​ローラ​で​NI LabVIEW​アプリケーション​を​管理​する​際​の​ベストプラクティス

概要

この​記事​は、​LabVIEW​で​大規模​アプリケーション​を​開発​する​ため​の​ソフトウェア​エンジニアリング​手法​と​その​ツール​に関する​シリーズ​の​一部​です。

ここ​を​クリックすると、​他の​記事​の​一覧​を​表示​でき​ます。


​この​記事​では​LabVIEW​プロジェクト​について​詳​しく​解説​し​ながら、​LabVIEW​アプリケーション​を​管理​および​整理​する​上​で​役に立つ​推奨​事項​を​ご​紹介​し​ます。​これらの​推奨​事項​を​活用​し、​実際​に​開発​を​始める​前​に​ガイドライン​と​手順​を​確立​する​こと​で、​多数​の​VI​を​使用​し​複数​の​開発​者​で​作成​する​アプリケーション​を​確実​に​拡張​できる​よう​に​なり​ます。 ​

内容

アプリケーション​ファイル​を​定義​および​識別​する

ファイル​の​保存​と​管理​に関する​ガイドライン​を​確立​する​に​は、​アプリケーション​が​どの​よう​な​構造​に​なる​か、​機能​を​どの​よう​に​分割​する​か​について​事前​に​検討​する​とともに、​ソース​コード​ファイル​以外​に​も​変更​の​追跡​が​重要​と​なる​ファイル​タイプ​について​考察​し​て​おく​必要​が​あり​ます。​それに​は​時間​を​十分​に​割​い​て、​どの​よう​にし​て​機能​の​コード​を​分割​する​の​か​を​決定​し、​ファイル​の​保存​場所、​追加​ファイル、​追加​リソース​について​開発​者​と​一緒​に​検討​し​て、​これら​を​適切​に​機能​させる​必要​が​あり​ます。​次​の​セクション​では、​検討​内容​に​基​づ​い​て​ディスク​上​で​ファイル​を​整理​する​際​の​基準​を​決定​し​ます。

ディスク​上の​ファイル​を​整理​する

ディスク​上​で​ファイル​を​整理​する​方法​は、​後に​な​って​から​考える​の​では​なく、​前もって​検討​する​必要​が​あり​ます。​大規模​な​アプリケーション​では、​この​点​について​十分​に​計画​し​て​お​か​ない​と、​開発​中​に​ファイル​の​移動​や​ファイル​名​の​変更​が​生​じ​て​余分​な​時間​が​か​かって​しま​い​ます。​管理​すべ​き​ファイル​が​多数​ある​とき​に、​この​よう​な​ファイル​操作​を​繰り返す​と、​LabVIEW​内部​における​リンク​の​整合性​や、​アプリケーション​の​動作​に​重大​な​リスク​を​もたらす​可能性​が​ある​ことに​留意​し​て​くだ​さい。​ファイル​の​整理​方法​を​なるべく​早い​段階​で​確立​し​て​お​け​ば、​後日多数のファイルをまとめて移動するリスクが軽減され、​ファイル​の​検索​や​新規​ファイル​の​保存​先​の​決定​が​容易​に​なり​ます。

ソフトウェア​開発​者​の​多く​は、​ファイル​の​保存​場所​を​決定​する​手法​と​システム​を​すでに​実践​し​てい​ます。​利用​可能​な​手法​と​構造​の​組み合わせ​は​たくさん​あり​ます​が、​以下​に​ご​紹介​する​の​は、​大規模​な​アプリケーション​に​も​応用​できる​こと​が​証明​さ​れ​て​いる、​確立​さ​れ​た​一般​的​な​手法​です。​ファイル​を​単一​の​ルート​ディレクトリ​に​格納​すると、​必要​な​ファイル​の​すべて​に​簡単​に​アクセス​でき​ます。​また、​命名​規則​を​定める​こと​で、​ファイル​の​検索​場所​や​新規​ファイル​の​保存​場所​が​わか​りや​すく​なり​ます。​ハード​ドライブ​上の​フォルダ​構造​を​利用​し​て​ファイル​を​グループ​化​し、​分類​する​方法​が​一般​的​です。​たとえば、​サブ​VI​と​発​呼​者​を​分離​し​ます。​これ​と​は​対照​的​に​平坦​な​ディレクトリ​構造​では、​ファイル​を​検索​する​こと​も、​トップ​レベル​VI​を​見つける​こと​も​難​しく、​たとえ​VI​の​数​が​少ない​場合​でも​推奨​さ​れ​ま​せん。​ファイル​を​グループ​化​する​ときには、​通常、​アプリケーション​内​における​ファイル​の​機能、​タイプ、​階層​構造​の​組み合わせ​を​基準​にし​て​検討​し​ます。​実際​に​は、​アプリケーション​内​の​ファイル​と​コード​の​関係​性​を​物理​的​に​表す​よう​な​形​で、​ディスク​を​整理​する​必要​が​あり​ます。

図​1 - LabVIEW​プロジェクトエクスプローラを使用せずに、​ディスク​上​で​サンプル​の​アプリケーション​を​整理​した例

図​1​では、​すべて​の​ファイル​を​ルート​ディレクトリ​内​に​まとめ​て​整理​し、​トップ​レベル​VI​を​依存​項目​から​分離​する​など​の​コンセプト​と、​各​フォルダ​に​ファイル​を​仕分け​する​ため​の​さまざま​な​基準​が​例示​さ​れ​てい​ます。

推奨​事項

  • 単一​の​ルート​ディレクトリ​に​すべて​の​ファイル​を​格納​する
  • アプリケーション​を、​管理​可能​な​サイズ​の​論理​単位​に​分割​する
  • 論理​的​かつ​記述​的​な​命名​規則​を​適用​する
  • トップ​レベル​VI​を​他の​ソース​コード​から​分離​する
  • 最初​に、​アプリケーション​の​主要​な​コンポーネント​を​配置​した​概要​ブロック​図​を​作成​する (たとえば、​この​ブロック​図​に​は​構成、​集録、​解析、​データ​表示、​データ​ロギング、​エラー​処理​に​使用​する​異なる​フレーム​ワーク​を​含める​こと​が​できる)
  • あらかじめ​定め​た​基準​に従って、​ファイル​の​グループ​化​や​仕分け​を​実施​する

動的​依存​と​共有​コード​に対する​配慮

動的​に​ロード​さ​れる​ファイル​について​は​別​の​問題​が​あり、​しばしば​特別​な​配慮​を​必要​と​し​ます。​動的​に​ロード​さ​れる​ファイル​に​は、​アプリケーション​内​の​発​呼​者​と​の​静的​な​リンク​が​一切​存在​しま​せん。​そのため、​ファイル​の​格納​場所​を​移動​した​とき、​または​何らかの​形​で​ファイル​パス​を​変更​した​とき​に、​その場所がどこかわからなくなったり、​忘れ​去​ら​れ​たり​する​こと​が​起​こ​り​がち​です。

この​よう​な​問題​を​できる​限り​防​い​で、​動的​に​アクセス​さ​れる​ファイル​の​すべて​を​正しい​場所​に​保管​する​に​は、​これらの​ファイル​を​別々​の​フォルダ​に​仕分け​し​て、​相対​パス​で​参照​し​ます。​そうすれば、​アプリケーション​の​移動​や​配布​が​必要​に​な​っ​た​とき​でも、​その​フォルダ​を​含める​だけ​で、​必要​な​ファイル​を​確保​する​こと​が​でき​ます。

大規模​な​アプリケーション​で​コード​を​共有​する​場合、​動的​に​アクセス​さ​れる​ファイル​の​保管​場所​と、​その​変更​によって​他の​発​呼​者​に対して​与える​想定​外​の​影響​について​留意​する​こと​が​重要​です。​完成​済み​の​コード​を​活用​し​て​開発​期間​を​短縮​できる​こと​から、​コード​の​再​利用​は​一般​的​かつ​奨励​さ​れる​手段​です。​類似​する​複数​の​アプリケーション​で​同様​の​機能​性​が​必要​と​さ​れ​たり、​異なる​ブランチ (分岐) の​コード​で​共通​する​VI​の​セット​が​参照​さ​れ​たり​する​こと​が​あり​ます。​同じ​コード​を​参照​する​処理​では、​多く​の​場合、​この​よう​な​ファイル​を​少なくとも​1​つ​の​アプリケーション​の​ルート​ディレクトリ​の​外部​に​置く​必要​が​あり​ます。​ただし、​この​よう​な​共通​VI​に​変更​を​加える​予定​が​ある​場合​に​は、​ローカル​コピー​を​作成​し​て​テスト​を​行い、​後​から​統合​し​ます。

また、​ソース​コード​管理​ツール​を​利用​すると、​ソフトウェア​の​複数​の​バージョン​を​追跡​し​て、​改訂​作業​によって​生​じ​た​変更​箇所​を​比較​する​こと​が​でき​ます。​ソース​管理​の​詳細​について​は、『LabVIEW​で​ソース​管理​を​使用​する』​を​参照​し​て​くだ​さい。

推奨​事項

  • 動的​に​ロード​さ​れる​依存​項目​は、​共通​の​フォルダ​に​保存​する
  • 動的​な​依存​項目​を​参照​する​場合​は​相対​パス​を​使用​する
  • 複数​の​アプリケーション​が​共有​する​コード​へ​の​変更​は​最小限​に​抑える
  • 共有​コード​を​変更​する​とき​は、​その​管理​と​統合​の​作業​に​十分​な​時間​を​かける
  • ソース​コード​管理​を​使用​する

ディスク​上の​ファイル​整理​の​まとめ

VI​の​サイズ​や​数​が​増大​し​て​も​問題​なく​開発​規模​を​拡大​できる​よう​に​する​に​は、​ディスク​上の​アプリケーション​を​整理​する​こと​は​欠​か​せ​ま​せん。​ただし、​これ​は​プロセス​の​最初​の​ステップ​に​過ぎ​ま​せん。​大規模​開発​特有​の​課題​は​他​に​も​たくさん​あり​ます​が、​LabVIEW​プロジェクト​エ​クス​プ​ローラ​など、​さらに​高度​な​手法​と​高​機能​の​ツール​を​用いる​こと​で​対処​でき​ます。

LabVIEW​プロジェクト​エ​クス​プ​ローラ

プロジェクト​エ​クス​プ​ローラ​は​LabVIEW 8.0​で導入され、​これ​によって​開発​者​は​アプリケーション​に​必要​な​ファイル​を​システム​レベル​で​確認​できる​よう​に​なり​ま​した。​LabVIEW​プロジェクト​エ​クス​プ​ローラ​は、​開発​環境​内部​で​簡単​に​ファイル​を​検索​し、​整理​できる​よう​に​開発​者​を​支援​し、​大規模​LabVIEW​アプリケーション​の​管理​と​開発​という​課題​に​対応​する​ため​の​機能​を​提供​する​こと​を​目的​として​い​ます。​LabVIEW​プロジェクト​エ​クス​プ​ローラ​の​初回​リリース​以降、​NI​は​お客様​の​ご​意見​を​基​にし​て​数々​の​新​機能​を​実装​してき​ま​した。​プロジェクト​エ​クス​プ​ローラ​ウィンドウ​の​最新​バージョン​に関する​詳細​は、​『LabVIEW​ヘルプ』​の​トピック「Managing a Project in LabVIEW」​を​参照​し​て​くだ​さい。

図​2 - 図​1​と​同じ​アプリケーション​を​LabVIEW​プロジェクト​エ​クス​プ​ローラ​で​整理​した​場合

LabVIEW​プロジェクト​を​使用​すると、​LabVIEW​ファイル​や​その他​の​ファイル​を​グループ​に​まとめ、​ビル​ド​仕様​を​作成​し、​ファイル​を​ターゲット​に​デプロイ​または​ダウンロード​でき​ます。​LabVIEW​プロジェクト​を​保存​すると、.lvproj​という​ファイル​が​作成​さ​れ​ます。​この​ファイル​に​は、​ディスク​上の​ファイル​へ​の​リファレンス、​変数、​ハイ​パー​リンク、​構成​情報、​ビル​ド​情報、​デプロイメント​情報​など​が​格納​さ​れ​ます。

LabVIEW​プロジェクト​エ​クス​プ​ローラ​によって、​既存​の​ファイル​が​ディスク​上の​新しい​場所​へ​複製​または​コピー​さ​れる​こと​は​ありま​せん。​その​代わり、​ディスク​上の​ファイル​が​新た​な​方法​で​表示​さ​れる​ほか、​ディスク​上の​ファイル​格納​場所​へ​の​ショートカット​が​用意​さ​れ​ます。​LabVIEW​プロジェクト​エ​クス​プ​ローラ​を​使用​すると、​以下​の​こと​が​可能​に​なり​ます。

  • LabVIEW​環境​の​中​から、​簡単​に​ファイル​に​アクセス​し​て​操作​できる
  • ファイル​の​整理​方法​を​変更​した​り​フィルタ​を​適用​した​り​できる
  • リンク​を​保持​し​ながら、​ディスク​上の​ファイル​の​移動​や​名前​変更​を​実行​できる
  • 不正​な​リンク​を​防止、​検出、​および​解決​できる
  • 特定​の​ハードウェア​ターゲット​向け​の​コード​を​管理​できる1
  • ビル​ド​仕様​を​管理​できる1
  • ソース​コード​管理​ツール​を​統合​できる1

1この​トピック​は、​この​記事​では​取り上げ​ま​せん。

この​記事​で​説明​さ​れ​て​いる​機能​の​一部​は、​LabVIEW 8.5​以降​で​のみ​利用​できる​ことに​ご​注意​くだ​さい。​LabVIEW​最新​版​の​新​機能​について​は、「LabVIEW​の​新​機能」​を​参照​し​て​くだ​さい。 

プロジェクト​エ​クス​プ​ローラ​で​ファイル​を​管理​する

LabVIEW​プロジェクト​では、項目ページとファイルページの​2​箇所​に​ファイル​が​表示​さ​れ​ます。

図​3 - ファイルページ​に​は、​プロジェクト内のすべての項目がフィルタ処理されてディスク上の場所が表示され、​コピー​や​ファイル​名​の​変更​など​の​ファイル​操作​も​可能

デフォルト​で​表示​さ​れる​のは項目ページ​です。​この​ページ​では、​LabVIEW​プロジェクトに追加した項目がハードウェアターゲットごとにまとめられ、​ツリー​状​に​表示​さ​れ​ます。​項目​表示​で​フォルダ​を​作成​すると、​ファイル​の​整理​方法​を​変更​した​り、​ディスク​上の​特定​の​場所​と​同期​でき​ます。​ほとんど​の​場合、​項目​ページ​で​作業​し​ます。

項目ページ​では、​ディスク​から​ファイル​を​削除​する​こと​は​でき​ま​せん。​ユーザ​が​誤​って​コード​を​削除​する​こと​の​ない​よう​に​設計​さ​れ​てい​ます。​ただし、ファイルページ​で​項目​を​右​クリック​し、ディスク​へ​移動...を​選択​すると、​コード​を​コンピュータ​上の​ファイル​として​まとめる​こと​が​でき​ます。

ファイルページ​では、​ディスク​上​に​対応​する​ファイル​を​持つ​項目​の​実際​の​格納​場所​が​表示​さ​れ​ます。​この​ページ​では、​移動、​コピー、​削除​など、​システム​の​ファイルブラウザ​内​で​行う​通常​の​ファイル​操作​が​可能​です。​変更​は​LabVIEW​によって​認識​さ​れる​ため、​変更​が​加​え​ら​れ​た​ときには​LabVIEW​によって発呼者が更新され、​リンク​が​保持​さ​れ​ます。

LabVIEW​プロジェクト​エ​クス​プ​ローラ​の​中​で​ファイル​階層​に​変更​を​加​えて​も、​ディスク​上の​ファイル​の​レイアウト​に​は​影響​を​与​え​ま​せん。​それでも、​LabVIEW​プロジェクト​内​の​階層​構造​は、​できる​限り​実際​の​ディスク​上の​階層​構造​を​反映​する​よう​にし​て​くだ​さい。

LabVIEW​プロジェクト​で​フォルダ​を​使用​する

仮想​フォルダ​と​自動​更新​フォルダ​の​2​種類​の​フォルダ​を​使用​し​て、​LabVIEW​プロジェクト​の​内容​を​整理​する​こと​が​でき​ます。​仮想​フォルダ​を​使用​すると、​ディスク​上の​階層​構造​に​変更​を​加える​こと​なく​プロジェクト​項目​の​構造​を​変更​でき​ます。

図​4 - LabVIEW​プロジェクト​エ​クス​プ​ローラ​で​ファイル​を​整理​する​とき、​自動​更新​フォルダ​と​仮想​フォルダ​の​どちら​か​を​選択​できる

ディスク​上の​保存​先に​一切​変更​を​加える​こと​なく、​LabVIEW​の​ファイル​構造​を​変更​した​い​場合​に​は、​仮想​フォルダ​が​最適​です。​ディスク​上の​フォルダ​を、​仮想​フォルダ​として​LabVIEW​プロジェクト​エ​クス​プ​ローラ​に​追加​すると、​その​フォルダ​は​追加​時点​で​の​スナップショット​を​表す​ことに​なり​ます。​後​から​新規​に​ファイル​を​追加​する​など​の​変更​を​加​えて​も、​その​変更​は​LabVIEW​プロジェクト​に​反映​さ​れ​ま​せん。​ただし、​LabVIEW​プロジェクト​に​新しい​ファイル​を​ドラッグ​する​か、​仮想​フォルダ​を​一時​的​に​自動​更新​フォルダ​に​変換​する​こと​で、​手動​で​変更​でき​ます。

仮想​フォルダ​を​使用​すると、​ディスク​上の​別々​の​場所​に​ある​複数​の​ファイル​を、​LabVIEW​プロジェクト​エ​クス​プ​ローラ​内​で​グループ​化​する​こと​が​でき​ます。​また、​LabVIEW​プロジェクト​エ​クス​プ​ローラ​に​表示​する​情報​を​フィルタ​処理​し​て​表示​する​こと​で、​ファイル​が​不要​な​項目​と​同じ​グループ​に​まとめ​ら​れ​てい​ない​か​確認​する​こと​も​でき​ます。

自動​更新​フォルダ​は、​ディスク​上の​フォルダ​内容​を​自動的​に​反映​できる​よう​LabVIEW 8.5​から​導入​さ​れ​ま​した。​自動​更新​フォルダ​は、​物理​的​な​フォルダ​と​同期​し​てい​ます。​そのため、​LabVIEW​開発​環境​外部​で​フォルダ​に​加​え​ら​れ​た​どの​よう​な​変更​も​常に​反映​さ​れ​ます。​できる​限り​自動​更新​フォルダ​を​使用​し​て、​LabVIEW​プロジェクト​エ​クス​プ​ローラ​内​で​ディスク​の​階層​構造​を​保持​する​よう​にし​て​くだ​さい。​プロジェクト​ライブラリ​や​LabVIEW​クラス​の​管理、​または​大量​の​クロス​リンク​の​解決​を​目的​として、​自動​更新​フォルダ​を​使用​する​こと​は​推奨​さ​れ​ま​せん。

推奨​事項

LabVIEW​プロジェクト​エ​クス​プ​ローラ​で​自動​更新​フォルダ​および​仮想​フォルダ​を​使用​し​て、​アプリケーション​の​各​ファイル​を​組織​化​および​構造​化​しま​しょう。​自動​更新​フォルダ​は​ディスク​上の​階層​構造​を​保持​する​ため​に​最適​な​機能​ですが、​使用​でき​ない​場合​や​カスタマイズ​が​必要​な​場合​が​あり​ます。​その​よう​な​場合​は、​LabVIEW​プロジェクト​エ​クス​プ​ローラ​で​仮想​フォルダ​を​使用​し​て​ファイル​の​構造​を​カスタマイズ​し​て​くだ​さい。

依存​項目

発​呼​者​VI​を​開く​と、​静的​に​リンク​さ​れ​た​すべて​の​サブ​VI​が​LabVIEW​によって​自動的​に​メモリ​に​ロード​さ​れ​ます。​発​呼​者​VI​が​LabVIEW​プロジェクト​エ​クス​プ​ローラ​に​ロード​さ​れる​際​に、​まだ​サブ​VI​が​LabVIEW​プロジェクト​に​追加​さ​れ​てい​ない​場合​に​は、​該当​する​サブ​VI​が​LabVIEW​プロジェクト​エ​クス​プ​ローラの依存​項目セクション​に​自動的​に​追加​さ​れ​ます。​LabVIEW 8.5​以降、​アプリケーション​開発​者​が​記述​した​ファイル​と​他の​ファイル​を​識別​し​や​すく​する​ため​に、​ユーザ​依存​項目​が​vi.lib​の​内容​から​分離​さ​れ​てい​ます。

LabVIEW​プロジェクト​に​ファイル​を​追加​すると、​アプリケーション​で​使用​さ​れる​ファイル​と​リソース​が​LabVIEW​によって​認識​さ​れ​ます。依存​項目セクション​を​調べ​て、​必要​な​ファイル​が​すべて​LabVIEW​プロジェクト​に​追加​さ​れ​て​いる​こと​を​確認​し​て​くだ​さい。​追加​さ​れ​てい​ない​ファイル​が​ある​場合、​この​セクション​に​その​ファイル​が​一覧​表示​さ​れ​ます。​これ​は、​目的​と​する​サブ​VI​の​コピー​を​確実​に​使用​できる​よう​に​する​ため​の​重要​な​作業​です。

LabVIEW​プロジェクト​内​の​VI​が、​誤​っ​た​サブ​VI​に​リンク​さ​れる​こと​が​あり​ます。​その​よう​な​状況​では、​使用​する​サブ​VI​の​コピー​を​LabVIEW​プロジェクト​に​追加​した​とき​に、​同じ​名前​を​持つ​別​の​サブ​VI​に​1​つ​以上​の​発​呼​者​が​誤​って​リンク​さ​れる​可能性​が​LabVIEW​に​伝え​ら​れ​ます。​一般​的​に、​この​状況​は​クロス​リンク​と​呼​ば​れ​ます。 

クロス​リンク

LabVIEW​は、​発​呼​者​側​で​格納​さ​れ​て​いる​場所​から​サブ​VI​を​開く​際、​相対​パス​を​使用​し​ます。​想定​さ​れ​た​場所​で​サブ​VI​が​見​つ​から​ない​場合、​名前​で​サブ​VI​を​検索​し​ます。​LabVIEW​は、​その​名前​で​検索​し​て​最初​に​見​つ​か​っ​た​サブ​VI​を​メモリ​に​ロード​し、​リンク​が​修正​さ​れ​た​こと​を​ユーザ​に​伝え​ます。​名前​は​同じ​だが​機能​が​異なる​VI (Initialize.vi​など) が​複数​ある​場合、​または​同一​VI​に​2​つ​の​バージョン​が​あっ​て、​それら​が​別々​の​場所​に​存在​する​場合、​LabVIEW​が​誤​っ​た​ファイル​に​リンク​し​て​しまう​可能性​が​あり​ます。

クロス​リンク​を​防ぐ

クロス​リンク​が​よく​発生​する​の​は、​ディスク​の​新しい​場所​に​コード​の​階層​構造​を​複製​しよう​として​多数​の​ファイル​を​まとめ​て​移動​または​コピー​した​場合​です。​相対パスが変わるとリンクが壊れて、​アプリケーション​が​誤​っ​た​依存​項目​セット​に​予期​せ​ず​リンク​さ​れる​可能性​が​あり​ます。

LabVIEW​は、​同じ​名前​を​持つ​2​つ​の​異なる​VI​を​メモリ​に​ロード​する​こと​は​でき​ま​せん。​したがって、​2​つ​の​アプリケーション​を​開​い​た​とき​に、​双方​が​同じ​名前​を​持つ​異なる​サブ​VI​を​参照​し​て​いる​と、​一方​の​アプリケーション​が​誤​っ​た​依存​項目​を​使用​し​て​実行​さ​れる​ことに​なり​ます。

 推奨​事項

ここ​に​挙げる​いくつか​の​対策​を​講じる​こと​によって、​クロス​リンク​を​防止​する​こと​が​でき​ます。

  • 共通​の​依存​項目​を​持つ​複数​の​アプリケーション​を​同じ​マシン​上​で​同時に​操作​する​こと​を​避ける
  • ソース​コード​管理​アプリケーション​を​使用​し​て、​各​ファイル​の​正確​な​格納​場所​を​指定​し、​発​呼​者​が​正しく​リンク​さ​れ​た​状態​を​保持​する
  • アプリケーション​の​セグメント​の​移動​や​コピー​を​避ける
  • すべて​の​ファイル​を​LabVIEW​プロジェクト​に​追加​し​て、​使用​する​リソース​を​指定​する
  • Initialize.vi​など​の​一般​的​な​名称​を​使用​しない
  • ネーム​スペース​として​プロジェクト​ライブラリ​を​使用​する​こと​で、​一般​的​な​ファイル​​名​を​修飾​し​て​一意​の​名前​に​する

競合​を​識別​する

正しい​リンク​を​確保​する​こと​は、​すべて​の​プログラミング​言語​で​共通​する​課題​です。​注意​深​く​対処​する​こと​によって​クロス​リンク​の​発生​を​最小限​に​抑え​て、​正しく​リンク​さ​れ​た​ファイル​の​バックアップ​を​作成​する​こと​は​可能​です。​ただし、​大規模​アプリケーション​の​開発​ベンダ​にとって​は​依然として​大きな​懸念​が​残り​ます。​LabVIEW 8.5​では、​LabVIEW​プロジェクト​で​開発​者​が​クロス​リンク​を​検出​し​て​解決​する​ため​に​役に立つ​新​機能​が​複数​導入​さ​れ​ま​した。

図​5 - LabVIEW​は​競合​を​自動的​に​通知​する​こと​が​できる

クロス​リンク​関連​で​最も​便利​な​機能​と​言える​の​は、​VI​が​呼び出し​て​いる​サブ​VI​が​LabVIEW​プロジェクト​に​追加​さ​れ​た​ファイル​と​同じ​名前​で​ある​か​どうか​を、​LabVIEW​プロジェクト​で​判別​できる​機能​で​しょう。​LabVIEW​は、​ファイル​アイコ​ン​に​黄色​の​警告​を​表示​し​て​通知​し​ます。​この​とき、​さらに​ファイル​情報​を​確認​し​て、​どの​ファイル​が​正しい​バージョン​か​を​判断​する​に​は、​以下​の​方法​が​あり​ます。

  • LabVIEW​プロジェクト​エ​クス​プ​ローラ​で、.lvproj​ファイル​を​右​クリック​して発​呼​者​が​ない​項目​を​検索を​選択​する。 トップ​レベル​VI​以外​に​リンク​さ​れ​てい​ない​VI​が​あれ​ば、​ここ​に​表示​さ​れ​ます。
  • VI​を​右​クリック​して検索​→​発​呼者を​選択​し、​その​VI​の​発​呼​者​の​有無​と、​発​呼​者​VI​を​確認​する。
  • メニュー​ツール​バーでプロジェクト​→​項目​パス​を​表示を​選択​し、項目ページ​に​ある​すべて​の​ファイル​について​ディスク​上の​位置​を​確認​する。
  • ツール​バーの競合​を​解決アイコ​ン​を​クリック​し、​クロス​リンク​さ​れ​た​すべて​の​VI​について、​その​詳細​を​確認​する。

クロス​リンク​を​確認​し​て​リンク​の​修正​方法​を​決定​したら、​手作業​で​修正​する​こと​も、​LabVIEW​プロジェクト​エ​クス​プ​ローラ​の​ツール​を​使用​し​て、​その​指示​に​沿​って​修正​する​こと​も​でき​ます。

 競合​を​解決​する

LabVIEW​によって​競合​を​検出​した​後、​いくつか​の​方法​を​使​って​その​競合​を​解決​する​こと​が​でき​ます。​以下​の​推奨​事項​に従う​と、​サブ​VI​へ​の​リンク​を​確実​に​保持​し​ながら、​必要​な​変更​を​行う​こと​が​でき​ます。

推奨​事項

  • 自動​更新​フォルダ​内​に​競合​が​ある​場合、​自動​更新​を​停止​する​か、​またはファイルページ​で​項目​名​を​変更​する​こと​によって​競合​を​解決​する。
  • 1​つ​または​複数​の​発​呼​者​が​LabVIEW​プロジェクト​エ​クス​プ​ローラ​外部​の​誤​っ​た​サブ​VI​に​リンク​さ​れ​て​いる​場合​は、​LabVIEW​プロジェクト​内​で​これらの​発​呼​者​VI​の​リンク​を​適切​な​サブ​VI​に​修正​する。​LabVIEW​プロジェクト​エ​クス​プ​ローラ​ウィンドウ​で、​競合​が​発生​し​て​いる​VI​を​右​クリック​し、​ショートカット​メニュー​から置換を​選択​し​て、​ディスク​上の​正しい​サブ​VI​を​選択​する。​この​手順​を​繰り返し​て、​残​って​いる​すべて​の​競合​を​解決​する。
  • 発​呼​者​が​同じ​名前​の​複数​の​項目​を​参照​し​て​いる​ものの、​ディスク​上​に​は​1​項目​のみ​が​存在​する​場合、​競合​する​項目​を​右​クリック​し​て​ショートカット​メニュー​からプロジェクト​が​検索​した​項目​で​置換を​選択​する。
  • 同じ​名前​の​複数​の​項目​が​LabVIEW​プロジェクト​に​追加​さ​れ​て​おり、​その​すべて​を​アプリケーション​内​で​使用​する​場合、​項目​の​名前​を​変更​する​か、​または​別々​の​プロジェクト​ライブラリ​に​追加​し​て​名前​を​修飾​する。

プロジェクト​の​競合​を​解決ダイ​ア​ログ​ボックス​を​使用​すると、​上記​の​推奨​事項​を​自動​で​実行​でき​ます。プロジェクト​エ​クス​プ​ローラウィンドウ​からプロジェクト​→​競合​を​解決を​選択​し、プロジェクト​の​競合​を​解決ダイ​ア​ログ​ボックス​を​表示​し​ます。競合​を​解決ツール​バー​ボタン​を​クリック​する、​または​LabVIEW​プロジェクト​エ​クス​プ​ローラ​ウィンドウ​で​競合​する​項目​を​右​クリック​し​て​ショートカット​メニュー​から競合​を​解決を​選択​し​て​も、​この​ダイ​ア​ログ​ボックス​を​表示​でき​ます。 

図​6 - 正しい​サブ​VI​を​選択​する​よう​促​し​て​いるプロジェクト​の​競合​を​解決ダイ​ア​ログ​ボックス

この​ダイ​ア​ログ​ボックス​に​含​ま​れる​コンポーネント​は、​以下​の​とおり​です。

  • 競合 ― 修飾​名​で​プロジェクト​の​競合​を​表示​する。
  • 比較 ― 2​つ​の​競合​する​VI​を​比較​する。
  • 選択​さ​れ​た​項目​を​使用 ― 使用​する​項目​を​選択​する​際​に​競合​を​解決​する。​競合​リスト​に​トップ​レベル​項目​のみ​が​含​ま​れる​場合、​LabVIEW​は​選択​さ​れ​た​項目​を​除​き​競合​リスト​内​に​ある​すべて​の​項目​を​LabVIEW​プロジェクト​から​削除​する。プロジェクト​の​競合​を​解決ダイ​ア​ログ​ボックス​で​自動​更新​フォルダ​を​修正​する​こと​は​でき​ない。​その​項目​を​手動​で​解決​する​か、​フォルダ​を​右​クリック​し​て​ショートカット​メニュー​から自動​生成​を​停止を​選択​し​て​自動​更新​フォルダ​を​無効​化​する​こと​は​できる。

この​ダイ​ア​ログ​ボックス​を​使用​する​場合、​正しい​パス​から​依存​項目​を​呼び出す​よう​競合​項目​を​リ​ダイレクト​する​こと​で​競合​を​解決​し​ます。

まとめ

この​記事​の​推奨​事項​を​活用​する​こと​で、​確実​に​アプリケーション​開発​の​規模​を​拡大​する​ため​の​開発​および​アプリケーション​管理​の​ガイドライン​を​確立​する​こと​が​でき​ます。​ディスク​上の​ファイル​を​組織​化​する​方法​について​十分​に​検討​し​て​から、​ファイル​分類​の​基準​を​確立​し​て​くだ​さい。​LabVIEW​プロジェクト​エ​クス​プ​ローラ​を​使用​し​て​アプリケーション​を​システム​レベル​で​表示​する​こと​で、​ファイル​へ​の​アクセス​が​容易​に​なる​ほか、​クロス​リンク​検出​ツール​を​最大限​活用​できる​よう​に​なり​ます。

Was this information helpful?

Yes

No