【デバッグ】LabVIEWのエラー表示/実行ハイライト/データプローブ

基本機能

このページではLabviewのプログラムのデバッグのための機能について紹介します。

デバッグ

デバッグ(デバグ、debug)は、プログラム中のバグ・欠陥を発見および修正し、動作を仕様通りのものとするための作業のことです。

他のプログラム言語と同様にLabviewのVI作成においてもデバッグは必須です。(VIとはLabviewのプログラムのことです。)

デバッグが必要となるシーンは以下の2つです。

  • VIが動作できないエラーがある場合
  • VIは動作するが仕様通りの動作ができていない場合

以下で、デバッグの際に有用な機能について紹介します。

エラー表示

「VIが動作できないエラーがある場合」に使えるツールについて紹介します。

Labviewは動作できないようなエラーが存在する場合、自動でそのエラーを検出してくれます。ユーザーは以下の2点からエラーの存在を確認することができます。

  • ワイヤが破線になる
  • 1回動作ボタンが壊れた表示になる/繰り返し動作ボタンが白色になる

図1は円の面積を計算するVIでが、動作できないエラーが存在しています。

まず、ブロックダイアグラムの赤矢印で示した位置はワイヤが破線になっており、ワイヤの繋ぎ方が適切でないことがわかります。

図1.エラーが存在するVi

ここで破線のワイヤの上にマウスポインタを置くと、図2のようにエラーの内容がポップアップで表示されます。

図2.ワイヤエラーのポップアップ

さらに、フロントパネルおよびブロックダイアグラムの左上の動作ボタン(図1の赤で囲んだ箇所)壊れた表示になっており、VI中にエラーが存在していることがわかります。

具体的などこにどんなエラーがあるのかについては、上述の壊れた動作ボタンをダブルクリックすることでエラーのリストを表示させることから判別できます。

図3はこのVIで表示させたエラーリストです。中段に「2 errors and wornings」と記載があり、2個のエラーがあることがわかります。

その下段には2個のエラーの詳細が記載されています。

図3.エラーリスト

ここで最下段の「Show Error」をクリックすると、エラーが存在する具体的な場所がフロントパネルもしくはブロックダイアグラム上でハイライトされます。これをヒントにエラーを修正します。

エラーをすべて修正すると、図4のように動作ボタンは通常の表示になります。

図4.修正後のVI

実行ハイライト(Highlight execution )

プログラム上のエラーがなくとも、仕様どおりの処理が行えているかを確認する必要があります。

この時に活用できるのが実行ハイライト(Highlight execution)です。実行ハイライトを使うと、VIが動作している最中のすべてのデータの中身とその流れを可視化することができます

実行ハイライトはブロックダイアグラムの上の電球のアイコンで示されます。図5の赤枠で囲った箇所です。

このアイコンをクリックすると実行ハイライトが有効になります。無効状態では図4のように電球が白色、有効状態では図5のように黄色になります。

図5.実行ハイライトの場所

実行ハイライトを有効にした状態で、VIを動作させると図6のようにデータの値が表示され、それがどのように流れていくのかを確認することができます。

図6.実行ハイライトを有効にした状態でVIを動作させたとき

注意すべき点はプログラムが遅い速度で動くことです。よって大規模なVIの場合は、注目する場所の動作を確認するまで長い時間待たなければならなく場合があります。そのような場合は、大規模なVIをいくつかのサブVIに分けるなどしてからデバッグを行う工夫が必要になります。

プローブ

実行ハイライトは動作中の全データの流れを可視化するものでしたが、プローブ機能を用いると注目する特定のワイヤを流れるデータ値を可視化することができます

プローブは実行ハイライトと一緒に用いることもできますが、実行ハイライトを無効にした状態でも使うことができます。実行ハイライトを無効にしておけば、VIは通常と同じ速度で動作するので、時間に関するデータの確認にはプローブが適しています。また上述のように、大規模なVIの確認には動作が遅くならないプローブをうまく使うことも有用です。

またプローブは複数個所に設けることができます。

プローブの設置方法は以下のとおりです。

図7に示すように、プローブを設置したいワイヤの上で右クリックし「probe」を選択すると、そのワイヤにプローブを設置することができます。

図7.プローブ設定の方法

プローブを設置すると、図8のようにProbe Watch Windowが表示されます。

ウインドウの中には、番号とともにプローブの値(Value)が表示されます。

これと同時にブロックダイアグラム上ではプローブを設置したワイヤに番号が振られます。これら2つの番号は対応していますので、複数のプローブを設けた場合でも、どのプローブがどのワイヤの値なのかを一目で判別することができます。

ここでVIを動作させると、プローブを置いたワイヤにデータが到達したタイミングで Probe Watch Windowの「Value」の欄に値が表示されます。

図8.動作中の Probe Watch Window

このようにして、ワイヤを流れるデータを確認しデバッグを行うことができます。

まとめ

このページではLabviewのデバック機能について紹介しました。

  • Labviewは動作できないようなエラーは自動で検出する
    • ワイヤにエラーがある場合はワイヤが破線になる
    • エラーがある場合は1回動作ボタンが壊れた表示になる
  • 実行ハイライトを有効にすると、動作中のすべてのデータの値と流れを可視化できる
  • ワイヤにプローブを設定すると、動作中のそのワイヤを流れるデータの値を可視化できる

コメント

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