LabVIEW環境の基礎

本ページの内容

 

ビデオ: LabVIEW環境の概要

LabVIEWへようこそ。このドキュメントは、LabVIEWを初めて使用するお客様がLabVIEWとグラフィカルプログラミングの基本概念について理解していただける内容となっています。

LabVIEWプログラムは、その外観と操作がオシロスコープやマルチメータなどの実際の計測器を模していることが多いため、仮想計測器(VI: Virtual Instruments)と呼ばれます。LabVIEWには、データを集録、解析、表示、および保存するための充実したツールセットや、ユーザが書き込むコードのトラブルシューティングを行うためのツールが含まれています。

新しいVIを作成すると、フフロントパネルウィンドウとブロックダイアグラムという2つのウィンドウが表示されます。

フロントパネル

新しいVIや既存のVIを開くと、VIのフロントパネルウィンドウが表示されます。フロントパネルは、VIのユーザインタフェースです。図1は、フロントパネルウィンドウの例を示しています。

(1) フロントパネルウィンドウ  |  (2) ツールバー  |  (3) 制御器パレット

図1. フロントパネルの例

制御器パレット

制御器パレットには、フロントパネルを作成するための制御器や表示器が含まれています。フロントパネルで制御器パレットにアクセスするには、「表示」→「制御器パレット」を選択するか、フロントパネルの任意の場所を右クリックします。制御器パレットはさまざまなカテゴリに分かれています。それらのカテゴリは、お客様のニーズに合わせて全てまたは一部を表示させることができます。図2に示す制御器パレットでは、全てのカテゴリが表示され、「モダン」カテゴリが展開されています。

図2. 制御器パレット

カテゴリ(サブパレット)の表示と非表示を切り替えるには、カスタマイズボタンをクリックして、表示パレットを変更を選択します。

制御器と表示器

全てのVIには、ユーザインタフェースとして設計できるフロントパネルがあります。また、別のブロックダイアグラムからVIを呼び出すときにフロントパネルを使用して入力を渡したり、出力を受け取ることもできます。VIのユーザインタフェースは、VIのフロントパネルに制御器と表示器を配置することにより作成します。ユーザインタフェースとしてフロントパネルと対話するときには、入力を渡す制御器を変更して、その結果を表示器で確認することができます。制御器は入力を定義し、表示器は出力を定義します。

制御器には、ノブ、押しボタン、ダイアル、スライダ、文字列などがあります。制御器は計測器入力デバイスを模した形で、VIのブロックダイアグラムにデータを渡します。表示器には、グラフ、チャート、LED、ステータス文字列などがあります。表示器は計測器出力デバイスを模した形で、ブロックダイアグラムにより集録または生成されたデータを表示します。

図1には、「データ数」と「遅延(秒)」という2つの制御器があります。また、表示器として温度グラフという名前のXYグラフが1つあります。

「データ数」と「遅延(秒)」の各制御器は、入力値をユーザが変更することができます。VIから返される値は、「温度グラフ」表示器で見ることができます。VIは、ブロックダイアグラムで作成されたコードに基づいて、表示器の値を生成します。

制御器や表示器は、全てデータタイプが関連付けられています。例えば、「遅延(秒)」スライダ制御器のデータタイプは数値です。頻繁に使用されるデータタイプは、数値、ブール、文字列です。

数値制御器および表示器

数値データタイプは、整数や実数など、さまざまなタイプの数を表記することができます。数値オブジェクトでよく使われるのが、図3に示すような数値制御器と数値表示器です。メータやダイアルなどのオブジェクトも数値データを表します。

(1) 増分/減分ボタン  |  (2) 数値制御器  |  (3) 数値表示器

図3. 数値制御器と表示器

数値制御器の値を入力または変更するには、増分/減分ボタンをクリックするか、数字をダブルクリックし、新しい数を入力して、<Enter>キーを押します。

ブール制御器および表示器

ブールデータタイプは、TRUEとFALSE、ONとOFFなど、2つの状態のいずれかを示すデータを表します。ブール値の入力と表示には、ブール制御器/表示器を使用します。ブールオブジェクトは、スイッチ、押しボタン、LEDなどの外観垂直トグルスイッチと円LEDを図4に示します。

図4. ブール制御器と表示器

文字列制御器および表示器

文字列データタイプは、文字が連続したデータです。ユーザからパスワードやユーザ名などのテキストを受け取るのに使用します。文字列表示器はテキストを表示するために使用します。最もよく使用される文字列オブジェクトは、図5に示すような表やテキスト入力ボックスです。

図5. 文字列制御器と表示器

ブロックダイアグラム

ブロックダイアグラムオブジェクトには、端子、サブVI、関数、定数、ストラクチャなどのほか、ブロックダイアグラムオブジェクト間でデータを運ぶためのワイヤがあります。

(1) 表示器端子  |  (2) ワイヤ  |  (3) ノード  |  (4) 制御器端子

図6. ブロックダイアグラムと対応するフロントパネルの例

フロントパネルウィンドウを作成したら、グラフィカル表記の関数を使ってコードを追加し、フロントパネルオブジェクトを制御します。そのグラフィカルソースコードは、ブロックダイアグラムに表示されます。

図7.ブロックダイアグラム

フロントパネル上のオブジェクトは、ブロックダイアグラムでは端子として表されます。端子は、フロントパネルとブロックダイアグラム間で情報を交換する入出力ポートです。端子は、テキストベースのプログラミング言語におけるパラメータや定数に似ています。端子には、制御器/表示器端子とノード端子があります。制御器端子と表示器端子は、フロントパネルの制御器と表示器に属するものです。フロントパネル制御器に入力したデータポイント(上図のフロントパネルでaとb)は、制御器端子を通ってブロックダイアグラムに渡されます。次に、このデータポイントは「和」関数および「差」関数に渡されます。「和」関数および「差」関数で計算が終了すると新しいデータ値が生成されます。データ値は表示器端子に渡され、そこでフロントパネル表示器がアップデートされます(上図のフロントパネルでa+bとa–b)。

制御器、表示器、定数

制御器、表示器、定数は、ブロックダイアグラムアルゴリズムの入力および出力として動作します。例えば三角形の面積を求めるアルゴリズムの実装について考えてみます。

面積 = 0.5 * 底辺 * 高さ

このアルゴリズムでは、図8に示すように底辺と高さが入力で面積が出力となります。

図8. 三角形の面積を求めるVIのフロントパネル

定数0.5はユーザがアクセスしたり変更したりしないため、フロントパネルには表示されません。

図9は、このアルゴリズムをLabVIEWブロックダイアグラムに実装した例を示しています。このブロックダイアグラムには、2つの制御器、1つの定数、1つの表示器が作成した4つの異なる端子があります。

(1) 制御器  |  (2) 表示器  |  (3) 定数

図9. 三角形の面積を求めるVIのブロックダイアグラム(端子をアイコンとして表示)

底辺(cm)端子と高さ(cm)端子は、面積(cm2)端子とは見た目が異なります。ブロックダイアグラム上の制御器と表示器は、2つの特性により区別することができます。1つは、データフローの方向を示す端子の矢印です。制御器の矢印はデータが端子を出ていくことを示していますが、表示器の矢印はデータが入ってくる表示になっています。区別するためのもう1つの特性は、端子を囲む枠です。制御器の方が表示器に比べ枠が太くなっています。

端子は、アイコン表示でもアイコン表示でなくても表示することができます。図10は、端子をアイコン表示せずに同じブロックダイアグラムを示したものです。制御器と表示器の違いはこの表示方法でもわかります。

図10. 三角形の面積を求めるVIのブロックダイアグラム(端子をアイコンとして表示しない)

ブロックダイアグラムのノード

ノードとは、入力や出力を備え、VIの実行時に操作を行うブロックダイアグラム上のオブジェクトです。テキストベースのプログラミング言語におけるステートメント、演算子、関数、およびサブルーチンに似ています。関数、サブVI、Express VI、ストラクチャなどがノードです。ストラクチャとは処理を制御する要素で、ケースストラクチャ、Forループ、Whileループなどがあります。

関数

関数は、LabVIEWにおける基本的な構成要素です。図6に示す「和」関数と「差」関数は関数ノードです。関数にはフロントパネルウィンドウやブロックダイアグラムウィンドウはありませんが、コネクタペーンがあります。関数をダブルクリックしても関数が選択されるのみです。関数のアイコンは背景が薄黄色になっています。

サブVI

作成したVIは、他のVIで使用することができます。他のVIのブロックダイアグラムから呼び出されるVIは、サブVIと呼ばれます。サブVIは、他のVIでも使用できます。サブVIを作成するには、コネクタペーンを作成して、アイコンを作成する必要があります。

サブVIノードは、テキストベースのプログラミング言語におけるサブルーチン呼び出しに相当します。プログラム内のサブルーチン呼び出しステートメントがサブルーチンそのものではないのと同様に、ノードもサブVIそのものではありません。同じサブVIノードが複数含まれているブロックダイアグラムでは、同じサブVIが数回呼び出されます。

サブVIの制御器と表示器は、発呼者VIのブロックダイアグラムとの間でデータをやり取りします。ブロックダイアグラムでサブVIをダブルクリックすると、フロントパネルウィンドウが表示されます。フロントパネルには、制御器と表示器が表示されます。ブロックダイアグラムには、ワイヤ、アイコン、関数、場合によってはサブVI、その他LabVIEWオブジェクトが含まれています。


VIのフロントパネルおよびダイアグラムウィンドウの右上隅には、アイコンが表示されます。デフォルトアイコンの例を示します。アイコンはVIを絵柄で表現したものアイコンは画像とテキストの両方で表現できます。VIをサブVIとして使用する場合、アイコンによってVIのブロックダイアグラムのサブVIが区別されます。デフォルトアイコンには、LabVIEWを起動してから開いた新しいVIの数が表示されます。


VIをサブVIとして使用するには、上図のようなコネクタペーンを作成する必要があります。コネクタペーンはVIの制御器と表示器に対応する、アイコン上の端子セットのことで、テキストベースのプログラミング言語の関数呼び出しのパラメータリストに似ています。コネクタペーンにアクセスするには、フロントパネルウィンドウの右上端にあるアイコンを右クリックします。ブロックダイアグラムウィンドウのアイコンからコネクタペーンにアクセスすることはできません。サブVIアイコンの場合、アイコンの背景は白です。

Express VI

Express VIはダイアログボックスを使用して構成するため、最小限の配線で実装できるノードです。一般的な測定タスクには、Express VIを使用します。Express VIの詳細については、LabVIEWヘルプの「Express VI」トピックを参照してください。Express VIは、青色のフィールドで囲まれたアイコン付きの拡張可能ノードとして、ブロックダイアグラム上に表示されます。

関数パレット

関数パレットには、ブロックダイアグラムの作成に使用するVI、関数、定数が含まれています。ブロックダイアグラムで関数パレットにアクセスするには、「表示」→「関数パレット」を選択します。関数パレットはさまざまなカテゴリに分かれており、お客様のニーズに合わせてカテゴリの表示と非表示を切り替えることができます。図11に示す関数パレットでは、全てのカテゴリが表示され、「プログラミング」カテゴリが展開されています。

図11. 関数パレット

カテゴリの表示と非表示を切り替えるには、カスタマイズボタンをクリックして、表示パレットを変更を選択します。

制御器、VI、関数を検索する

「表示」→「制御器」または「表示」→「関数」を選択して制御器パレットや関数パレットを開くと、パレットの上部に2つのボタンが表示されます。


検索―パレットが検索モードになりますので、テキスト入力による検索を行ってパレット上にある制御器、VI、関数を見つけることができます。パレットが検索モードのときに「戻る」ボタンをクリックすると、検索モードが終了してパレットに戻ります。

カスタマイズ―現在のパレットの形式選択、パレットのカテゴリの表示/非表示の切り替え、項目をテキストおよびツリー形式で昇順にソートするオプションが表示されます。ショートカットメニューから「オプション」を選択すると、「オプション」ダイアログボックスの「制御器/関数パレット」ページが表示されます。そこで全てのパレットの形式を選ぶことができます。このボタンは、パレットの左上にある画鋲のアイコンをクリックしてパレットを固定した場合のみ表示されます。

VIや関数の場所がわかるようになるまでは、「検索」ボタンを使ってVIや関数を検索するとよいでしょう。例えば、「乱数(Random Number)」関数を探すには、関数パレットのツールバーにある「検索」ボタンをクリックして、パレットの上部に表示されたテキストボックスに「乱数」と入力します。入力したテキストから始まる、またはテキストを含む項目が全て表示されます。検索結果は、図12に示すように、いずれかをクリックしてブロックダイアグラムにドラッグすることができます。

図12. 関数パレットでオブジェクトの検索

検索結果をダブルクリックすると、パレット上でその位置がハイライトされます。

クイックドロップ

このほかに、クイックドロップダイアログボックスでVIおよびフロントパネルオブジェクトの名前を検索して配置することもできます。 クイックドロップを起動するには、<Ctrl-スぺース>キーを押します。

クイックドロップは、名前のわかっている関数や操作を検索するときに非常に役立ちます。名前を入力するに従って、それに合致する関数名が自動的に表示されます。適切な関数をハイライトして、ブロックダイアグラムかフロントパネルをクリックすると、その場所にオブジェクトが配置されます。

新しい方法でLabVIEWの基礎を学習する

新しい対話形式の方法で、LabVIEWの概念を学習しましょう。

学習を続ける

前へLabVIEWの概要
グラフィカルなプログラミング次へ