Microsoft .NET Chartを使う2010/06/28 15:38

LabVIEWのグラフやチャートはとても高機能で使いやすいのですが、もう少しデザインが良いグラフが描きたいと思うこともあります。
そこで、Microsoft .NET Chartというグラフ描画のための.Netコントロールを利用してXControlを作成しているサンプルがありましたので紹介します。

○使い方

1. MicrosoftのサイトからMicrosoft Chart Controls for Microsoft .NET Frameworkをダウンロードしてインストールする。

ダウンロードサイト

2. XControlをダウンロードする (LabVIEW2009用です。)

ダウンロードサイト

3. Interactive Demo.viを実行する。

設定項目がとても多いので使いこなすには時間がかかるかもしれませんが、それだけカスタマイズができるので、自分のイメージ通りのチャートが作れるのではと思います。
XControlの作り方や、.Netの使い方のサンプルとしてもとても良い例だと思います。

枝番号付きファイル名を自動生成2010/06/25 14:56

LabVIEWで測定結果などのデータをファイルに保存する場合、毎回ファイル名を付けるのは手間が掛かります。保存先を決めると自動的に枝番号を付けてファイル名が重ならないようにしてくれると便利です。

そこで、この機能をサブViにしました。 保存先フォルダ内のファイルの一覧を取得して、その中から枝番号が一番大きいものを探し、その番号より1つ大きい枝番号のファイル名を作成します。
サンプルは会社のサイトに掲載しましたので下記をご覧ください。

枝番号付きファイル名

全ての表示器や制御器の値を保存2010/06/17 13:40

測定用のアプリケーションなどを作っていると、フロントパネルで入力された設定値などを保存して、次に起動した時に前回の値を表示して欲しいと言われることがあります。
数が少なければ簡単なのですが、項目が多いとかなりの手間になります。

下記のページには、フロントパネル上の全ての制御器と表示器の値を保存して、読み出すVIが紹介されています。

Save and Load All Front Panel Controls

少し改造すれば、サブVIで、貼り付ければ保存、読込みが可能なVIができそうです。完成したらまた紹介します。

グラフを動画で保存2010/06/15 16:47

波形グラフに表示した波形の変化を動画に保存するためのVIを作成しました。
波形グラフの画像は、インボークノードで取得できるのですが、それを動画に保存するためには、IMAQの画像に変換をしなくてはいけません。
この方法が見つからなかったので苦労しました。正確には、Webの検索で見つけたのですが、ちょっとスマートな方法ではなくて使いたくなかったので、他の方法を探したのです。

スマートでないというのは、取得した静止画を一度ファイルに保存してから、改めてIMAQで読み取るという方法だからです。明らかにオーバーヘッドが大きいだろう!
しかし、この方法しか見あたらず、データ変換のために画像ファイルのフォーマットを調べても、はっきりした事が分からなかったため、あきらめて静止画ファイル経由の方法で作りました。

実際に動かしたところ快適に動作したので良かったのですが。 もしかしたら、実行環境のスペックに助けられているだけかもしれません。
サンプルは会社のサイトに掲載しましたので下記をご覧ください。

波形グラフを動画に保存

LabVIEWのTips2010/06/11 14:46

LabVIEWの使い方には、知っていると便利なちょっとした技がたくさんあります。
そんな小技(Tips)を集めたWebページが、 LabVIEWTM WikiのTips and tricksです。
日常的に使えそうな便利な機能から、ほんとに便利なのか?疑問に思う物まで100個以上も集められています。

Tips and tricks - LabVIEW Wiki

その中から初級、中級、上級の三段階で25個のTipsを紹介した資料もあります。

Communities: LabVIEW Tips and Tricks

残念ながら全て英語なので、このブログで少しずつ紹介していこうと思います。

挿入と削除2010/06/10 17:18

ワイヤの途中に関数を挿入する時に、いちいちワイヤーを削除して配線をやり直していませんか?
ワイヤを右クリックして挿入メニューから挿入したい関数などを選択するとワイヤの途中に関数を挿入することができます。
ただし、入力が1つ、出力が1つならば良いのですが、複数入出力があると適切な端子に接続してくれるとは限りませんので悪しからず。

入力と出力が同じデータの関数を削除する時に、関数を削除した後でワイヤをつなぎ直す手間を省くためには、Ctrl + Space + Ctrl + R が便利です。
これはクイックドロップという機能と合わせて追加された機能です。

デザインパターン2010/06/02 14:48

ある程度LabVIEWに慣れてくると、出てくるのが 「プログラムをどのような構造で作るか?」 という疑問です。 他人から見ても解りやすくて、変更を加えやすい作り方は?

そこで注目されるのがデザインパターンです。 LabVIEWで一般的なものとして、 「ステートマシン」 「生産者・消費者」 「機能的グローバル変数」 などがあります。 他にもさまざまなパターンがありますが、使い方はまた、別の機会に説明します。

良い参考資料があったのでリンクしておきます。
LabVIEW Design Patterns - June LV UGM

再帰呼び出しの深さ制限2010/05/28 11:04

LabVIEW2009から再帰呼び出しが可能になり、利用できるアルゴリズムの幅が大きく広がりました。 ただし、問題もあります。呼び出しを繰り返しすぎると、処理が重くなります。判断を間違えると無限に呼び出しを行う恐れもあります。 そこで、呼び出しの深さを制限したいのですが、呼び出しチェーンの要素数から呼び出し深さを取得して制限を加えてみました。

ワイヤの選択2010/05/27 10:16

ワイヤの選択範囲はクリックの回数で決まる
ブロックダイアグラムのワイヤ選択は、クリック回数で範囲が変わります。

ワイヤをクリックすると直線部分の1本が選択される。
ダブルクリックすると、分岐から先の枝1本が選択される。
トリプルクリックすると、ワイヤ全体の幹全部が選択される。