LabVIEWの特徴の1つはグラフィカルにデータを表示しながら処理を行うことができる点です。しかし、データを図示するために、どの関数を使うのが良いのか、入力するデータの型はどのようなものにするのかが、わからないという方もいるかもしれません。
そこで、このページでは波形チャートと波形グラフを用いて具体的にデータを図示する方法を説明します。また波形チャートと波形グラフの使い分けについて説明します。
波形チャート
波形チャートは、一定の速度で取得されたデータをプロットを表示する際に用います。
波形チャートで図示する場合は、長整数型(青色のデータ型)もしくは倍精度浮動小数点型(橙色のデータ型)の数値データを1つずつ入力する動作を繰り返し行います。図示なので数値が複数並んだデータを一度に入力するような気もしますが、入力は数値データを1つずつ入れていきます。繰り返しには、ForループやWhileループが用いられます。
波形チャートへの1データのプロット
図1は、波形チャートの例を示しています。
Whileループの中にスライダ型の数値制御器と、それにワイヤでつながった数値表示器、波形チャートがあります。0.1秒ごとにスライダの値を読み出し、数値表示器と波形チャートに表示するというWhileループ動作を繰り返します。
波形チャートの縦軸はデータの値を示します。
波形チャートの横軸は何番目のデータ点であるかを示します。波形チャートを作ったとき横軸ラベル(名前)はデフォルトで「time」となっていますが、横軸の値は時間(秒)の単位にはなっていないことに注意が必要です。
数値制御器と波形チャートには同じ数値データが渡されています。しかし動作させると、数値表示器はその瞬間のスライダの値が表示されますが、波形チャートにはその瞬間の値だけでなく過去の値の履歴も含めて波形を表示します。
動作状態のままスライダを動かすと、スライダの値の推移を反映してチャートに値がプロットされます。
Whieループの中に波形チャートがある場合、波形チャートはリアルタイムに波形が変化していきます。
チャートに表示されるデータの履歴の長さはデフォルトでは1024点です。この値は、波形チャートの上で右クリックし、「Chart history length」を選択して変更することができます。
波形チャートへの複数データのプロット
波形チャートに複数のデータをプロットすることもできます。
波形チャートに複数のデータをプロットする場合は、バンドルを用いて複数のデータをクラスタ化してから波形チャートにワイヤで接続します。
図4のように、スライダの値の値とその1/2の値を波形チャートにプロットするVIです。
波形グラフ
波形グラフには、均等にサンプリングされた測定値をプロットを表示する際に用います。
波形グラフと波形チャートはともに波形を図示するという似た機能を持っていますが、違いがあります。図1,3に示したように、波形チャートには1つの数値データもしくは1つのクラスタ値を入力します。一方で、波形グラフは配列データを入力します。
なお、波形グラフは、任意の数のポイントを含むプロットを表示できます。
波形グラフへの1データのプロット
図5は、スライダの数値変化を0.1秒ごとに読み取り、波形グラフにその推移を図示するVIです。
この場合、STOPボタンを押してWhileループ終了して、波形グラフへ配列データが入力された時点で初めて波形グラフがプロットされます。
波形チャートと同様に、波形グラフの横軸は何番目のデータ点であるかを示します。波形グラフを作ったとき横軸ラベル(名前)はデフォルトで「time」となっていますが、横軸の値は時間(秒)の単位にはなっていないことに注意が必要です。
波形グラフへの複数データのプロット
波形グラフに複数のデータをプロットすることもできます。
複数のプロットを表示するためにいくつかの方法がありますが、ここでは2つの方法を紹介します。
※ ここに記載していない方法もありますが、使う機会はあまりなさそうな方法なので省略しています。気になる方はヘルプから参考にしてみてください。
複数プロットのデータ数が同じ場合
複数プロットのデータ数が同じ場合は、値の2次元配列を波形グラフに入力します。
具体的には、波形グラフに2つのプロットをしようとしたとき、1つ目と2つ目のデータのデータ数がどちらも100個など同じ数の場合です。
図6は、スライダの値とその1/2の値を波形グラフにプロットするVIです。波形グラフへの入力は、2つのデータをWhieループから指標付けトンネルで取り出した1次元配列を、配列結合で2次元にしたものです。
複数プロットのデータ数が異なる場合
複数プロットのデータ数が異なる場合は、それぞれデータの1次元配列をクラスタ化し、そのクラスタを配列化したものを波形グラフに入力します。
ややこしいですね。下記の例を参考にしてみてください。
図7は、0.1秒ごとに値を読み取るスライダの値と、0.5秒ごとに値を読み取るスライダの値を波形グラフにプロットするVIです。
波形グラフへの入力は、それぞれのデータをWhieループから指標付けトンネルで取り出した1次元配列を一度バインダを用いてクラスタに変換します。そしてそれらを配列結合で配列化にして、波形グラフに入力しています。
まとめ
このページでは波形チャートと波形グラフの使い方と使い分けについて説明しました。
- 波形チャートと波形グラフは、均等にサンプリングされた測定値をプロットを表示する際に用いる
- 波形チャートと波形グラフの横軸は何番目のデータ点であるかを示す
- 波形チャートには1つの数値データもしくは1つのクラスタ値を入力する。一方で、波形グラフは配列データを入力する。
- 波形チャートに複数のデータをプロットする場合は、バンドルを用いて複数のデータをクラスタ化してから波形チャートにワイヤで接続する
- 波形グラフに複数のデータをプロットする場合、複数プロットのデータ数が同じ場合は値の2次元配列を入力する。データ数が異なる場合は、それぞれデータの1次元配列をクラスタ化し、そのクラスタを配列化したものを波形グラフに入力する
この記事で紹介した波形チャートと波形グラフは図の縦軸の値のみ与えてグラフにしました。縦軸の値だけでなく横軸の値も与えて散布図や折れ線グラフをLabviewで作成するには「XYグラフ」を使用します。この使い方についてはこちらのページで紹介しています
コメント