再認定ポイントプログラムへ参加してみました。2015/10/19 17:57

CLAや、CLD、CLADといったLabVIEW認定試験は数年で再認定が必要です。

通常は再認定用試験を受けます。

この再認定をポイントで行うのが、再認定ポイントプログラムです。

講習やイベントへの参加を連絡するとポイントが付き、50ポイント貯まると認定されます。

再認定試験を受けなくてもポイントを貯めれば認定を更新できるのです。 詳細の説明も少なく、受付もNI本社のメールアドレスだけなので敷居が高いです。

私は認定外部講師でLabVIEWの講習で教えているので、ポイントがためやすいメリットを生かし、ポイントプログラムに参加しようと思い立ちました。

メールで下記の様な内容を送りました。

I want to begin recertification by Points Program for CLA.
I teached LabVIEW Core 1 Tokyo in 2015/8/x-x.
Please count points.

二週間ほどして返信が有りました。

We have added your 5 points for teaching LabVIEW Core 1 on 2015/8/x-x.
Thank you for your participation in the National Instruments 
Recertification by Points Program!

無事にポイントが付いたようです。

認定講師でないと50ポイントを集めるのは、なかなか大変です。

簡単にポイントがもらえる項目としては、

  • NIDaysへの参加 10ポイント
  • 講習への参加  5~10ポイント

CLAならば4年更新なので、NIDayを4回と、講習などで10ポイント得れば良いですが、

CLDは3年更新なので、NIDayが3回、講習で20ポイントとらないと足りません。

さらに、CLADは2年更新ですから、ちょっと厳しいですね。

他にもポイントが付く項目として、

  • 認定試験問題の開発 3~30ポイント

試験問題は英語で作成するのでしょうから、難しいですかね、

  • 1人のCLD、CLA認定者へのメンタリング 30ポイント
  • 3人のCLAD認定者へのメンタリング 30ポイント

メンタリング? おそらくサポートした人が認定試験に合格すればOKなのだと思います。

これはポイントが高い!(しかし、CLAD1人で10ポイントにしてほしいです。)

ほかにも項目が有るのですが、ちょっと敷居が高そうです。

詳しくは下記を参照してください。

再認定ポイントプログラムftp

CLA事前に考えるけど "いつも通り"2015/09/14 12:59

7月にLabVIEW認定設計者(CLA)試験に合格しました。 CLAの実技試験で時間配分が重要で、特にアーキテクチャ開発を早く終わらせると、実装に十分時間をかけられます。

そこで、事前に使用するアーキテクチャを決めて、テンプレートとなるVIを短時間で作成できるよう、練習しました。

では、どのようなアーキテクチャが良いのでしょうか?

NIが公開しているサンプル問題を参考にすると、 日本版ではエレベータの問題があります。 http://www.ni.com/gate/gb/GB_INFOCLAEXMPRP/JA

一方英語版にはエレベータの問題に加えてATMの問題があります。 http://www.ni.com/gate/gb/GB_INFOCLAEXMPRP/US

エレベータの問題の解答は、ステートマシンを用い、モジュール間のコマンドにはキューを使っています。比較的シンプルな方法です。

ATMの問題は解答は、イベントを用いた生産者消費者を用い、モジュール間のコマンドにはキューを使い、さらに停止のためにユーザーイベントを使っています。こちらは、より複雑で拡張性のある方法だと思います。

NIのコミュニティでは、LVOOP(オブジェクト指向)を使ったとの書込みもみられますが、かなり慣れていないと時間切れになると思います。

選択した方法は、ATMの例に近いのですが、APIを作る部分は省略しました。 結局は自分が慣れている方法を使う方が良い!という単純な結論です。

どのパターンが良いか迷っている方は、シンプルなエレベータの例を参考にするのが良いと思います。作業量が一番少ないですから。

CLA"あきらめ"も大事2015/09/08 17:11

7月にLabVIEW認定設計者(CLA)試験に合格しました。

受験の準備に当たって、いろいろな方面から情報を頂き、攻略方を検討したので、その研究結果の一部を紹介します。

CLAでは短時間で多くの作業が求められるので、時間配分が重要です。

海外のブログでも書かれていたので、評価基準の配点の項目に従って時間配分を考えました。

http://www.metisautomation.co.uk/how-to-ace-your-cla-exam/

配点は下記です。

・ユーザインタフェースおよびブロックダイアグラムのスタイル : 10点
・ドキュメント化 : 20点
・仕様の実装度 : 30点
・アーキテクチャ開発 : 40点

作業の順番は逆で、時間配分の目安は下記にしました。

1.アーキテクチャ開発 1時間15分
2.仕様の実装度    2時間15分
3.ドキュメント化   30分

※スタイルは全体の作業に関連するので時間は割り当てません。

アーキテクチャ開発ではフレームワークのテンプレートを作成します。

これは事前に練習しておき、できるだけ早く作ります。 このテンプレートをコピーして仕様で必要なモジュールを作ります。

次に、各モジュールの中の処理ケース等を仕様書に従って実装していきます。

全ての仕様の網羅を目指し、次々に処理ケースを作ってタグを貼りこみます。 タグは仕様書に書かれている[Covers: SD1]といった文字列です。 このタグを、対応する場所にフリーラベルで貼ります。 採点では、要件管理ソフトウェアNI Requirements Gateway 使って調査するらしいので、全てのタグを入れる事が重要です。

http://sine.ni.com/nips/cds/view/p/lang/ja/nid/202625

実装で、あまり細部にこだわらない事も必要です。

仕様を読んでも、理解できない所は、タグだけ貼って、あきらめる事も重要です。 とにかく時間が足りないので、サクサク進むようにしましょう。

最後は、ドキュメント化と、確認作業です。

アーキテクチャ開発を短時間で終わらせ、実装に時間を回すと良いと思います。

実際に数カ所、理解に苦しむ記述がありました、翻訳が、、

あ、誰か来たようです。今回はここまでといたします。

CLAなんとか合格2015/09/07 12:53

LabVIEW認定設計者(CLA)試験に合格しました。 CLAはプロジェクトの仕様に従って最適な構造を設計する技能を評価する試験です。 4月下旬から準備をはじめ、6月中旬に受験しました。

この試験の難しい点は、「時間が足りない!」という点です。 仕様書に従っコードを作る実技試験ですが、4時間という短時間で仕様をカバーするコードを作成できるかがポイントです。

想定される仕様に対して使用するデザインパターンの骨格を、できるだけ短時間で作成する練習を繰返して、試験に臨みました。 試験当日も、集中力と持続力が必要です。 体調を整え、水分や糖分補給を考えて、お茶や飴を準備して行きました。

4時間が過ぎた時には、グッタリと疲れていました。 体重が5キロくらい落ちたかと思ったのですが、変わっていませんでした、、

試験結果は、メールでくるのですが、なかなか来なかったので気をもみましたが、 7月末に合格の通知をうけました。

感想は、"つかれた" 体力の要る試験なので、もう一度やるのはゴメンです。

VIを動的に実行2011/05/27 11:15

サブVIを利用する場合、そのVIをブロックダイアグラムに貼り付けて呼び出す方法が基本です。
使用するメモリーの節約などを考慮して、VIを動的に呼び出す場合があります。
動的に呼び出す方法には、手順が有るため、少々手間がかかります。
そこで、今回は、VIを動的に実行するサブVIを作成しました。


"VIパス"に実行するVIのファイルパスを入力します。
"終了まで待機"にVIが実行を完了するまで待機するかどうかを指定します。
"ウィンドウの状態"にフロントパネルのウィンドウを開いた状態を設定します。
実行して、スマイルマークのボタンを押すとゲームスタートです。
実行すると指定したVIが実行されます。


オプションの"終了まで待機"をFalseで実行すると、通常のサブVIではできない動きが可能です。
実行した後で、呼び出した方のVIを終了しても、呼び出されたVIはそのまま動き続けます。
動的な実行を使うと、呼び出されるまでは、メモーを消費しないため、メモリーの節約になります。

サンプルは会社のサイトに掲載しましたので下記をご覧ください。

VIを動的に実行

マインスイーパー2011/04/28 17:00

時々、LabVIEWは計測専用のソフトだと思われている方がいます。
そこで、おなじみの地雷探しゲームをLabVIEWで作ってみました。


"WIDTH"に横のマス数を入力します。
"HEIGHT"に縦のマス数を入力します。
"Mines"に地雷の個数を設定します。
実行して、スマイルマークのボタンを押すとゲームスタートです。
左クリックでマスを開き、右クリックで旗を立てます。
左右同時クリックには対応していません。

プログラムはイベント処理の生産者消費者デザインパターンを利用しています。
選んだマス目の周囲に地雷が有るか探す部分で、再帰呼出しの手法を使っています。
再帰呼出しは、LabVIEW2009で新たに追加された機能です。


サンプルは会社のサイトに掲載しましたので下記をご覧ください。

マインスイーパー

強度グラフのマーカー色自動設定2011/04/15 15:00

二次元のデータを色の変化で表現する強度グラフですが、色の仕手に一手間かかります。
特に、表示したい値が大きく変化すると、すぐに画面全体が一つの色だけになってしまいます。
これは、色の指定をするマーカーの位置が、自動的に変化してくれないためです。
そこで、マーカーの位置を値の範囲に応じて自動調整するVIを作りました。


"IntGraphRefIn"に強度グラフのリファレンスを接続します。
"DataIn"に強度グラフに表示するデータを接続します。
"MarkerColors"にマーカーに使う色のリストを接続します。値が大きい範囲に対応する色から並べます。
実行すると波形グラフのマーカーが自動的に設定されます。

サンプルは会社のサイトに掲載しましたので下記をご覧ください。

強度グラフのマーカー色自動設定

一次元配列を編集する2011/04/08 15:00


フロントパネルの一次元配列をボタンの操作で編集するサンプルVIを作りました。
配列の順番の変更、データの削除、挿入の処理をボタンのクリックで行えます。


配列の左側に、操作対象を選択する丸ボタンの選択ボタンがあります。
この選択ボタンで対象とするデータを選びます。
"Delete"を押すと、対象のデータを削除します。
"Up"を押すと、対象のデータを一つ上に移動します。
"Down"を押すと、対象のデータを一つ下に移動します。
"Insert"を押すと、対象のデータの上に新しいデータを挿入します。

サンプルは会社のサイトに掲載しましたので下記をご覧ください。

一次元配列を編集する

ある範囲の整数の乱数を作る2011/03/08 15:00


乱数を作る関数としては、「乱数(0-1)」があります、これは0から1の範囲の小数乱数を発生させます。
それでは、サイコロの様に1から6の整数をランダムに発生させるにはどのようにすれば良いでしょう?

乱数の値を、5倍して0~5の乱数を作り、それに1を加えて1~6の乱数として、それを整数に変換すると間違えです。
この計算方法では、1と6の発生確率が半分になってしまいます。

ちょっと考えると当たり前なのですが、このようなミスを防ぐためにも、範囲を指定できる乱数発生のサブVIを作成しました。


「Max」に発生させる最大値、「Min」に発生させる最小値を入力します。
実行すると、「Random Num」からランダムな整数値が出力されます。

サンプルは会社のサイトに掲載しましたので下記をご覧ください。

ある範囲の整数の乱数を作る

VIのフォルダパスを調べる2011/02/16 15:00


VIの保存先のパスを調べる時に、"現在のVIパス"で調べる方法がありますが、
実行形式のEXEファイルにするとパスが変わってしまう場合があります。

例えば "c:\Test\Main.vi" の中で "c:\Test\Sub.vi" が使われている場合。
Subの中で、"現在のVIパス"は "c:\Test\Sub.vi"を出します。
ここで、Mainを実行形式にすると、"c:\Test\Main.vi\Sub.vi" となります。
実行形式にする場合には変更が必要になります。
そこで、今回はそのVIが保存されているフォルダを調べるサブVIを作成しました。


このサブVIを使えば、VIの状態でも、EXEでも、そのVIが保存されているフォルダのパスを返します。

サンプルは会社のサイトに掲載しましたので下記をご覧ください。

VIのフォルダパスを調べる