この記事の下部のAttachmentsからDataPlugin_Examples.zip をダウンロードします。このフォルダにはDataPluginのスクリプトとして使用する
DataPluginExample1.vbsとDataPluginを使用して読み込むデータDataPluginExample1.ex1が含まれております。
DIAdemを起動し、設定>拡張>データプラグインを選択し、「データプラグインの設定」を開きます。新規のDataPluginを作成する際は「VBSデータプラグインを追加」を選択します。
「新規データプラグイン」設定画面ではDataPluginの名前、読み込むデータの拡張子、また、拡張設定を開き、このDataPluginをインストール可能とする互換性のある最小のUSIバージョンを選択します。DataPluginはUSIで実行される為、基本的にはDataPluginを作成した環境と同じバージョンのUSIバージョンが要求されますが、この設定により、開発に用いたUSIバージョンよりも古い環境で使用可能となります。OKをクリックし、DataPluginの作成を完了します。
作成されたDataPluginのスクリプトを編集するにはDataPlugin名を右クリックし、「スクリプトの編集」を選択します。
DataPluginを作成直後のスクリプトは下記の様にデフォルトの内容となっており、赤枠の部分を編集し、読み込む対象のデータの読み取り方を記述します。ここではDataPluginExample1.vbsの内容を使用します。
上記のデフォルトのスクリプトを下記の物と置き換え、保存します。
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 = ";"
File.Formatter.ThousandSeparator = "."
'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)
'Read the description of the implicit channel out of the second line of the file.
File.SkipLine() 'Advance to the next line.
Dim ChannelName : ChannelName = File.GetNextStringValue(eString)
Dim StartValue : StartValue = File.GetNextStringValue(eI32)
Dim Increment : Increment = File.GetNextStringValue(eI32)
Dim ChannelSize : ChannelSize = File.GetNextStringValue(eI32)
'Create the implicit channel.
Dim ChannelGroup : Set ChannelGroup = Root.ChannelGroups.Add("MyChnGroup")
Call ChannelGroup.Channels.AddImplicitChannel(ChannelName, StartValue, Increment, ChannelSize, eI32)
'Read the root's properties out of the file
File.Formatter.Delimiters = ":" 'Properties and their values are seperated by a ":"
Dim PropertyName, PropertyValue
While (File.Position <> File.Size)
File.SkipLine() 'Advance to the next line.
PropertyName = File.GetNextStringValue(eString)
PropertyValue = File.GetNextStringValue(eString)
'Create the property on the root of the plugin.
Call Root.Properties.Add(PropertyName, PropertyValue)
Wend
End Sub
上記の方法で作成したDataPluginを使用してデータの読み込みを行います。DIAdemのNAVIGATORにて、DataPluginExample1.ex1を右クリックし、「ローダーで開く」を選択します。
上記の手順でデータをDIAdemに読み込ませると下記の様なデータが読み込まれます。メモ帳でDataPluginExample1.ex1を開き、内容を比較すると、XAxisという名前で1,000,000から2,000刻みに301点分のデータが存在する事が分かります。またテキストファイルの1.000.000; 2.000; 301という記述の様にカンマとピリオドが入れ替わっている表記(ドイツの方式)であってもDataPluginのFile.Formatter.ThousandSeparator = "."のスクリプトによって正常に読み込まれている事が確認できます。