LabVIEW(Laboratory Virtual Instrumentation Engineering Workbench)は、主に計測用途に用いられるグラフィカルプログラミング環境です。従来のテキストベースの言語とは異なり、視覚的なインターフェースでプログラムを構築できる点が特徴です。
プログラミングの概念
LabVIEWでは、関数に相当するVI(Virtual Instruments)を
アイコンとして配置し、それらを線で結ぶことでデータフローを定義します。これにより、プログラムの構造やデータの流れを直感的に理解できます。また、for文やif文などの制御構造も、長方形の枠で表現されるため、視覚的に把握しやすいのが特徴です。作成したプログラムは、単独で実行できるだけでなく、別のVIとして再利用することも可能です。
データフローによる実行制御
各VIの実行順序は、データフローによって決定されます。つまり、VIの実行に必要な入力データが揃った時点で、そのVIが実行されます。データフローが互いに独立している場合、LabVIEWは自動的に並列処理を実行します。例えば、データを共有しない複数のWhileループは、それぞれ別のスレッドで実行される可能性があります。マルチコアCPUを搭載した環境では、これらのスレッドが異なるコアで実行されることで、処理速度の向上が期待できます。
LabVIEWの利点と制約
LabVIEWの最大の利点は、機能や入出力関係、データフローを視覚的に把握しやすいことです。これにより、複雑なプログラムでも直感的に理解し、効率的に開発を進めることができます。また、データフローに基づいて自動的に並列処理が実行されるため、マルチコアCPUの性能を最大限に活用できます。
一方で、LabVIEWは静的型付け言語であるため、実行時に型が決定するような動的なコードの記述は難しいという制約があります。また、開発環境と実行システムが分離できないため、C言語のようなマクロ定義はできません。
関連技術
LabVIEWは、データフロー言語および
ビジュアルプログラミング言語の一種です。数値計算ライブラリであるNAG数値計算ライブラリとの連携も可能です。内部では、
LLVMが使用されています。
外部リンク
LabVIEWとは - NI 公式ウェブサイト
LabVIEWグラフィカル開発環境
*
LabVIEW™からNAG数値計算ライブラリを利用する方法