LabVIEW +
ソフト開発 +
実験・研究装置開発 +
システム開発 +
納入事例 +
会社概要 +
・クラスタの使い方
LabVIEWには、「数値」「文字列」「ブール」の3種類の入出力があります。 クラスタを使うと、3種類の入出力から必要なものを1つにまとめ、1つの入出力として使うことができます。
クラスタの使用例として、車の信号機をLabVIEW上で動かすプログラムを作成します。
信号機には、「青色」「黄色」「赤色」の3種類のライト(出力)があります。 信号機の色を変える制御(入力)は自動で行われていますが、今回作成するプログラムでは手動で切り替えます。
1つの信号機につき1つのクラスタを使用します。 クラスタにはライトのON、OFFを表現する「ブール」を入れ込みます。
フロントパネル上で右クリックし、データコンテナにカーソルを合わせ、クラスタを選択することで配置できます。 配置したクラスタの枠内に「青色」「黄色」「赤色」のブール(LED)をドラッグ&ドロップで入れ込みます。
ブロックダイアグラムを確認すると、3つあった端子が「信号機」という1つの端子にまとまっています。 線の色もブールを表す「緑色」から、クラスタを表す「紫色」に変わります。
クラスタにまとめられたデータを使用したいときは「非バンドル」を使用します。
「名前で非バンドル」では、クラスタ内の要素をラベル名で判別し、個別に取り出すことができます。 信号機クラスタから青、黄色、赤それぞれのデータを取り出す場合は以下のような処理になります。
クラスタにまとめられた要素は、配置した順番に0から順番に番号が振られます。
「非バンドル」では、クラスタ内の要素を番号順にすべて取り出します。 以下の例では、青→0番、黄色→1番、赤→2番が振られています。上から順番に0番、1番、2番と出力されます。
非バンドル関数は、クラスタ内の要素の並び順(番号)が変わると、出力されるデータも変わってしまいます。 そのため、後からクラスタ内に要素を追加・削除した場合にプログラムが誤動作する原因になります。
「名前で非バンドル」は名前(ラベル名)でデータを判別するため、クラスタ内の並び順が変わっても正確にデータを取得できます。仕様変更に強いプログラムを作るためにも、基本的には「名前で非バンドル」を使用することを推奨します。
クラスタにまとめられたデータを更新したいときは「バンドル」を使用します。
「名前でバンドル」では、クラスタ内の要素をラベル名で判別し、データを更新することができます。
信号機を青から黄色に切り替える場合、以下のような処理になります。
変更前の信号機は、青が点灯、黄色と赤は消灯しています。
変更前の信号機を「名前でバンドル」に接続し、青を消灯、黄色を点灯させます。 赤は消灯したまま変更しません。
クラスタにまとめられた要素は、0から順番に番号が振られます。
「バンドル」では、クラスタ内の要素を番号順にすべて取り出し、データを更新することができます。 以下の例では、青→0番、黄色→1番、赤→2番が振られています。
上から順番に0番、1番、2番にデータを接続し、新しくクラスタを作成しています。
「バンドル」を使用する場合、すべての要素を接続し直す必要がありますが、「名前でバンドル」を使用すれば変更したいデータのみを接続するだけで済むため、プログラムをすっきりとさせることができます。
「使い方はわかったけれど、実際の業務で使うシステムを作る時間がない」「もっと高度な制御をプロに任せたい」という方は、ぜひ一度ご相談ください。
測定代行株式会社は、ラボビュー(LabVIEW)を用いた受託開発・システム構築のスペシャリストです。
お客様のご要望(自動計測、制御、データ解析など)に合わせ、最適なシステムを一番に提案・開発いたします。