DIAdemに読み込むデータの確認
ここでは下記のTestCSV.csvファイルを読み込むデータプラグインを作成します。TestCSV.csvはこの記事のAttachmentsからダウンロードする事ができます。データファイル内の各項目を赤字で表記したプロパティとしてDIAdemのData Portalにロードする事を目標とします。
データプラグインの作成
DIAdemで新規のデータプラグインを作成します。詳細な手順は
こちらの記事で確認できます。DIAdemを起動し、設定>拡張>データプラグインを選択し、「データプラグインの設定」を開きます。新規のDataPluginを作成する際は「VBSデータプラグインを追加」を選択します。
「新規データプラグイン」設定画面ではDataPluginの名前、読み込むデータの拡張子、また、拡張設定を開き、このDataPluginをインストール可能とする互換性のある最小のUSIバージョンを選択します。DataPluginはUSIで実行される為、基本的にはDataPluginを作成した環境と同じバージョンのUSIバージョンが要求されますが、この設定により、開発に用いたUSIバージョンよりも古い環境で使用可能となります。OKをクリックし、DataPluginの作成を完了します。ここでは下記のようにデータプラグインを構成しました。
上記のデータプラグインで使用するVBScriptの編集は
スクリプトの編集を選択して、行います。後述するスクリプトを下記の図のように張り付けて保存する事でデータプラグインは完成します。
上記の図で使用しているスクリプトは下記の物となります。
Option Explicit
Sub ReadStore(File)
'Provide the file object with information about the file format
File.Formatter.LineFeeds = vbNewLine
File.Formatter.IgnoreEmptyLines = true
File.Formatter.TrimCharacters = " "
File.Formatter.Delimiters = ","
'Read the name of the source out of the first line of the file.
Dim TitleValue : TitleValue = File.GetNextStringValue(eString)
Call Root.Properties.Add("Name", TitleValue)
File.SkipLine() 'Advance to the next line.
Dim PropName : PropName = File.GetNextStringValue(eString)
File.SkipLine() 'Advance to the next line.
Dim PropVal : PropVal = File.GetNextStringValue(eString)
'Create the property on the root of the plugin.
Call Root.Properties.Add(PropName, PropVal)
File.SkipLine() 'Advance to the next line.
Dim ChnGrpName : ChnGrpName = File.GetNextStringValue(eString)
File.SkipLine() 'Advance to the next line.
'Read the root's properties out of the file
File.Formatter.Delimiters = "," 'Data values are seperated by a ","
'Create the implicit channel.
Dim oMyGrp : Set oMyGrp = Root.ChannelGroups.Add(ChnGrpName)
Dim oMyChn, i, Val, j
Set oMyChn = oMyGrp.Channels.Add("Xaxis",eR32)
For i = 1 to 1000
Val = File.GetNextStringValue(eR32)
If IsEmpty(Val) = true Then Exit For
oMyChn(i) = Val
Next
File.SkipLine() 'Advance to the next line.
Set oMyChn = oMyGrp.Channels.Add("Yaxis",eR32)
For i = 1 to 1000
Val = File.GetNextStringValue(eR32)
If IsEmpty(Val) = true Then Exit For
oMyChn(i) = Val
Next
End Sub
作成したデータプラグインを使用してデータをロードする
上記の方法で作成したDataPluginを使用してデータの読み込みを行います。DIAdemのNAVIGATORにて内部データを削除後、TestCSV.csvを右クリックし、「ローダーで開く」を選択します。
下記の図のように、スクリプトで指定した形でデータが読み込まれ、プロパティが登録されている事が確認できます。