LabVIEWを触ったことがない方に向けて、それなりのプログラムが書けるようになるところまで基本的な事柄を解説していこうという試みです。
シリーズ8回目として今後のためにもヘルプの活用方法を見ていきます。
この記事は、以下のような方に向けて書いています。
- LabVIEWで多く関数が出てきたけれど使い方がわからない
- ヘルプで調べるのがめんどくさいけどどうすればいい?
もし上記のことに興味があるよ、という方には参考にして頂けるかもしれません。
なお、前回の記事はこちらです。
関数の使い方、挙動を知るには
前回、テキストやデータをファイル保存するプログラムを扱いました。ファイル操作にはファイル操作に関連した関数パレットがあり、そこにある専用の関数を使うことでファイルにデータを保存することができていました。
今後も様々なトピックを扱う上で新たな関数を扱いそれに慣れる必要があります。
ただ、新たな関数はそもそも使い方が分からなかったりします。やりたいことがあってこの関数を使えばよさそうといったことが分かっても、使い方が分からなければ使うことはできませんよね。
例えば、前回のファイル保存のプログラム、保存する先のファイルパスを指定しなくてもダイアログが開いてプログラムが実行できました。「このファイルを使うよ」ということを指定する関数なのに、そもそもファイルの指定をプログラム上でしなくてもよかったわけです。
実際、実行したらファイル指定のためのダイアログが開いていました。なのでプログラムで指定をしなくてもよかったわけです(指定をすることもできますが)。
なぜ、ダイアログが開くことが分かったと思いますか?え、慣れていて知っていたから?もちろん私は慣れていて知っていましたが、初めてある関数を使う場合でもその関数の挙動を調べることはできます。
LabVIEWでは、簡易的にであればそこまでめんどくさくなく関数の使い方を知ることができます。今後のためにもこの辺りの話をしていこうと思います。
せっかくなので作ったファイル保存のプログラムを例にとります。ファイルを開くの関数に注目したときに、前回では入力の部分に「操作」と書かれた列挙体定数をワイヤで配線していました。この一つ上、ファイルを開くの関数の一番左上側にマウスカーソルを合わせると、「ファイルパス(ダイアログを使用)」と表示される部分が見つかるはずです。
これは「この部分には保存先ファイルのパスを指定します、もし何もワイヤでつながれていない場合にはダイアログを使用してユーザーがパスを指定できます」という意味になります。
括弧内に書かれたものは「デフォルト値」として、何も配線されていなかった場合にこのような挙動をします、このような値が使われますということを端的に示しています。
なので、配線をしなくてもデフォルト値で問題ないということであればここは配線しなくてもプログラムが動くということになります。
実は同じ理屈で「操作(open)」の列挙体も入力を必ずしなければいけないわけではありません。もちろん、既存のファイルを開く以外の操作をしたい場合には、列挙体を配線しその選択肢から目的にあったものを選ぶ必要があります。
一方で、デフォルト値が設定されていない場合もあります。例えば、ファイルに書き込むの関数の書き込むデータに対する「テキスト」というノード(ワイヤを接続する部分)が該当します。試しに文字列定数(あるいは制御器)のワイヤをDeleteしてみると、プログラムの実行ボタンが壊れてしまいます。
そこで、実行ボタンを押してエラーの内容を確認すると、「テキストファイルに書き込む:未配線の端子または不正な端子が含まれています」と表示されます。今回の場合、指定したファイルにどんなデータを書き込むのかLabVIEWがわからなくなりエラーを起こしている状態、ということになります。
ただ、この方法では一つ一つのノードに対してマウスカーソルを合わせて、デフォルト値が設定されていないかを確認することになります。それはちょっと面倒くさすぎる・・・。
そこでヘルプを活用することが重要になってきます。
詳細ヘルプを活用する
ヘルプを活用するといわれて、「え、いちいちヘルプなんて開いていたら日が暮れちゃうよ」という心配をされる方がいるかもしれません。ですが、LabVIEWではささっと関数の使い方を調べる機能があるのです。
それがずばり、詳細ヘルプを見ることです。LabVIEWでは簡易的なヘルプを参照する詳細ヘルプという機能があります(ヘルプよりも簡潔に書かれているのに「詳細」とはいかに・・・って感じなのですが、あとでちょっとした種明かし(?)をします)。
これから皆さんがずっとお世話になるであろう詳細ヘルプ、まずはこんなものですよ、という例をお見せします。
この詳細ヘルプ、メニューバーのヘルプの項目から「詳細ヘルプを表示」でも表示されますが、Ctrl + Hのショートカットが圧倒的に楽です。詳細ヘルプはマウスカーソルを合わせた関数に対して
- その関数がどういった役割を行うか
- その関数にどういったデータタイプを配線できるか、どういったデータタイプが結果として得られるか
- 通常のヘルプメニューにジャンプする
といったことがまとめられています。いちいちヘルプを開いて関数名を打ち込んで検索しなくてもこれでスムーズにその関数の使い方を知ることができます。
ファイルに書き込むの関数を例に、詳細ヘルプの見方を説明します。
ほとんどの場合、左側に書かれているものが入力、つまり定数かあるいは制御器、もしくは他の関数からのワイヤを直接配線するノードになっていて、右側に書かれているものが表示器、あるいは他の関数の入力に配線するノードの説明になっています。
ワイヤの色も示されているので、ここの入力は文字列だな、とか、この出力はブールだな、といったことも一目でわかります。
この関数の場合、「テキスト」と書かれた入力のみ太字で表示されていますが、この太字表示は必須の入力になっていて、「ここに何のワイヤも繋がれていないとプログラムは動作しませんよ」という意味になっています。
一方で、細字になっている項目は、配線してもしなくてもいい項目を表しています。私が今思い出せる限り、表示系(右側に表示された、出力側のノード)は全て細字になっているはずです。表示させることはできるが、表示させる(表示器をつける)かどうかは任意、ということですね。
この調子で試しに再びファイルを開くの関数の詳細ヘルプを見ると、さらに薄い字になっている項目が見つかるかと思います。
これらは、「お好みでどうぞ」といったくらいのノードです。何かしらワイヤでつなげることができますが、細字のものと比べて重要度は下がっている、といった感覚のようです(とはいえ、ファイルを開くの関数の操作の列挙体はよく使用するので薄い字になっているのは個人的にはハテナです)。
詳細ヘルプの下のテキストは、その関数の挙動や注意点などを表しています。いちいちヘルプを開いて関数名を検索して、という手間をとるよりだいぶ楽ですね。
詳細ヘルプの見方は以上です。個人的には、関数の英語名を調べるのにも詳細ヘルプを利用します。LabVIEWの資料は英語が多いので、関数名を英語でも知っておくと資料や情報を調べるときに何かと便利です。
もっとヘルプを活用する
さて、詳細ヘルプは便利な機能なのですが、「さすがにこの説明だけでは使い方がわからない」とか「それぞれの入力値や出力が意味するのものはなに?」という疑問も当然出てくると思います。
そんなときにはやはりヘルプを見る必要があります。ただしここでも詳細ヘルプが活躍します。各関数のヘルプは、ヘルプページを開いて検索しなくても、詳細ヘルプの「オンラインヘルプ」から飛べるんです。
ヘルプページには、詳細ヘルプにあった説明よりも詳細に、各入力および出力が意味する内容について説明が記載されています。なお、「オンラインヘルプ」といいつつ、別にネットワークにつながっている必要はありません。
(どうやら英語版LabVIEWを見る限り本来の表記は「詳細ヘルプ」がcontext helpであり、「オンラインヘルプ」がdetailed helpとなっているので日本語版の表記は誤訳であると思われます)
さらに、関数によっては、ヘルプページにその関数を使用したサンプルへ飛べるリンクがあったりします。サンプルファインダで探すよりもピンポイントで関数の使い方を確かめられます。
詳細ヘルプ、そして普通のヘルプ、これらを駆使すれば、もう関数の調べ方は十分だと思います。
この記事では、関数の使い方、調べ方についてみてきました。これで今後どんな関数が表れても調べる術がわかるので、いろいろな関数に触れてLabVIEWにもっと慣れやすくなると思います。
さて、前回まで扱った内容でデータの保存までできました。でもこのままだとプログラムを一回実行してそれで終わり、保存できるデータも一つだけ。それでは寂しいですよね。
プログラムって、人がやらない、めんどくさいことを文句も言わずパソコンにやらせることができて便利なのに、一回だけ実行してそれでおしまいでは動かした気がしません。
なので、次に繰り返し動作を行わせるといったことを扱っていきます!
・・・と、言いたいのですが、そこに行く前に事前準備をしておいた方がいいと思います。
今のままでは繰り返しを行ったところで、それらのデータをまとめて扱う手段がありません。繰り返すと言っている以上、データが複数個得られるわけですが、これまで出てきた表示器は一つの値しか扱えません。例えば何か測定を行ったり数を扱う場合、複数個のまとまったデータをひとかたまりにあつかう必要が出てきます。
そこで登場するのが配列というデータタイプです。というわけで次回は、繰り返しの処理を学ぶ準備として、配列について扱っていきますね。
もしよろしければ次の記事も見ていってもらえると嬉しいです。
ここまで読んでいただきありがとうございました。
コメント