オシロスコープのようなグラフ表示設定を作る

Tips

[ad02]

この記事で扱っていること

  • オシロスコープのようなグラフ表示設定を作る方法

を紹介しています。

LabVIEWを計測器制御のために使用する場合、その使い勝手を、既存のデバイスに寄せることで、より扱いやすくなります。

代表的なものに、オシロスコープによる波形測定があり、波形測定時には縦、横のスケールを変更して見やすい状態にする設定があります。

LabVIEWのグラフもオートスケールにすることで適切な表示状態にすることはできますが、あえて箱型オシロスコープのような、スケール変更のためのノブを用意して、自分で表示状態を変えられるようにする場合にはどうすればいいか、今回の記事ではそんな場合のプログラムの例を紹介しています。

[ad06]

どんな結果になるか

フロントパネルには、グラフと、そのグラフの横軸、縦軸の表示範囲を変更するためのノブを配置しています。

今回は効果を確かめるためにソフトウェア上で波形データを作ってグラフに表示しているため、その波形データの種類や振幅の大きさを変更できるように制御器を設けています。

プログラムを実行して、ノブを操作すると、横軸や縦軸の大きさを変化させることができます。

プログラムの構造

ブロックダイアグラムとしては、以下のようなものを例にとります。

波形グラフに表示する波形データを作るループと、その波形データの設定を行うためのイベントストラクチャを含んだループを分けています。

スケールの変更については、プロパティノードで処理します。

プロパティノードで、YスケールやXスケールの変更を行うための項目があるのでこれを選びます。

グラフの目盛りの大きさは、最小値と最大値、そして増分の大きさで決めることができます。

これらはもちろんバラバラに決めることもできますが、ノブを操作しても目盛りマーカの位置が変わらないようにするためには、適切に値を選んでやる必要があります。

例えば、Y軸について考えると、目盛りマーカは9本あることがわかります。

グラフの上下の枠が最大、最小、9本のマーカの真ん中が0とすると、増分の5倍が最大値、-5倍が最小値となるように設定する必要があります。

(5倍、-5倍というのは例であり、4倍、-4倍などでも構いません)

あとは、ノブの位置に応じて増分の値を変えるようにしてやればプログラムの完成です。

なお、スケールの設定がオートスケールになっている場合、プロパティノードで変更しても変更が効かなくなるので、オートスケールの設定は外しておきます。

X軸についてもやることは似たようなことですが、X軸については表示最大値を決めておいてあとは目盛りの数で割って増分とする方法で指定しています。

グラフ上の目盛りの数が20であれば20で割る、という感じです。

上下に位置を変更する場合

オシロスコープには、最大最小のスケールを変えるだけでなく、表示位置をシフトさせる機能もあるかと思います。

例えば、ノブを回すことで上下に波形の位置を移動させるような機能です。

この機能の実装には、以下のようにクラスタを用意しておいて、最大や最小、シフト量の値を保持しておけるようにしておいて各イベントの中で使用できるようにしておきます。

以下はY軸に対しての処理の例になっています。

今回の記事では、オシロスコープのような操作感でグラフのスケールや波形の表示位置を変更するプログラムの作り方について紹介しました。

波形データの表示は、ハードウェア制御を得意とするLabVIEWで頻繁に登場すると思いますが、箱型計測器の使い勝手をソフトウェア的に表現しようとすると、意外とてこずる場面もあるかと思います。

ここまで読んでいただきありがとうございました。

コメント

タイトルとURLをコピーしました