FlexPro を使用されているみなさん、およびこれから使用しようとしている方、興味をお持ちの方々の多くの方が試験・実験ごとに測定されたデータを使って特定のパターンの処理・解析を行っているのではないかと思います。そしてできればそのプロセスを自動化したいと思っていらっしゃることでしょう。今回は FlexPro での作業の自動化についてご紹介したいと思います。

FlexPro は複数の自動化の方法を用意しています。

一つはマクロレコーディングによる方法です。これは Microsoft Excel など他の製品でお使いになりご存知の方も多いかと思いますが、記録開始から停止するまでの間に手動で行った操作をマクロとして記録し、あとでそのマクロを呼び出してボタン一つで記録した作業を実行させる機能です。

このマクロレコーディングで、例えばデータをインポートするところからマクロを記録した場合は、そのマクロを再生すると記録した時にインポートした場所の、同じ名前のデータをインポートしようとします。実験・試験ごとに測定したデータを上書きしているのであれば問題ありませんが、データを保存するフォルダを変更している、あるいはデータの名前を変更している場合はインポートできなくなってしまいます。

VBA がバンドルされていない FlexPro Standard を使用されている場合は、これを避けるためにデータをインポートした後の処理からマクロを記録する方が現実的です。

FlexPro Professional の場合は VBA がバンドルされていますので、VB Editor を使って記録されたマクロを編集し、例えばインポートするデータを指定するウィンドウを表示するように変更することができます。

一部の計測機器メーカのように測定機器の API が用意されている場合、FlexPro から計測機器をコントロールしてデータを収集するなどといったことも可能です。FlexPro は OLE や Automation に準拠しているので、例えば FlexPro で解析した結果のグラフや表を会社指定の Word のレポートフォーマットに埋め込んだり、PowerPoint プレゼンテーションに挿入するなどといったことまでカスタマイズすることもできます。

このマクロレコーディングをベースにしたカスタマイズの利点は、スクラッチからマクロを書くことに比べ大幅にプログラミングにかける作業の時間と労力を大幅に軽減できることと、サンプルとしてマクロプログラムを見ることができることです。社内のソフトウェア屋さんの労力と時間を削減、あるいは社外のソフトウェアハウスに支払っていたプログラム作成費用を大幅に抑えることができるようになるかもしれません。何人月あるいは数百万をかけて作成していたものと同等のものが三十数万円のソフトウェアとちょっとした VB のプログラミングで実現できる可能性があるのです。それで浮いた予算を新しい計測機器などに回し、より効率化を図ることができるかも。技術開発や製品開発の質や速度は落としたくないがコストは削減したいとお悩みのものづくり関係者のみなさま、ぜひご検討を。

作業プロセスのパターンにあわせていくつかのマクロを作成しておき、ツールバーにボタンとして登録しておくことができます。つまり、一度マクロを作成してしまえば次回以降はボタン一つで目的の作業を行うことができるようになります。FlexPro Professional で作成したマクロは FlexPro Runtime あるいは FlexPro Standard のユーザーに配布することができます。マクロを使用するすべての方みんながみんな FlexPro Professional が必要になるわけではありません。FlexPro Professional には無料で FlexPro Runtime が三つついてきます。

もうひとつの方法は、一度手動で行った作業の FlexPro データベースをテンプレートとして保存し使用する方法です。

この方法を行うには二つ条件があります。

一つはデータをインポートする際に「それぞれのファイルのための新規フォルダを作成」オプションにチェックを入れておくこと。

もう一つはデータファイルの中の各チャンネル名を共通にしておくことです。FlexPro で用意されているサンプルデータ Measurement1 と Measurement2 はデータファイルの名前は異なりますがその中のデータセットの名前はそれぞれ Ultrasound Signal、Voltage、Current と共通しています。このような構造が必要となります。まあ、オシロスコープやデータレコーダで収集したデータであれば CH1、CH2... とかデフォルトで設定されている名前を使えば問題はないでしょう。

この二つの条件をクリアしたらテンプレートとなる FlexPro データベースを作成します。作成すると言っても特別なことをするわけではなく、必要な作業を一度手作業で行うだけです。一連の作業が終わったらこの FlexPro データベースに名前をつけて保存します。複数の作業パターンが存在する場合はそれぞれのパターンの作業を手作業で行っておいてそれぞれ別のわかりやすい名前、例えば HPF-FFT とか MaxMinRMS など、をつけて保存しておきます。

次回以降は必要な作業のテンプレートデータベースを開き、そこに新しいデータをインポートし、データフォルダを切り替えるだけで一連の作業を自動的に行うことができます。テンプレートデータベースを開く際にコピーを作成して開くオプションを選択すればオリジナルのテンプレートは手付かずで残るので、例えばカットオフ周波数や窓関数など様々なパラメータについて安心して試行錯誤することができます。

文面でご紹介しているとくどくどと文字だけが連なり面倒臭そうに感じられるかもしれませんし、文章センスのなさから実際の作業イメージが想像しにくいかとも思います。

わかりやすいように動画を用意してみましたのでぜひご覧ください。

まず一つ目の動画は 3 つのシグナルの最大値、最小値、RMS を配置したテーブルを作成する例です。
作成後、新しいデータをインポートすると、そのインポートしたデータの最大値、最小値、RMS がテーブルに表示されます。
アクティブなフォルダを切り替えるだけでそれぞれのデータでの結果を見ることができます。

 

次はデータに対してカットオフ周波数 100 Hz でバターワースハイパスフィルタをかけ、フィルタを実行した結果に対して FFT 解析を実行、オリジナルのデータとフィルタをかけた結果および FFT 解析の結果を三つのペインを持つワークシートに配置する例です。上の例と同様、アクティブなデータフォルダを切り替えるだけでそれぞれのデータでの結果を見ることができます。

p>

こんなに簡単です。

春の風邪にやられ熱に浮かされながら書いているので大分読みにくい文章や内容になってしまっていてすみません。みなさまもお身体ご自愛くださいね。

※この記事の内容は執筆者の個人的見解で、ヒューリンクスによる公式情報ではありません。[免責事項]

トラックバック

この記事へのトラックバックURL
http://blog.hulinks.co.jp/cgi/mt/mt-tb.cgi/419
内容に対しての関連性がみられないものは削除する場合があります

コメントの投稿

Emailアドレスは表示されません。は必須項目です。
ヒューリンクス取り扱い製品の内容や購入に関するお問い合わせはヒューリンクスサイト連絡先へお願いいたします。投稿前にその他の注意事項もご覧ください。

HULINKS サイトの新着情報