この記事では、他の記事で一つずつ取り上げるほどではないものの、もしかすると知られていないかもしれないなというLabVIEWを使用する上でのいくつかの小ネタを独断と偏見で5つ選んだので紹介しています。
これまでの小ネタは以下の記事をご覧ください。
スタイルによって微妙に違う仕様
LabVIEWでプログラムを組むとき、ユーザーインタフェース(UI)となるフロントパネルの見た目はとても重要です。
使いやすいプログラムにするためには、見た目にもわかりやすいUIになっているべきですしね。
そしてLabVIEWではそんなUI用のオブジェクトである制御器や表示器があらかじめ用意されていて、スタイルという区分があります。
同じスタイルの中では見た目が統一されているので、一つのプログラムでは極力スタイルは一つ選んでそこから各制御器や表示器を使用するときれいなフロントパネルが作りやすくなります。

実は、同じ役割の制御器でも、スタイルによって微妙に仕様が変わっていることがあります。
分かりやすい例でいくと、色の設定が挙げられます。「システム」以外のスタイルであれば色を付けることができるのですが、「システム」は色を勝手につけることができません。
例えば以下の図では数値制御器に対して背景の色を変更していますが、システムの制御器についてはこのようなカスタマイズが効きません。

その他機能面でも微妙にスタイルごとに異なっているものがあります(Visionの画像表示器のSnapshotの設定など)。

なので、もしあるスタイルの制御器、表示器を使ってプログラムを組んで後からスタイルを丸々変更する場合には、変更前と同じ動作をするか確認する必要があります。
Pythonノード使用時にコンソールを表示させる
LabVIEWからPythonコードを使用する際にはPythonノードを使用して.pyファイルに定義した関数を呼び出します。
実行自体はこれでできるのですが、出力結果だけ得ることになるので、途中経過はわかりません。
実は隠しコマンドでPythonノード実行時にコンソールを表示させる機能があり、
ShowConsoleForPythonNode=TRUE
という項目をLabVIEW.iniファイルに追加することでコンソールを表示させることができるようになります。

例えば以下の例では1秒おきに数字を表示させる場合の例です。ゆっくり表示させるためにtimeモジュールを使用しています。
LabVIEWプログラムを実行すると、別ウィンドウでコンソールが表示され、数字が一定間隔で表示されていく様子が確認できます。これはPython側で行っているprintが反映されています。

Ctrl + Tのショートカットの操作
LabVIEWによるプログラムの開発は、最初ユーザーインタフェースに必要な機能を全部用意するためにフロントパネル側を構成し、その後にブロックダイアグラムでアルゴリズムを構築するといった手法を取ることがよくあります。
とはいえ、ちょっとしたプログラムを作ってフロントパネルに表示される結果を都度確認しながらブロックダイアグラムも作っていくという組み方もあり得て、そんな場合にフロントパネルとブロックダイアグラムを同時に表示させるショートカットキーとしてCtrl + Tがあります。
このショートカット、デフォルトでは「左右に並べる」のですが、「ウィンドウ」メニューで「上下に並べる」を選択した後だと、同じショートカットキーを押しても「上下に並べる」の機能となります。

特にブロックダイアグラムはLabVIEWの構造上、上下よりは左右に長くなりがちで、ブロックダイアグラムを上下に並べる事で表示上は横長になると都合がいい場面が多いと思います。

加えて、CtrlとShiftを押しながらフロントパネルおよびブロックダイアグラムで何もない場所をクリックするとマウスカーソルで画面を「つかむ」ことができ、スクロールバーを使用せずとも画面を自由に動かせるので便利になります。
プロジェクトエクスプローラからファイルのディレクトリ変更
複数のviを使用するようなそれなりに規模の大きいアプリケーションを作成するうえで、これらviの管理にプロジェクトエクスプローラが役立ちます。
頻繁に行うことではないと思いますが、プロジェクトエクスプローラの「ファイル」タブ上でvi(やその他プロジェクトエクスプローラに追加されているファイル)を移動させることができます。

単に移動させるだでなく、依存関係も自動的にエラーが起こらないように調整してくれます。

管理者権限でしかアクセスできない場所でファイル操作
LabVIEWでファイルIO操作をする場合、保存先パスを定数や制御器で指定するだけであればどんなパスでも指定すること自体はできますが、PCの一部のディレクトリは管理者権限がないと実行時に問題が起こります。
管理者権限が必要なディレクトリを指定している場合、通常LabVIEWはエラー8を出し「ファイルに対して正しい許可がありません」と警告し正しくファイルIO操作ができないため、結果を保存できない、という状態になってしまいます。
例えば、Web Service用にC:\Program Files\National Instruments\Shared\Web Server\htdocsのパスにファイルを生成するような場合です。

このエラー、LabVIEWそのものを管理者権限で開くことで解消することができます。LabVIEWの本体、LabVIEW.exeは32 bitの場合
C:\Program Files (x86)\National Instruments\LabVIEW XXXX
のパスにあるので、ここにあるLabVIEW.exeを右クリックして管理者として実行します。
注意点を強いて挙げるとすれば、この方法でLabVIEWを開いた状態で既存のviをダブルクリックで開くと「管理者権限のない」LabVIEWが別途開いてしまうので、「管理者権限で開いた」LabVIEW上のファイルメニューから「開く」でviを選択して開く必要があります。

本記事では、LabVIEWの小ネタを5つ紹介しました。Pythonの処理の途中経過を調べたり、ファイル移動をプロジェクトエクスプローラ上から行ってviファイルを管理する方法は知らなければ使えない方法で、覚えておいて損はないと思います。
ここまで読んでいただきありがとうございました。
コメント