注意:本記事はLabVIEWとLabVIEW NXGの比較について解説した記事ですが、2021年8月にG Web Developmentソフトウェアという、LabVIEW NXGのアドオン機能として存在していたWeb Moduleが独立したソフトウェアが出ています。非商用、非学術目的であれば無償で使用できるバージョンも公開されているので、G Web Developmentソフトウェアのインストールに興味がある方は以下の記事を参考にしてください。
この記事では、National Instruments社製プログラミングソフトウェアであるLabVIEWとLabVIEW NXGについて、両者の違いを踏まえながらどちらを使用すればいいのかについて個人的な感想も踏まえながら紹介していこうと思います。
なお、これらのソフトウェアは同じPCにどちらもインストールすることができます。どちらもインストールすると容量をくうのでどちらかにしたい、あるいは二つともインストールしていてもいざ使い始めるとしたらどっちがいいのか、ということを考える際の参考にしてもらえるかと思います。
なお、両ソフトウェアのインストールの方法については以下の記事をそれぞれ参考にされてみてください。
LabVIEWの場合
LabVIEW NXGの場合
結論
まず結論から。
- 特別事情がない限りはLabVIEWを使用する
- LabVIEW NXG特有の機能を使用したい場合にLabVIEW NXGを選択肢とする
といった具合になりそうです。
まず大前提として、LabVIEW NXGは今後開発が進まないとNational Instruments社から公式で発表があるため、新規のプログラムを組む際には推奨されていないようです。
そのため、今後も継続してプログラムを組んでメンテナンス、バージョンアップなどを行う場合には、LabVIEWを使用したほうがいいと思われます。
一方で、LabVIEWにはなくLabVIEW NXGにある機能が存在しています。その中で一番目立つのはNXG Web Moduleと呼ばれる、web application開発のためのアドオンソフトウェアだと思います。なのでこれを使いたい場合にはLabVIEW NXGを使用する必要があります。(ただし2021年8月にこの機能だけ独立したG Web Developmentソフトウェアという別ソフトウェアがリリースされています)
LabVIEW NXG特有の機能について
では、上記の「LabVIEW NXG特有の機能」についてどのようなものがあるのか、具体的に紹介していきます。
NXG Web Module
恐らくこれがNXGの目玉の機能です。先ほどweb applicationを作成する機能と書きましたが、言い換えると「LabVIEWのフロントパネルの状態をGoogle Chromeなどのウェブブラウザ上で見ることができるようにhtmlファイルを生成する機能」です。
これができると何がいいか。単純には、タブレットやスマホからでもフロントパネルの状態を確認することができるようになります。(私はネットワークエンジニアではないのでここら辺は疎い部分も多いのですが、同じネットワーク下であれば特別な設定はあまりありません。異なるネットワークが絡んでくると・・・ここは勉強中です)
もちろん、やり方は他のプログラムを作る際には行わない特別な手順はいくつかあるのですが、そこまで難しい操作が多いわけではなく、手順さえ覚えてしまえばそこまで苦労しないと思います。(別記事で解説予定です)
なお、LabVIEW NXG community editionであれば、商業目的では使用できませんが、無償でWeb moduleもついてきます。
とはいえ、もしWeb Moduleの部分にだけ興味があるよということでしたら、この機能だけが独立したソフトであるG Web Developmentソフトウェアのインストールがオススメです。
ズームができる
これはLabVIEW NXGが発売された当時結構感動した記憶があります。LabVIEWではフロントパネルもブロックダイアグラムもそれ自体をズームする機能がなかったのですが、LabVIEW NXGでは拡大、縮小ができます。G Web Developmentソフトウェアも対応しています。
Unicodeに対応
LabVIEWでもiniファイルを編集するなどで一応対応方法はあるようなのですが、LabVIEW NXGではUnicodeに正式に対応したことにより文字化けのリスクが低くなりました。
64 bitアプリケーションで日本語対応
LabVIEWは32 bit、64 bitの両方のバージョンが用意されていますが、LabVIEW 32 bitは日本語があるものの64 bitは日本語版がありません。
対してLabVIEW NXGはむしろ64 bit版しかないですが、日本語もあります。というかインストール時に言語の区別がありません。そのため、インストール後に言語を切り替えることができます。
LabVIEWのプログラムをLabVIEW NXG用に変換できる
一応LabVIEWのプログラムをLabVIEW NXG用に変換するという機能があります。ただ、後述するデメリットにもあるように、LabVIEWでは使えていた機能がLabVIEW NXGでは使えなかったりする関係で、完全にきれいに変換することはほぼありません。
なお、LabVIEW NXGのプログラムをLabVIEWに変換することはできません。
LabVIEW NXGのデメリット
一方で、LabVIEWと比べたときのLabVIEW NXGのデメリットも少なからずあります。これらはLabVIEW NXG自体の開発が止まっているため、今後も改善されることのないデメリットと言えそうです。
アプリケーション起動が遅い、突然落ちる
これはLabVIEW NXGの初期から結構見られていました。特に起動に関してはLabVIEWと比べると明らかに遅かったりします。
突然LabVIEW NXGのソフト自体が落ちてしまう(要はクラッシュ)ということも昔はよくありました。新しい5.0のバージョンなどではだいぶ改善されているようですが、それでもPC環境によっては予期しないタイミングで落ちることがあります。
32 bitのDLLを扱えない
LabVIEW NXGは64 bit版しかない、という話を上でしましたが、これにより、LabVIEW NXGの中で呼び出せる外部DLLも64 bit版である必要があります。なお、LabVIEWではDLLの呼び出しにライブラリ関数呼び出しノードという関数を使用していましたが、LabVIEW NXGではShared Library Interfaceという機能を使用して呼び出すDLLを扱います。
一応無理やりですが32 bitのDLLを使用することが全くできないわけではないようなのですが、LabVIEWを必要とします。(LabVIEW NXGの中でLabVIEWを呼び出し、LabVIEWで32 bit DLLを使用するという使い方)
使用できるツールキットが少ない
LabVIEWでは様々に用意されているアドオンソフトウェアがLabVIEW NXG用には用意されていないものがあります。まぁそもそもそんなにツールキットを使用しないという方には関係ない話なのですが。
操作感がLabVIEWと異なる
LabVIEWの環境に既に慣れている人にとっては、プログラムを組むときの操作感、例えばキーボードのショートカットが一部LabVIEW NXGで一部異なるなどの点が地味に不便です。
壊れたワイヤを消すためのCtrl + B、と同じショートカットを持つ場合もあるのですが、画面の縦横の移動(LabVIEWではCtrl + Shiftでマウス操作)がスペースキー(+マウス操作)になっていたりします。
また、ワイヤの途中からワイヤを分岐させるのもキーボード上でCtrlを押しながらでないとできなくなったのも戸惑いポイントだと思います。
あと、LabVIEW NXGではフロントパネルとブロックダイアグラムが分離しません。一応画面を分けるという機能はあるのですが、LabVIEWのときの操作感とは異なるのが気になったりする人もいると思います。
他にも操作感としてはプロパティ項目などが画面右にまとまっている、関数パレットが常に左の方に縦に表示されている、定数をドック(格納)できる、などなどLabVIEWに慣れていればいるほど違和感が否めない部分は結構あります。
まとめ:LabVIEW NXG Web Moduleを使用する以外はLabVIEWで
さて、LabVIEWとLabVIEW NXGの違いについては他にも細かいところがありますが、実際にどちらも操作したことがある私自身の感覚で目立つ特徴を挙げてみました。
これから「LabVIEW」でプログラムを組もうとされている方にLabVIEW NXGはあまりオススメではない、というのが私の結論です。
ただ、プログラムの組み方の考え方(データフローなど)は同じなので、LabVIEW NXGでweb applicationを作成したい、Web Moduleに興味がある、という方には、プログラムを簡単にHTML化できるこの機能をフルに活用して役立てられると思います。あるいは、G Web Developmentソフトウェアの使用も考えた方がいいかなと思います。
ここまで読んでいただきありがとうございました。
コメント