荷重変換センサを作っていると頻繁に錘をつかった校正実験があります。
CPLTで波形をみながら測定していますので、データをそのまま自動処理はしないで、測定作業が終わった直後に測定データをEXCELに取り込んで半自動処理するVBAを作って便利に使ってます。
●手順
①錘を順に荷重してピラミッド状のCPLTグラフを測定します
この場合は750gの錘4個を載せて校正した場合
②EXCEL VBAマクロでCPLTキャリブレータrev02.を開きます。
EXCEL2007です(VBAが速く走るバージョンです)
CPLTキャリブレータrev02.xlsmでマクロ付きなのでマクロを有効
にする必要があります。標準モジュール Form1のform_open()
から起動します。ここから起動しないとエラーがでます。
画面は、左にCPLTのグラフ、右にEXCELを開きます。
③VBA Form_Openしてダイアログを表示させます。
ファイルを読み込んだらデータ範囲の選択作業です。
左のCPLTのカーソル1、2でデータとして採用できる範囲を指定します。下図のようにノイズがあるところは避けて指定します。
目視でデータ変動を確認することが重要です。
ここが全自動化ができない理由です。
③範囲を指定しながら、平均と3シグマをチェックして記録していく
④全データの平均値計算が終わったら回帰処理は手動処理
相関係数correlが0.99999と直線性が高いのでこの校正実験はOKです。
■追記2021年11月
CPLTに代わるプログラム作りました。グラフィックをBitMAP展開するテクニックを身につけてのでようやく可能になりました。CPLTはプロが作っているので速度が速いですが私のプログラムは、10msec周期までが限界です。しかし、CPLTでは460800bpsは対応できてませんが私のプロフラムは対応できてます。一番の特徴は、カーソル間の演算ができることです。
本記事のCPLTキャリブレータの機能が入っているので、校正作業が効率的です。
下記記事人気がでたら、配布形式を作ります。
●VBAプログラム備忘録
EXCELファイルのZIP Excel2007ですのでそれ以降のバージョンなら走るはずです。
CPLTキャリブレーターrev02
中身をいじる場合にソースを記録しておきます。
①UserForm1 のプログラム
Private Sub CommandButton1_Click() ‘OPEN CSV FILE
OpenFileName = Application.GetOpenFilename(“CPLTファイル,*.csv?”) ch = MaxCol TextBox21.Value = ch End Sub Private Sub CommandButton2_Click() ‘平均 分散計算 Next i End Sub Private Sub CommandButton3_Click() ‘登録 データがOKなら登録番号行に記録 Cells(tourokuN, ch + 1) = tourokuN TextBox12.Value = tourokuN + 1 |
②標準モジュール Module1 内のプログラム
form_Opnen 関数を最初に呼び込むことで、vbModelessで操作が自由にできるようにんしてます。
初期値も入れてあります。
Sub form_Open() UserForm1.Show vbModeless UserForm1.TextBox12.Value = 1 UserForm1.TextBox2.Value = 1 UserForm1.TextBox3.Value = 10End Sub |