解析自動化プロシージャは、
DataLink Collection使用して検索クエリに一致するファイルにアクセスできます。解析自動化プロシージャからデータファイル内のプロパティにアクセスする方法については、以下の関連セクションに従ってください。
解析自動化プロシージャのMainスクリプトを開く
1. DIAdemを起動し、SCRIPTパネルを選択します。
2. 上部のメニュー バーから、
設定 >> SystemLink TDM >> 解析自動化プロシージャを選択します。
3. ポップアップ ウィンドウで、既存の解析自動化プロシージャ (.ANP ファイル)を開きます。
4. 解析
スクリプトタブを選択し、Mainスクリプト(Visual Basic Scriptでプログラミングする場合は .vbsaファイル、Pythonでプログラミングする場合は .pyファイル)をダブルクリックします。
プロパティにアクセスするためのVisual Basic Script(VBS)の作成
DIAdemで.vbsaファイルを開いた後、以下の手順に従います。
1.
On_Run_AnalysisProcedure(oContext)サブプロシージャの
最後のサブ行までスクロールします。
- 注: DataLink変数を定義する行に注意してください。 Navigator.LoadData(DataLink)を使用してファイルがロードされると、通常どおりそのプロパティにアクセスできます。
2.
終了サブ行の直前に、読み取り/書き込みプロパティに次のコードを追加します。
- ファイルのプロパティを読み取るには、 Data.Root.Properties(<property name>).Valueを使用します。例えば:
#-- ファイル名にアクセスします
Dim sourcefilename
sourcefilename = Data.Root.Properties("name").Value
- ファイルのプロパティを書き込むには、 Data.Root.Properties(<プロパティ名>).Value = <設定する値>を使用します。例えば:
#-- Authorプロパティの値を設定します
Dim author
author = "NI"
Data.Root.Properties("author").Value = author
- グループ プロパティを読み取るには、 Data.Root.ChannelGroups(<グループ インデックスまたは名前>).Properties(<プロパティ名>).Valueを使用します。例えば:
#-- グループ1のNameプロパテを読み取ります
Dim groupname
groupname = Data.Root.ChannelGroups(1).Properties("name").Value
- グループ プロパティを書き込むには、 Data.Root.ChannelGroups(<グループ インデックスまたは名前>).Properties(<プロパティ名>).Value = <設定する値> を使用します。例えば:
#-- グループ1の作成者プロパティを設定します
Dim author
author = "NI"
Data.Root.ChannelGroups(1).Properties("author").Value = author
- チャネル プロパティを読み取るには、 Data.Root.ChannelGroups(<グループ インデックスまたは名前>).Channels(<チャネル インデックスまたは名前>).Properties(<プロパティ名>).Value を使用します。例えば:
#-- グループ1チャネル1のNameプロパテを読み取ります
Dim channelname
channelname = Data.Root.ChannelGroups(1).Channels(1).Properties("name").Value
- チャネル プロパティを書き込むには、 Data.Root.ChannelGroups(<グループ インデックスまたは名前>).Channels(<チャネルインデックスまたは名前>).Properties(<プロパティ名>).Value = <設定する値> を使用します。例えば:
#-- グループ1チャネル1の説明プロパティを書き込みます
Dim description
description = "これは説明サンプルです"
Data.Root.ChannelGroups(1).Channels(1).Properties("description").Value = description
プロパティにアクセスするための Python スクリプトの作成
DIAdemで.pyファイルを開いた後、以下の手順に従います。
1.
On_Run_AnalysisProcedure(oContext)関数定義までスクロールします。
- 注:リンク変数を定義する行に注意してください。 elements = dd.Navigator.LoadData(link)を使用してファイルが読み込まれると、通常どおりそのプロパティにアクセスできます。
2. 関数の最後 (
oContext.LogResult("On_Run_AnalysisProcedure: End of Analysis procedure")行の下) に、読み取り/書き込みプロパティに次のコードを追加します。
- ファイルのプロパティを読み取るには、 dd.Data.Root.Properties("name").Valueを使用します。例えば:
# -- ファイルのNameプロパティを読み取ります
sourcefilename = dd.Data.Root.Properties("name").Value
- ファイルのプロパティを書き込むには、 dd.Data.Root.Properties(<プロパティ名>).Value = <設定する値>を使用します。例えば:
# -- ファイルのAuthorプロパティを書き込みます
author = "NI Engineer"
dd.Data.Root.Properties("author").Value = author
- グループプロパティを読み取るには、 dd.Data.Root.ChannelGroups(<グループ インデックス>).Properties(<プロパティ名>).Valueを使用します。例えば:
#-- グループ1のNameプロパティを読み取ります
groupname = dd.Data.Root.ChannelGroups(1).Properties("name").Value
- グループ プロパティを書き込むには、 dd.Data.Root.ChannelGroups(<グループ インデックス>).Properties(<プロパティ名>).Value = <設定する値>を使用します。例えば:
#-- グループ1の説明プロパティを設定します。
groupdescription = "これはデスクリプションのテスト文章です。"
dd.Data.Root.ChannelGroups(1).Properties("description").Value = groupdescription
- チャネル プロパティを読み取るには、 dd.Data.Root.ChannelGroups(<グループ インデックス>).Channels(<チャネルインデックスまたは名前>).Properties(<プロパティ名>).Valueを使用します。例えば:
# -- グループ1チャネル1のNameプロパティを読み取ります。
channelname = dd.Data.Root.ChannelGroups(1).Channels(1).Properties("name").Value
- チャネルプロパティを書き込むには、 dd.Data.Root.ChannelGroups(<グループインデックス>).Channels(<チャネルインデックスまたは名前>).Properties(<プロパティ名>).Value = <設定する値> を使用します。例えば:
#-- グループ1チャネル1の説明プロパティを設定します。
channeldescription = "これは説明テストです。"
dd.Data.Root.ChannelGroups(1).Channels(1).Properties("description").Value = channeldescription