LabVIEWでフォーミュラノードを使用する

更新しました Apr 9, 2021

環境

ソフトウェア

  • LabVIEW

LabVIEWソフトウェアの フォーミュラノード はC言語に似た構造を使用してブロック図に対して複雑な数学演算を実行するために使用できる便利なテキストベースのノードです。多くの変数や複雑な方程式を使用する際に役立ちます。

テキストベースのコードはブロック図を簡素化し、コードの読みやすさを向上させます。さらに、既存のコードをグラフィカルに再作成するのではなく、コピーしてフォーミュラノードに直接貼り付けることができます。 フォーミュラノードはLabVIEWのすべての開発バージョンで利用可能であり、追加のツールキットやアドオンは必要ありません。

このチュートリアルではフォーミュラノードを使用して、さまざまな数式を計算する簡単な構造を作成します。そして、フォーミュラノードを使用したブロック図とグラフィカルプログラミングを使用したブロック図を比較します。フォーミュラノードは使いやすいグラフィカルLabVIEWアーキテクチャ内でテキストベースのコードが再利用可能なツールです。

  1. ファイル » 新規VIを選択して、空白のVIを開きます。
  2. ブロックダイアグラムにフォーミュラノードを配置します。
    1. ブロックダイアグラム上で右クリックし、プログラミング » ストラクチャ » フォーミュラノード にナビゲートします。
    2. 左クリックしてフォーミュラノードを選択します
    3. マウスを左クリックし、ドラッグアンドドロップでフォーミュラノードをブロックダイアグラムに配置します。
  3. フォーミュラノードの左側の境界線を右クリックし、ショートカットメニューから入力を追加を選択します。
  4. 入力変数に x のラベルを付けます。
  5. 手順3と4を繰り返して、別の入力を追加し、 yというラベルを付けます。
addInput.PNG
  1. フォーミュラノードの境界線を右クリックし、ショートカットメニューから出力を追加を選択します。
addOutput.PNG
  1. 出力にz1というラベルを付けます
  2. 手順5を繰り返して別の出力を作成し、この出力にz2というラベルを付けます

注:フォーミュラノードの左側の境界に入力を保持し、右側の境界に出力を保持することは、推奨されたプログラミング手法となります。これにより、VIのデータフローを追跡し、コードを整理することができます。

    1. 以下の式をフォーミュラノードに入力します。
      • 各コマンドは必ずセミコロンで区切ってください。ただし、if文の最初の行にはセミコロンは必要ありません。

    if(x * y> 0)
    z1 = 3 * x ** 2-2 * y ** 3;
    それ以外の場合、z1 = 0;
    z2 = sinh(z1);

    1. 入力と出力の制御器と表示器を作成します。
      1. 各入力を右クリックし、ショートカットメニューから 制御器を作成 を選択します。
      2. 各出力を右クリックし、ショートカットメニューから 表示器を作成 を選択します。
    ラベルを編集することで、制御器名と表示器名をそれぞれの変数名に変更できます。
    createIndicator.PNG
    1. フォーミュラノードと制御器や表示器の周りを囲むようにボタン付きのWhileループを配置します。
    2. ループ内に 待機(ms) 関数を追加してメモリ使用量を節約し、待機時間として100ミリ秒を配線します。ブロック図は次のように表示されます。
    1. 実行ボタンをクリックして、VIを実行します。制御器の値を変更して、出力がどのように変化するかを確認します。

    上記は、フォーミュラノードはブロックダイアグラムに必要なスペースを最小限に抑えるのに役立ちます。フォーミュラノードを使用せずに同じタスクを実行するには、下記のようなコードが必要になります。