測定代行株式会社

お問い合わせ

測定代行株式会社

クラスタを使用したLabVIEWプログラムの作成例

この記事で分かること

・クラスタの使い方

クラスタとは

LabVIEWには、「数値」「文字列」「ブール」の3種類の入出力があります。
クラスタを使うと、3種類の入出力から必要なものを1つにまとめ、1つの入出力として使うことができます。

クラスタの使用例として、車の信号機をLabVIEW上で動かすプログラムを作成します。

信号機のプログラム作成

信号機に必要な入出力

信号機には、「青色」「黄色」「赤色」の3種類のライト(出力)があります。
信号機の色を変える制御(入力)は自動で行われていますが、今回作成するプログラムでは手動で切り替えます。

クラスタ未使用信号機フロント クラスタ未使用信号機ブロック

クラスタで1つにまとめる

1つの信号機につき1つのクラスタを使用します。
クラスタにはライトのON、OFFを表現する「ブール」を入れ込みます。

フロントパネル上で右クリックし、データコンテナにカーソルを合わせ、クラスタを選択することで配置できます。
配置したクラスタの枠内に「青色」「黄色」「赤色」のブール(LED)をドラッグ&ドロップで入れ込みます。

クラスタ信号機

ブロックダイアグラムを確認すると、3つあった端子が「信号機」という1つの端子にまとまっています。
線の色もブールを表す「緑色」から、クラスタを表す「紫色」に変わります。

クラスタデータの取り出し

クラスタにまとめられたデータを使用したいときは「非バンドル」を使用します。

名前で非バンドル

「名前で非バンドル」では、クラスタ内の要素をラベル名で判別し、個別に取り出すことができます。
信号機クラスタから青、黄色、赤それぞれのデータを取り出す場合は以下のような処理になります。

名前で非バンドル使用例

非バンドル

クラスタにまとめられた要素は、配置した順番に0から順番に番号が振られます。

「非バンドル」では、クラスタ内の要素を番号順にすべて取り出します。
以下の例では、青→0番、黄色→1番、赤→2番が振られています。上から順番に0番、1番、2番と出力されます。

非バンドル使用例

名前で非バンドルを使用するメリット

非バンドル関数は、クラスタ内の要素の並び順(番号)が変わると、出力されるデータも変わってしまいます。
そのため、後からクラスタ内に要素を追加・削除した場合にプログラムが誤動作する原因になります。

「名前で非バンドル」は名前(ラベル名)でデータを判別するため、クラスタ内の並び順が変わっても正確にデータを取得できます。仕様変更に強いプログラムを作るためにも、基本的には「名前で非バンドル」を使用することを推奨します。

クラスタデータの更新

クラスタにまとめられたデータを更新したいときは「バンドル」を使用します。

名前でバンドル

「名前でバンドル」では、クラスタ内の要素をラベル名で判別し、データを更新することができます。

信号機を青から黄色に切り替える場合、以下のような処理になります。

名前でバンドル使用例 黄色信号

変更前の信号機は、青が点灯、黄色と赤は消灯しています。

変更前の信号機を「名前でバンドル」に接続し、青を消灯、黄色を点灯させます。
赤は消灯したまま変更しません。

バンドル

クラスタにまとめられた要素は、0から順番に番号が振られます。

「バンドル」では、クラスタ内の要素を番号順にすべて取り出し、データを更新することができます。
以下の例では、青→0番、黄色→1番、赤→2番が振られています。

バンドル使用例

上から順番に0番、1番、2番にデータを接続し、新しくクラスタを作成しています。

「バンドル」を使用する場合、すべての要素を接続し直す必要がありますが、「名前でバンドル」を使用すれば変更したいデータのみを接続するだけで済むため、プログラムをすっきりとさせることができます。

LabVIEW(ラボビュー)でのシステム開発にお困りですか?

「使い方はわかったけれど、実際の業務で使うシステムを作る時間がない」「もっと高度な制御をプロに任せたい」という方は、ぜひ一度ご相談ください。

測定代行株式会社は、ラボビュー(LabVIEW)を用いた受託開発・システム構築のスペシャリストです。

お客様のご要望(自動計測、制御、データ解析など)に合わせ、最適なシステムを一番に提案・開発いたします。

LabVIEWの無料相談をする