ver.16.0.1 '12.8.27現在
Retrieve_tは、モジュール設定にDTSとのリンク情報がある第7サイクル以降の時間軸データの情報を取得することができます。(※補足1)時間軸に対応しているモジュールでは、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
時間軸に対応していないモジュールでは、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プロシージャやパラメータを変換するためのファンクションが使用できます。