LabVIEW
開発元 | ナショナルインスツルメンツ |
---|---|
最新版 |
LabVIEW 2023 Q3
/ 2023年7月18日 |
最新評価版 |
LabVIEW 2023 Q3 Beta
/ 2023年4月14日 |
対応OS | Windows / macOS / Linux |
プラットフォーム | クロスプラットフォーム |
種別 | ビジュアルプログラミング言語 データフロー言語 |
ライセンス | プロプライエタリ |
公式サイト | LabVIEW 製品ページ |
開発元 | ナショナルインスツルメンツ |
---|---|
最新版 |
LabVIEW NXG 5.1
/ 2021年1月8日 |
対応OS | Windows / macOS / Linux |
プラットフォーム | クロスプラットフォーム |
種別 | ビジュアルプログラミング言語 データフロー言語 |
ライセンス | プロプライエタリ |
公式サイト | LabVIEW 製品ページ |
LabVIEWはグラフィック型言語によってプログラミングすることのできる開発環境であり、主に計測用に用いられる。Laboratory Virtual Instrumentation Engineering Workbenchを略したもの。
LabVIEW では、通常の言語でいう関数にあたるVI(Virtual Instruments)を表すアイコンをウィンドウ平面上に配置し、VIとVIの間を配線することによってデータフローを表す。for文やif文などのプログラム構造は長方形の枠を描画して構成する。このように作成されたプログラムは、単独で実行させることも、新たなVIとして他のプログラム上で再利用することも可能である。
各 VI の実行順序はデータフローによって決定される。すなわち、各 VI を実行するために必要な入力データがそろった時点で実行される。互いに依存しないデータフローがあり、かつ、それが適切である場合、LabVIEW 実行システムは、それらのデータフローを個別のスレッドで実行しようとする。たとえば、データを共有しない 2 つの While ループがある場合、それらのループは別個のスレッドで実行される。マルチコア CPU 上で動作する Windows XP や Vista は複数スレッドが渡された際に、各スレッドを別々のコアで実行しようとするので、各 While ループが別個のコアで実行されることが期待できる。
LabVIEW は、機能や入出力関係、データフローが直感的に把握できる点でテキスト型言語に対し優れている。また、データフローによって自動的に並列処理が実行されることも、大きな違いである。一方、静的型付けする言語であるため、実行時に型が決定するようなコードを記述することは難しい。また、開発環境と実行システムが分離できないため、C 言語などのようなマクロ定義ができない。
関連項目
[編集]- データフロー言語
- ビジュアルプログラミング言語
- NAG数値計算ライブラリ
- LLVM - 内部で使用されている[1]。
脚注
[編集]- ^ “NI LabVIEWコンパイラの内部” (2020年3月10日). 2023年8月21日閲覧。
外部リンク
[編集]- LabVIEWとは - NI 公式ウェブサイト