LabVIEWを触ったことがない方に向けて、それなりのプログラムが書けるようになるところまで基本的な事柄を解説していこうという試みです。
シリーズ20回目としてプログラムを管理するためのプロジェクトエクスプローラのお話しです。
この記事は、以下のような方に向けて書いています。
- 複数のVIの管理はどうするの?
- プロジェクトエクスプローラではどんなことができるの?
- 仮想フォルダと自動更新フォルダの違いは?
もし上記のことに興味があるよ、という方には参考にして頂けるかもしれません。
なお、前回の記事はこちらです。
プロジェクトエクスプローラとは
ここまでの内容でプログラムを書く準備はいよいよ整ってきました。実際にプログラムを書くためのノウハウ、デザインパターンを次回紹介していくのですが、その前に重要な「プロジェクトエクスプローラ」の扱い方についてみていきます。
プロジェクトエクスプローラには次のような役割があります。
- 関連したVIを管理できる
- プログラムに関連するファイルもまとめておける
- 特定のフォルダに紐づけてファイルを管理できる
- 実行ファイルやインストーラを作れる
ともあれ、そもそもどんなものなのか、まずは実際に簡単なプロジェクトエクスプローラの例を見てみます。
NIサンプルファインダの中にある「基本機能」フォルダの中の「ファイル入力と出力」、「スプレッドシート」の中にあるTab-Delimited Data.lvprojというサンプルを開きます。すると、VIではなく、別のウインドウが立ち上がるはずです。
このウインドウがプロジェクトエクスプローラです。中には、マイコンピュータと書かれている部分の下に二つのVIが表示されています。これらのVIはこの「プロジェクト」に関連するプログラムとしてプロジェクトエクスプローラにまとめられている、と言えます。
一目で、これらはまとまっているんだなということがわかりますよね。また「ファイル」のタブを選択すると、それぞれのVIが使用しているPCのどこのディレクトリにあるかも確認できます。
ある程度大きなプログラムを作るとなると、メインのVI以外にもたくさんのサブVIやタイプ定義した制御器(ctlファイル)等を扱うことになります。これらを管理するための仕組みとしてプロジェクトエクスプローラがある、と思ってください。
プロジェクトエクスプローラを作ってみる
実際にプロジェクトエクスプローラを作って色々確かめてみることにします。
基本的にプロジェクトエクスプローラは一番最初(VIを作り始める前)に用意しておくのがいいのですが、VIを作ってからそのVIを含んだプロジェクトエクスプローラを作ることもできます。
プロジェクトエクスプローラはLabVIEWの最初の画面で「プロジェクトを作成」から作ります。クリックしたら、ブランクプロジェクトを選びます。すると何もVIのない状態のプロジェクトエクスプローラが作成されます。
ここで、Ctrl + Nあるいはマイコンピュータを右クリックで新規からVIを選択してVIを作ります。すると、そのVIはプロジェクトエクスプローラのマイコンピュータの下に表示されるようになります。サブVIなど複数のVIがある場合も、同様な作り方をすることでこのマイコンピュータの下にどんどん表示されていきます。
例えば、あるメインVIと他に3つのサブVI、そしてこれらのVIで使用されていたタイプ定義が2つあったとします。これらはプロジェクトエクスプローラ上に無造作に置かれています。
でも「管理する」というからにはもう少し見た目にわかりやすくしたいですよね?そういうときにはマイコンピュータを右クリックして作成から仮想フォルダを選択します。
これは、文字通り「プロジェクトエクスプローラ上のみに存在する仮想的なフォルダ」です。実際のPCにこのフォルダがあるわけではなく、メインVIやctlファイルを区別、整理するために使用します。
例えば上の図ではsub1.viとsub2.viをsubprogramという名前の仮想フォルダに入れてプロジェクト内のVIを整理していますが、このsubprogramファルダは実際にPC上のフォルダではなく、あくまでこのプロジェクトエクスプローラ内限定で整理するためだけに使用されているフォルダとなっています。
もちろん、仮想フォルダは複数構成可能なので、ctlファイルを入れる用の仮想フォルダを入れることもできますし、その他のファイルも入れることができます。
「その他のファイルって、VIとctlファイル以外に何があるの?」と思われるかもしれませんが、テキストファイルやpdfなどもこのプロジェクトエクスプローラに含めることができるため、そういったファイル(プログラムと直接関係がない、readmeファイルなど)を扱うのにも適しています。
テキストファイルを含め、既存のファイルをプロジェクトエクスプローラに追加するには、マイコンピュータを右クリックして「追加」から「ファイル」を選択します。
ここで注意する必要があるのは、「プロジェクトエクスプローラはそのVIおよびファイルへのリンクを示しているのに過ぎない」ということです。
例えば、プロジェクトエクスプローラ上のあるVIを「プロジェクトから削除」したとします。それでも、そのVIはそのPCから消えたりはしていません。あくまでプロジェクトエクスプローラ上から消えただけなのです。
ただし、「そのVIおよびファイルへのリンク」というのはいわゆるPC上のファイルへのパスを記録している状態でもあるので、VIやファイルを別の場所に移すとプロジェクトエクスプローラ上ではエラーが起きてしまいます。
エラーが起きたviを開こうとするとLabVIEWはそのviを検索しようとしますが、LabVIEWが見つけられない場合には、ユーザーが「この場所にあるこのviですよ」ということを指定する必要があるため、どちらにしろVI等のファイルパスを変更する際には注意が必要です。
また、VIやctlファイルについては勝手に名前を変更することもできません。もし変更する必要がある場合には、プロジェクトエクスプローラ上から対象を右クリックして「名前を変更」とする必要があります。
実際のフォルダを登録する
さて、プロジェクトエクスプローラはファイルを単体ではなくフォルダごと追加することもできるのですが、二種類あって以下のように区別できます。
- スナップショット:「追加」をした時点でのそのフォルダの中身を登録する。追加後にそのフォルダの中のファイルの状態が変わってもプロジェクトエクスプローラ上では変化なし
- 自動更新:「追加」をして以降、常にそのフォルダの実際のファイルの中身を反映する
例えば、デスクトップ上にあるtestprogramというフォルダにVIが二つ入っていたとします。
プロジェクトエクスプローラで追加からまずはスナップショットを選択します。すると、先ほど説明した仮想フォルダのアイコンが表れます。
ここに、別のパスにあった3つめのVIを追加したとします。それでも、プロジェクトエクスプローラ上では先ほど追加した2つしか表れていません。
これは、「追加」の時点でフォルダの情報をプロジェクトエクスプローラに登録したものの、仮想フォルダがPCとは独立して存在しているためです。独立しているので、一度できた仮想フォルダはたとえPC上の実際のフォルダを元に生成されたとしても、その後のフォルダの状態とは一切関わりがありません。
では一度この仮想フォルダを消し(右クリックしてプロジェクトから削除)、今度は追加で自動更新を選択します。すると、仮想フォルダとは少し違うアイコンになりました。
この状態で、先ほど追加していたVIを別の場所にまた移してやります。するとプロジェクトエクスプローラ上でも反映されるようになりました。
この自動更新フォルダは、仮想フォルダとは異なり、実際のPC上の特定のフォルダを常に監視しています。そのため、そのフォルダの中身をそのままプロジェクトエクスプローラで反映します。
VIやctlファイルは、一つのプロジェクトエクスプローラにしか属すことができないわけではありません。なので、汎用的に使用されるようなサブVIを自動更新フォルダにいれておくと、どのプロジェクトからもアクセスでき、常に最新の状態のサブVIを使用することができるようになります。
一方でこのようにした場合には不用意な更新をサブVIに加えてしまったためにあるプロジェクトのメインVIが動かなくなってしまうということも起こりえるので注意します。
仮想フォルダか自動更新フォルダにするかは適宜考える必要があるかもしれませんが、これらの機能を使って効率よく複数のファイルを管理することが大切です。
実行ファイルやインストーラ作成に必要
ここで詳しくは扱いませんが、プロジェクトエクスプローラから実行ファイル(EXEファイル)やインストーラを作ることができます。いや、むしろ実行ファイルを作るためにはプロジェクトエクスプローラが必須です。
実行ファイルとは、LabVIEWが入っていないPCでもLabVIEWのプログラムが実行できるよう、拡張子がexeとなったプログラムのことです。また、インストーラは、そういったexe含め、そのexeを動かすのに必要な周辺ソフトを任意のPCにインストールすることができるソフトです。周辺ソフトとしてはLabIVEWのランタイムソフトが挙げられます(ランタイムソフトがないとLabVIEWで作ったexeを実行すること自体ができません)。
今回の記事ではexeの作り方は詳しくは取り上げません。作り方について知りたいという方はこちらの記事をどうぞ。
いざある程度の大きさのプログラムを作るとなったら、プロジェクトエクスプローラによる管理は必ず行うようにすることをオススメします。各VIの関係等をLabVIEW内で完結して管理できるので活用しない手はないです。
さて、プロジェクトエクスプローラについて基本的な使い方は以上になります。次回はようやく、本格的なプログラムのテンプレートである、ステートマシンについて紹介していきます。
もしよろしければ次の記事も見ていってもらえると嬉しいです。
ここまで読んでいただきありがとうございました。
コメント