7月にLabVIEW認定設計者(CLA)試験に合格しました。 CLAの実技試験で時間配分が重要で、特にアーキテクチャ開発を早く終わらせると、実装に十分時間をかけられます。
そこで、事前に使用するアーキテクチャを決めて、テンプレートとなるVIを短時間で作成できるよう、練習しました。
では、どのようなアーキテクチャが良いのでしょうか?
NIが公開しているサンプル問題を参考にすると、 日本版ではエレベータの問題があります。 [URL]
一方英語版にはエレベータの問題に加えてATMの問題があります。 [URL]
エレベータの問題の解答は、ステートマシンを用い、モジュール間のコマンドにはキューを使っています。比較的シンプルな方法です。
ATMの問題は解答は、イベントを用いた生産者消費者を用い、モジュール間のコマンドにはキューを使い、さらに停止のためにユーザーイベントを使っています。こちらは、より複雑で拡張性のある方法だと思います。
NIのコミュニティでは、LVOOP(オブジェクト指向)を使ったとの書込みもみられますが、かなり慣れていないと時間切れになると思います。
選択した方法は、ATMの例に近いのですが、APIを作る部分は省略しました。 結局は自分が慣れている方法を使う方が良い!という単純な結論です。
どのパターンが良いか迷っている方は、シンプルなエレベータの例を参考にするのが良いと思います。作業量が一番少ないですから。
セコメントをする