【LabVIEW】フロントパネルとブロックダイアグラム

2021年10月27日

本記事ではLabVIEWでプログラミングをする場合に出てくるフロントパネルとブロックダイアグラムについての解説を行っています。

本記事の要約
  • LabVIEWのフロントパネルとブロックダイアグラムについての解説

フロントパネルとブロックダイアグラムについて

LabVIEWで新規VI(Ctrl+N)を選ぶと

  • グレー画面のフロントパネル(左のウィンドウ)
  • 白い画面のブロックダイアグラム(右のウィンドウ)

の2つのウィンドウが表示されます。LabVIEWの場合はフロントパネルとブロックダイアグラム、2つのウィンドウ使用してソフトの開発を行います。

フロントパネルについて

フロントパネルはユーザーインターフェース(UI)を表示するためのウィンドウです。プログラムを実行するときに使用するためのデータ入力を行ったり、プログラムで実行された結果を表示するためのウィンドウになります。

制御器と表示器について

LabVIEWではデータを入力するためのUIを「制御器」と呼び、出力されたデータを表示するものを「表示器」と呼びます。

制御器と表示器の見分け方についてですが、フロントパネル上で見分けられるのは数字や文字を直接入力できたり表示されたりする物だけになります。(制御器の場合は背景が白、表示器の場合は背景がグレーになっています。)

ブールやグラフ等、既にデザインされているものについては、制御器と表示器、どちらも見た目が同じなので、フロントパネル上では見分けがつきません。

そのため、LabVIEWでは各UIごとにデフォルトで制御器または表示器が設定されているので基本的には、元々設定をされている状態で使用するのが望ましいです。(表示器で使用するUIを制御器に割り当てない)

ブロックダイアグラムについて

ブロックダイアグラムはフロントパネルで入力されたデータ等を用いて数値計算等の処理をする内容を実装するウィンドウになります。また処理をした結果をフロントパネルの表示器へ出力を行ったり、出力結果をファイルとして保存したりします。

ブロックダイアグラムでの制御器と表示器についてですが、『制御器は外向きの矢印』、『表示器は内向きの矢印』となっています。そのため、LabVIEWでは基本的に左側に制御器や定数、右側に表示器を設置してプログラムを実装します。

ワイヤーについて

ブロックダイアグラム上で扱うデータについてはワイヤー(配線)の色を見ることで、おおよそどのようなデータが流れているのかは理解することが出来ます。

ワイヤー色(単色のみ)
青色整数(I32,U32など)
オレンジ色倍数精度、小数点表記可能(DBLなど)
緑色ブール(True、False)
ピンク色文字列
薄緑(薄青)色ファイルパス
ワイヤー色(?色+白色)
茶色+白色タイムスタンプ
黄色+白色エラー
ピンク色+白色クラスタ

全てのデータ型が別々の色になっているわけでは無いのでタイムスタンプと出力波形(クラスタ)のようにワイヤー色が非常に似ているものもあります。(他にもあったかもしれません。。)

また、配列データになるとワイヤーの表示が変わり、次元サイズごとに線の太さが変わります。四次元配列までは線が徐々に太くなっていきます。四次元配列以降はワイヤーの太さは変わりません。

関数について

LabVIEWのプログラムでは、上図のよう関数を見かけると思います。

背景が黄色(左)になっている関数は最小の関数で関数の中を変更できない関数になります。

サブVI(真ん中)は関数の集合体となっており、サブVI内で様々な関数を用いて処理が行われています。

関数の集合体なので、内部の処理内容を変更したり削除したりすることが出来ます。

サブVIかどうかは関数の背景色が黄色以外になっている場合はサブVIであると考えられます。

※サンプルVIの中には黄色背景色でサブVI化されているものも存在するらしいので、外から持ってきたファイルは注意が必要です。

Express VI(右)は特殊な関数になります。基本的にはサブVIと同じように内部には複数の関数が含まれています。サブVIと同様に中身を任意の形に変更することは可能です。(変更すると青色から黄色になる)

Express VIはダイアログボックスを介して、処理をどのように行うのかをダイアログボックスから設定をして処理を決めることが出来る関数になります。

Express VIを使用するとサブVIや最小関数を組み合わせるよりも簡単に目的の処理を行うことが出来るので、まだまだLabVIEWに慣れていないときは重宝します。(データ型に合わせてExpress VI側が自動で接続処理をしてくれたりするため)

Express VIによっては一度でもデータを入力している場合に、ダイアログボックスで処理方法を変更した場合にどのような結果を出力するのかを表示してくれたりするものもあります。Express Viの短所として、処理に不必要な関数を多分に含んでいるため、実行速度の低下を招いてしまうものもあります。

※標準で用意されているサブVIやExpress VIを変更する場合は、別名で保存してください。元ファイル名で保存をしてしまうと標準で用意されている関数自体が変更されます。

ブロックダイアグラムへの実装について

LabVIEWでどのようにプログラムを実装したら良いかは状況によって様々ですが、想定している通りの動作と結果を得ることがプログラムの第一歩です。可読性や実行速度も重要ではありますが、正しく動くことが大事です。

プログラムの仕様書などは面倒でも残すようにすようにするのが望ましい。後でプログラムを見返すときに労力が増えて大変になります。

まとめ

  • フロントパネルはデータ入出力を行うためのユーザーインターフェースウィンドウ
  • ブロックダイアグラムはプログラムを実装するためのウィンドウ
  • データ型ごとでワイヤー色は分かれている
  • 配列データになるとワイヤーの太さが変わる

LabVIEWLabview

Posted by Nao