当グループではLHD計測データ収集系(LABCOMシステム)の運転と、同実験関係者・共同研究者の計測データ収集・データ利用・遠隔実験等を支援する以下のサービスを行っています。詳細は各項目をクリックしてください。
English
You are the th visitor since 4 July 2000
Contact : LABCOM
プライバシーポリシー
各種フォームから個人情報を入力・送信する前に必ず上記をご覧ください。

Retrieve_t利用方法 for PV-WAVE/IDL

ver.16.0.1 '12.8.27現在 

Retrieve_tは、モジュール設定にDTSとのリンク情報がある第7サイクル以降の時間軸データの情報を取得することができます。(※補足1)
Retrieve_tdは、DTSとのリンク情報がない第6サイクルまでのデータを取得することができます。
※Retrieve_tでも時間軸を取得できますが、Retrieve(ver.15.0.0以降)で時間軸を取得すれば、計測データと同時に取得できますので処理が効率的です。 処理時間もこちらの方が速いので、Retrieveで時間軸を取得することをお勧めします。
未対応データに関してはこちらをご覧ください。

Retrieve_tで時間軸を取得する

時間軸に対応しているモジュールでは、Retrieve_tコマンドで次のように呼び出します。

retrieve_t, diagName,shotNumber,subshotNumber,channelNumber,timeArray[,code][,param=params][,/silent][,/double][,/wait[,timeout=WaitSec]]

各項目は次を参考に設定します。

入力引数
diagName : 計測名(Bolometer, Magnetics, Halpha, ...) 補足1
またはDTSモジュール名 (DTS:VME01, DTS:VME01:DMOD0, DTS:133.75.175.100, ...)
shotNumber : ショット番号
subshotNumber : サブショット番号
channelNumber : チャンネル番号(e.g. '1,3-6','1,3:6' でCh#1,3,4,5,6、0 で全チャンネルを指定)
信号名(e.g. 'sig-tag1')
出力引数
timeArray : 時間軸データ配列(取得された時間軸データが格納される)
DTSモジュール指定した場合は無視されます
オプション入力引数
/silent : このキーワードを付けることにより、出力メッセージを抑制します
/double : このキーワードを付けることにより、timeArrayをDOUBLE型配列にします
/wait : WAITモードでプロシージャを実行します
(DTSモジュールを直接指定する場合は無効)
waitTimeSec : WAITモードでの実行中、データが存在しない場合、出現するまで待つ時間
単位は秒。この項目の省略時には180秒に設定されます
/wait無しで、この項目を指定した場合は無視されます
オプション出力引数
code : 実行完了コード 以下は値の示す意味
0 : 正常終了
10 : 無効なパラメータ情報
24 : インデックスサーバへの接続不具合
45 : SQL実行エラー
53 : 不正なタイミング情報
      (デジタイザ設定でDTS情報が正しく設定されていない)
54 : タイミング情報が見つからない
55 : 不正な計測名
56 : DTSホストが見つからない
      (デジタイザ設定でDTSホスト名に無効な名前が設定されている)
57 : DTS情報をパラメータに持っていない古いデータ(Shot#<56221)のためDTS情報を取得できない
params : 時間軸情報パラメータ格納変数
(使用する際には、呼出し前に変数の初期化が必要 e.g. params=0)
※パラメータを取得するにはこちらをご覧ください

例)retrieve_t,'Bolometer',50000,1,0,time

(補足)

  1. 計測名をを指定して時間軸データを取得するには、データ収集運転設定で各モジュールのDTSリンク情報(TRGsource, TRGhostID, TRGmoduleID, TRGchannel, CLKsource, CLKhostID, CLKmoduleID, CLKchannel)が、正しく設定されている必要があります
  2. 第6サイクルまでのデータには、モジュール設定に DTS とのリンク情報がないため、実質的にこのプロシージャは使えません
    以下の retrieve_td を使用し、使っている DTS を直接指定すると時間軸データを取得することができます

Retrieve_tdで時間軸を取得する

時間軸に対応していないモジュールでは、Retrieve_tdコマンドで次のように呼び出します。

retrieve_td, shotNumber, subshotNumber, DTSSource, DTSHostID, DTSModuleID, triggerch, clockch, clockSource, defineClock, sampling, timeArray[,code][,param=params][,/silent][,/double][,clksource=clkSource][,clkhost=clkHostID][,clkmodule=clkModuleID]

各項目は次を参考に設定します。

入力引数
shotNumber : ショット番号
subshotNumber : サブショット番号
DTSSource : DTS として使用している機器 (例:'VME')
DTSHostID : DTS ホストの識別名 (例:'133.75.175.180' etc..)
DTSModuleID : DTS モジュールの識別名 (例:'DMOD0', 'DMOD1' etc..)
triggerch : トリガとして使用しているチャネル (例: 3, 4 ...)
clockch : クロックとして使用しているチャネル (例: 1, 2)
clockSource : 計測モジュールのクロック源についての情報 ('External' or 'Internal')
'External'の場合は、指定された DTS の clockch に接続されているものと見なし、その情報から時間軸データを計算します。
'Internal'の場合は、defineClock の値を使い時間軸データを計算
defineClock : モジュールの内部クロック (単位:nsec)
External の場合は 0 にしてかまいません
sampling : サンプリング数。時間軸データ配列の要素数となります
出力引数
timeArray : 時間軸データ配列(取得された時間軸データが格納される)
オプション入力引数
clkSource : クロックチャネルがトリガチャネルと違うDTSSourceを使用している場合のDTS機器種別(例:'VME','FPGA')
clkHostID : クロックチャネルがトリガチャネルと違うDTSHostIDを使用している場合のDTSホストの識別名(例:'133.75.175.180' etc..)
clkModuleID : クロックチャネルがトリガチャネルと違うDTSModuleIDを使用している場合のDTSモジュールの識別名(例:'DMOD0', 'DMOD1' etc..)
/silent : このキーワードを付けることにより、出力メッセージを抑制します
/double : このキーワードを付けることにより、timeArrayをDOUBLE型配列にします
オプション出力引数
code : 実行完了コード
params : 時間軸情報パラメータ格納変数(時間軸情報パラメータが格納される)
(使用する際には、呼出し前に変数の初期化が必要 e.g. params=0)
※パラメータを取得するにはこちらをご覧ください

例)
defineClock(内部クロック(nsec))とsampling(サンプリング数)は大きな値になることがありますので、longを指定するようにしてください。

clk=long(1000000)     *1kHz サンプリングの場合
samp=long(128)*long(1024)     *128K の収集をした場合(Aurora14 128Kモジュールなど)
retrieve_td,35234,1,'VME','133.75.175.100','DMOD0',3,1,'External',clk,samp,time

パラメータを取得する

Ver.13.2.0以降、時間軸情報パラメータが取得できるようになりました。
パラメータ格納変数の指定方法は、必ず"param=パラメータ格納変数"と記述してください。
指定したパラメータ格納変数は、retrieve_t、retrieve_tdを実行する前に"パラメータ格納変数=1"と定義しておいてください。この定義を忘れると未定義エラーとなり、パラメータは取得できません。

例)params=1
  retrieve_t,'Bolometer',50000,1,1,time,param=params

取得したパラメータの一覧を表示するために、printParamプロシージャが用意されています。(制限:パラメータ値は16文字のみ表示)

例)printParam,params

各パラメータ(パラメータ名、パラメータ値)は文字列として格納されています。
取得されたパラメータを変換するために、次のファンクションが用意されています。

getParamLong : 32ビット符号付整数への変換  LongValue = getParamLong( paramName,params[,chanNumber] )
getParamInt : 16ビット符号付整数への変換  IntValue = getParamInt( paramName,params[,chanNumber] )
getParamFloat : 32ビット単精度実数への変換  FloatValue = getParamFloat( paramName,params[,chanNumber] )
getParamDouble : 64ビット倍精度実数への変換  DoubleValue = getParamDouble( paramName,params[,chanNumber] )
getParamString : 文字列型変数への変換  StringValue = getParamString( paramName,params[,chanNumber] )

例)doubleValue = getParamDouble('ClockCycle(sec)',params)
  info,doubleValue

デモジュレータのパラメータを取得する

Ver.14.0.0以降、DTSモジュールの直接指定によるパラメータの取得ができるようになりました。
パラメータ格納変数の指定方法は、必ず"param=パラメータ格納変数"と記述してください。
指定したパラメータ格納変数は、retrieve_tを実行する前に"パラメータ格納変数=1"と定義しておいてください。この定義を忘れると未定義エラーとなり、パラメータは取得できません。

retrieve_t の計測名を指定する代わりに、'DTS:'を付けてからDTSホスト名:DTSモジュール名を指定すると、パラメータ格納変数にパラメータが格納されます。時間軸データ配列には有効なデータは入りません。
DTSモジュール指定を省略した場合は、'DMOD0'または'DMODSS0'を指定した場合と同じ動作になります。
FPGA-DTSでは、TRG#1-6がCH#1-6、CLK#1-6がCH#7-12になっています。

例)params=1
  retrieve_t,'DTS:VME25',90000,1,1,dat,param=params
  printParam,params
  retrieve_t,'DTS:133.75.175.100:DMOD1',90000,1,1,dat,param=params
  printParam,params

パラメータの形式は、retrieve を使って計測名'DTS'のデータを取得した場合のパラメータと同じ形式となります。
取得されたパラメータを表示・変換するためには、パラメータを取得すると同様にprintParamプロシージャやパラメータを変換するためのファンクションが使用できます。


この Web に関する問題または質問等については,LABCOM までご連絡下さい.