DIAdemスクリプトを作成して解析を自動化する

更新しました Jan 18, 2021

環境

ソフトウェア

  • DIAdem

DIAdemは計測データに対する解析、レポート作成を行うツールとして使用される事が多いです。複数のデータの解析を行う場合、解析を自動化し、作業効率の改善が求められる場合が多いです。DIAdemではVBScriptを使用する事でDIAdem上で行う解析を自動化する事ができます。ここでは複数のデータに対して平滑化処理する解析をVBScriptで作成したプログラムを使用して自動化する方法を確認します。

まず平滑化の解析の自動化の方法を確認する際に使用するデータをData Portalにロードします。デフォルトではExampleのデータがロードされておりますので「内部データの削除」を行い、添付ファイルのSampleData.csvをData Portalにドラッグ&ドロップし、ロードします。SampleData.csvはこの記事の下部のAttachmentsの項目にてダウンロードできます。このデータをData Portalにロードすると下記の様に10個の温度測定データ(Temperature_AからJ)がロードされます。



自動化したい解析を行うVBScriptを作成する最も簡単な方法は「スクリプトの記録」です。この機能はDIAdem SCRIPTの「スクリプトの記録開始」から開始できます。



「記録モードの構成」を行い、OKを選択するとスクリプト録画モードになり、下記のRecording...のポップアップが表示されます。



ANALYSISの「カーブフィッティング」から「平滑化」を選択します。下記の様に「平滑化」の設定画面が開きます。



青線はTemperature_Aのデータ、赤線は解析結果となります。解析を行うデータの指定、解析内容の詳細設定を行い、OKを選択します。今回の例ではデフォルトの状態でOKをクリックします。



解析結果がSmoothedとして出力されています。「スクリプトの記録停止」を行うと、下記の通り、作成されたスクリプトが表示されます。



このスクリプトではTemperature_Aのデータに対して平滑化処理を行い、Smoothedという名前で結果を出力しています。関数の詳細については調べたい関数にカーソルを移動し、ヘルプを開く事で確認できます。



上記の解析をData Portalにロードされている10個のデータ(Temperature_AからJ)に対して行うスクリプトに変更するには下記の様にForループを使用したスクリプトを使用します。
 
Dim oMyChn, ResChn, i
For i = 1 to 10
Set oMyChn = Data.GetChannels("[1]/[" & i & "]") 
ResChn = "/Smoothed" & i
Set ChnResult = ChnSmooth(oMyChn, ResChn, 12, "maxNumber", "byMeanValue")
Next

上記のスクリプトを実行するとData PortalにロードされているTemperature_AからJのデータに対して自動的に解析が行われ、結果が出力されます。



解析の結果はVIEWで確認する事ができます。Temperature_AとSmoothed1のデータをData Portalからグラフ領域にドラッグ&ドロップすると下記の様になります。

Attachments