viをサブviとして使う
サブvi=サブルーチン、関数
LabVIEWではviとよばれるアイコンをブロックダイアグラム上に並べて、それを配線することでプログラムの論理、手順を構成する。 そうしてできたプログラムもまたviと呼ばれるわけだが、それだけである機能を持っているのであれば当然別のviからも呼び出して使いたい。 いわゆるサブルーチン化である。 c言語であれば関数として、引数とその戻り値を設定することで、ある機能をモジュール化することができる。 viにとっての引数は我々が制御する部分、すなわちフロントパネル上の制御器である。 戻り値に相当するものはviの出力である表示器であろう。(厳密には表示器はc言語の関数と異なり複数表示できる。むしろポインタによる値の受け渡しと捉えたほうがより正確かもしれない)
では、どのようにしたら外部のviから自分の作ったviを呼び出し、制御できるのか? ブロックダイアグラムのviを選択でも実行だけなら可能だが制御するには端子が必要となる。
各端子と各制御器、表示器をつなぐことで外部のviから呼び出し、プログラム的な制御とそのモニターが可能となる。 能書きは、この程度にしてその手順を見ていこう。
右上のアイコンは伊達じゃない
LabVIEWのウインドウには図のように右上にアイコンがある。
ここをダブルクリックするとアイコン編集画面が現れることを知っている方も多いのではないだろうか。 最近のバージョンではレイヤーも意識したアイコンの編集ができかなり、自由度の高いアイコンの編集ができるようになっている。 実は、端子(コネクタ)の編集もここから行うことができる。 マウスオーバーして右クリックメニューの「コネクタを表示」を選ぶとアイコンが小さい長方形に分割されたパターンへと変わる。(バージョン2011以降では上の図のようにアイコンの左にすでにコネクタが表示されているのでこの操作の必要はない)
(バージョン7以前では、ただの白い四角1つのみが表示される) この、小さい長方形一つ一つが、端子となりうる区画である。 この区画のパターンはコネクタを表示した状態で、もう一度マウスオーバーし、右クリックメニューの「パターン」から好きなのを選ぶことができる。 いつも使うパターンを決めておくと、viを動的に呼び出すときなどに必要だが初めのうちはあまり気にする必要がないだろう。
ここで、カーソルをマウスオーバーすると配線ツールに切り替わる。 (自動で切り替わらない場合ツールパレット上から配線ツールを選択する) この状態で、コネクタの一つをクリックすると網掛けになり、さらに制御器、もしくは表示機をクリックするとその型に合わせて、網掛けの部分に色がつく。
これで制御器とコネクタが接続される。 図はスライダ制御器とコネクタを接続した。コネクタの色がスライダ表示機の型である浮動小数の色(オレンジ)に変わったことがわかる。 このviをほかのviから呼び出して、ブロックダイアグラムに配置し、配線ツールのカーソルを近づけると確かにオレンジ色のこねくたが点滅するようになる。
また、詳細ヘルプ(Ctrl+H, ヘルプ » 詳細ヘルプ)にもこのviにコネクタが追加されたことが反映される。
ここに値を入力することで外部からviを制御したり、viの出力する結果を系統的に処理したりすることができる。
コネクタと制御器、表示器をつなぐ場合のコツとしては
- 制御器は左側、表示器は右側のコネクタと接続する。LabVIEWは基本的に左から右へと流れるフローチャート。
- エラーなど、入力、出力が対であるデータに対しては縦方向に同じ高さにあるコネクタにつなぐ。呼び出したとき、その配線が一直線上に並んで見通しが良くなる。
が挙げられる。
まとめ
- ブロックダイアグラム上に自作のviを呼び出すには「viを選択」にて行う。
- 呼び出したviの制御、モニターするには、制御器、表示器とコネクタをつなぐ必要がある。
- コネクタの接続はフロントパネル上でアイコンと制御器、表示器を交互にクリックして行う。
お約束
- LabVIEWはNI社の製品です。本サイトはLabVIEWを手軽にプログラミング、テストするツールとして用いているだけで特定の企業の製品の宣伝を目的とはしておりません。また、本記事により、利益、不利益を被っても本サイトは責任をとれません。自己責任でお願いします。