当グループではLHD計測データ収集系(LABCOMシステム)の運転と、同実験関係者・共同研究者の計測データ収集・データ利用・遠隔実験等を支援する以下のサービスを行っています。詳細は各項目をクリックしてください。
English
You are the th visitor since 4 July 2000
Contact : LABCOM
プライバシーポリシー
各種フォームから個人情報を入力・送信する前に必ず上記をご覧ください。
for MATLAB
ver.15.0.0
  • Retrieveってなに?
  • MATLABってなに?
  • Retrieveのインストール
  • 計測データ/パラメータの取得
  • エラーコードの参照
  • 時間軸の取得
  • 電圧に変換して表示
  • 画像データの表示
  • WAITモードでのデータ取得
  • リアルタイムデータを取得
  • デモジュレータのパラメータを取得
  • 参照サイトの切り替え
  • Retrieveのアンインストール
  • クイズに挑戦!

次へ

Retrieveってなに?

Retrieveとは、MATLABから直接呼出し可能なプログラムで、計測データベースに格納されている計測データを取得するために使用します。
MATLABから呼び出すプログラム(.m)ファイルとランタイム共有ライブラリRetrieve.DLL(Linux版はlibretrieve.so)より構成されています。
ですからユーザが共有ライブラリを呼び出す専用アプリケーションを作ることもできます。
 
 
計測データを取得するために使うんだね。
 
 
 
 

次へ

MATLABってなに?

MATLABは、アルゴリズム開発、データの可視化、数値計算を行うためのハイレベルなテクニカルコンピューティング言語および対話型環境です。信号(波形)解析・画像処理、通信システム設計、制御系設計、実験計測、金融工学、生命工学などの様々な分野で利用できます。また、Toolbox(目的別のMATLAB関数群)により、柔軟に機能拡張に対応できます。Simulink(シミュレーションとモデルベースデザイン環境)との組み合わせ利用は、シミュレーションソフトとして最もポピュラーな存在でもあります。
 
 
 
MATLABでデータを可視化するんだね。
 
 
 

Retrieveのインストール

 
  まずはインストールするんだね。
 
計測データ・パラメータを取得するには、Retrieveを利用します。
次の手順に沿って、Retrieveをインストールしましょう。
  1. Retrieve+dbStoreをダウンロードし適当なフォルダに保存します。ダウンロードはこちらから。 
  2. インストールするPCに旧版のRetrieve+dbStoreがインストールされている場合は、必ず旧版をアンインストールしてください。 
  3. ダウンロードしたファイルをダブルクリックするとインストールが始まります。手順に沿ってインストールを行ってください。
  4. Retrieve+dbStoreをインストールすると、参照サイトが自動的に「LHD」に設定されます。デフォルトの参照サイトを変更したい場合はこちらをご覧ください。
    なお、MATLABでは参照サイトを変更する関数が用意されています。詳しくはこちらをご覧ください。
  5. MATLABがインストールされていない場合は、インストールを行ってください。
  6. MATLABを起動したときにRetrieve+dbStoreが利用できるよう、サーチパスに"$Retrieve/lib/matlab"を追加してください。もしくは、"$Retrieve/lib/matlab/startup.m"ファイルを、MTALABサーチパスのディレクトリにコピーしてください。すでにファイルがある場合は、内容を追記してください。

計測データ/パラメータの取得

MATLABを起動し、Retrieveで計測データ・パラメータを取得してみましょう。(Retrieveの使用方法はこちらをご覧ください)
■図-1
STEP1 データを取得してみよう
では、計測データとパラメータを取得してみましょう。(図-1参照)
[data param code] = retrieve('ECH', 100100, 1, 1);    …dataに計測データ、paramにパラメータの情報を取得します
これで、dataに計測データ、paramにパラメータ情報が取得されました。
■図-2
 
■図-3
 
■図-4
STEP2 データを表示してみよう
では次に、取得した計測データを表示してみましょう。(図-2参照)
plot(data{1});    …取得した計測データをグラフ表示します
新しいウィンドウが開き、取得した計測データが表示されます。(図-3参照)
STEP3 パラメータを表示してみよう
次に、取得したパラメータを参照してみましょう。(図-4参照)
printParam(param);    …取得したパラメータを表示します
パラメータが表示されましたね。
STEP4 パラメータを変換してみよう
パラメータ(パラメータ名、パラメータ値)は文字列として格納されているため、取得したパラメータを表示・変換するためにgetParam関数が用意されています。(変換方法はこちらをご覧ください)
■図-5

 
  こうやってデータを取得するんだね。  
   

 
では試しに、取得したパラメータの'Range'の値を取得してみましょう。(図-5参照)
value = getParam('Range', param)    …取得したパラメータ'Range'をvalueに保存します
valueにRangeの値が入りましたね。
 
次に、valueの内容を確認してみましょう。(図-5参照)
whos value;    …valueの情報を表示します
型がsingleになっていますね。
 

エラーコードの参照

Retrieveではエラーコードを取得することによって、データが正しく取得できたかどうか、またエラーの場合どういう内容なのかを知ることができます。
データが正しく取得できた場合、エラーコードは 0 が返されます。データが取得できず異常終了した場合はエラーコードは 0以外 が返されます。
エラーコードの内容は、Retrieveパッケージに含まれているRetrieve Error Codes(retrieveErrorCode.htm)で確認できます。
参照方法:[スタート]→[すべてのプログラム]→[LABCOM Retrieve+dbStore*.*.*]→[Retrieve Error Codes]
■図-6
STEP1 エラーコードを参照しよう
では、データを取得しエラーコードを参照してみましょう。(図-6参照)
[data param code] = retrieve('ECH', 105000, 1, 1);    …codeにエラーコードが入ります
code    …codeの内容を表示します
エラーコードは 0 でした。(図-6参照)
このデータは正しく取得できたことがわかります。
■図-7


 
他のデータも取得してみましょう。(図-7参照)
[data param code] = retrieve('ECH', 100, 1, 1);    …codeにエラーコードが入ります
code    …codeの内容を表示します
 
  どんなエラーなのか、エラーコード表を見ればわかるんだね。  
   

エラーコードとエラーメッセージが表示されましたね。こちらはエラーコードが 0以外 ですのでデータは正しく取得されていません。(図-7参照)

エラーの内容をRetrieve Error Codesで確認してみましょう。

これでデータが取得できなかった原因がわかりましたね。
 
 
 

時間軸の取得

時間軸を取得するには、Retrieve_tまたはRetrieve_tdで取得します。(Retrieve_tまたはRetrieve_tdの使用方法はこちら
 
※PV-WAVE/IDLでは、Retrieveにて計測データと時間軸データの同時取得ができますが、現在の所MATLABでは同時取得はできませんのでご了承ください。
 
  時間軸は、Retrieve_tかRetrieve_tdで取得するんだね。
   

 
Retrieve_tは、モジュール設定にDTSとのリンク情報がある第7サイクル以降の時間軸データの情報を取得することができます。(※注意)
Retrieve_tdは、DTSとのリンク情報がない第6サイクルまでのデータを取得することができます。
 
未対応データに関してはこちらをご覧ください。
 
(※注意)
Retrieve_tにて時間軸を取得するには、データ収集運転設定で各モジュールのDTSリンク情報(TRGsource, TRGhostID, TRGmoduleID, TRGchannel, CLKsource, CLKhostID, CLKmoduleID, CLKchannel)が正しく設定されている必要があります。
CASE1 Retrieve_tで時間軸を取得
■図-8

 
■図-9

STEP1 時間軸を取得してみよう
Retrieve_tで時間軸を取得してみましょう。 (図-8参照)
[time tparam code] = retrieve_t('Bolometer', 101000, 1, 1);   …timeに時間軸、tparamに時間軸パラメータの情報を取得します
printParam(tparam);   …取得した時間軸パラメータを表示します
MATLABでは型の指定をしなかった場合、DOUBLE型で時間軸を取得します。
パラメータのArrayDataTypeを見ると、Doubleとなっていますね。(図-8参照)
 
では次に、SINGLE型で時間軸を取得してみましょう。(図-9参照)
[time tparam code] = retrieve_t('Bolometer', 101000, 1, 1, 'single');    …timeにSINGLE型の時間軸、tに時間軸パラメータの情報を取得します
printParam(tparam);   …取得した時間軸パラメータを表示します
パラメータのArrayDataTypeを見ると、Singleとなっています。(図-9参照)
これで、SINGLE型の時間軸情報が取得できたことが分かりますね。
■図-10

 
■図-11
STEP2 時間軸でデータを表示してみよう
取得した時間軸を使い、横軸を時間(秒)にしてデータを表示してみましょう。(図-10参照)
[data param code] = retrieve('Bolometer', 101000, 1, 1);    …計測データを取得します
[time tparam tcode] = retrieve_t('Bolometer', 101000, 1, 1);    …時間軸を取得します
plot(time{1}, data{1});    …取得した計測データを時間軸で表示します
横軸が時間(秒)に変わっているのがわかりますね。(図-11参照)
 
時間軸で表示するとわかりやすいね。  
 
CASE2 Retrieve_tdで時間軸を取得
Retrieve_tdは使用しているDTSを直接指定することで時間軸情報を取得することができます。
■図-12
STEP1 時間軸を取得してみよう
では、Retrieve_tdで時間軸を取得してみましょう。(図-12参照)
data = retrieve('RADH', 98000, 1, 1);   …計測データを取得します
tm = retrieve_td(98000, 1, 'VME','133.75.175.172', 'DMOD0', 5, 2, 'External', 0, length(data{1}));   …tmに時間軸の情報を取得します
これで、tmに時間軸情報が取得されました。

SINGLE型の時間軸情報を取得したい場合は、Retrieve_tと同様に'single'を指定します。
tm = retrieve_td(98000, 1, 'VME', '133.75.175.172', 'DMOD0', 5, 2, 'External', 0, length(data{1}), 'single');    …timeにSINGLE型の時間軸の情報を取得します
 
■図-13
STEP2 時間軸でデータを表示してみよう
取得した時間軸を使い、横軸を時間(秒)にしてデータを表示してみましょう。(図-12参照)
plot(tm, data{1});   …時間軸で表示します
横軸が時間(秒)に変わっているのがわかりますね。(図-13参照)
 

電圧に変換して表示

 
  電圧値でデータを取得できるんだ!
   
■図-14
電圧(ボルト)に変換した計測データをFLOAT型もしくはDOUBLE型のデータ配列で取得することができます。(電圧値変換できるのは、Retrieve ver.13.2.0以降です。Retrieveの使用方法はこちらをご覧ください)
 
電圧値変換ができるモジュールは、以下のモジュールです。(2011-08-08現在)
Aurora14, SEGADC, HOUSIN_C012, WE72XX, PXI6115, PXI6132, PXI6133, PXI6143, PXI6225, PXI6255, PXIe5186, (PXIe4300)
STEP1 データを電圧で取得しよう
電圧値に変換したFLOAT型の計測データと時間軸を取得してみましょう。(図-14参照)
[data param code] = retrieve('Bolometer', 101000, 1, 1, 'vflt');    …計測データをFLOAT型の電圧値に変換して取得します
[time tparam tcode] = retrieve_t('Bolometer', 101000, 1, 1);    …時間軸を取得します

DOUBLE型で計測データを取得したい場合は次のように指定します。
[data param code] = retrieve('Bolometer', 101000, 1, 1, 'vdbl');    …計測データをDOUBLE型の電圧値に変換して取得します
■図-15
STEP2 電圧と時間軸でデータを表示してみよう
電圧値変換した計測データと時間軸で表示してみましょう。(図-14参照)
plot(time{1}, data{1});    …電圧値変換した計測データと時間軸で表示します
縦軸が電圧、横軸が時間軸で表示されましたね。(図-15参照)

画像データの表示

カメラで収集された画像データを静止画、または動画で見ることができます。画像データを表示してみましょう。
 
  カメラ画像も見れるんだね。  
   
 
■図-16

 
■図-17
STEP1 画像データを取得しよう
Retrieveで画像データを取得します。(図-16参照)
[data param code] = retrieve('TSCCD', 107000, 1, 1);    …画像データ、パラメータを取得します
STEP2 画像を表示してみよう
カラーマップをグレーに変更します。(図-17参照)
colormap gray    …カラーマップでgrayを指定します
 
画像を表示する方法は、次の2つがあります。
image (静止画)   CASE1へお進みください。
movie (動画)   CASE2へお進みください。
CASE1 imageで静止画を表示
■図-18

 
■図-19
では、表示するフレーム番号を指定し画像を表示してみましょう。(図-18参照) (※注意)
image(data{1}(:, :, 130)');    …130フレーム目を表示します
指定したフレーム番号の画像が表示されましたね。(図-19参照)
 
(※注意)
11サイクル以降の画像データは3次元配列で格納されますが、11サイクルより前の画像データは1次元配列で格納されますので、取得したデータを3次元に変更する必要があります。
 
11サイクルより前の画像データは、次の通りreshapeで1次元配列から3次元配列への変更を行ってください。
[data param code] = retrieve('IRcamera-edge', 48702, 1, 1);    …画像データ、パラメータを取得します
printparam(param);    …パラメータを表示し画像幅、画像高さ、フレーム数を確認します
frame = reshape(data{1}, 580, 480, 300);    …1次元配列から3次元配列に変更します
colormap gray    …カラーマップでgrayを指定します
image(frame(:, :, 130)');    …130フレーム目を表示します
CASE2 movieで動画を表示
こちらでは、imageからframeを作成し、動画として表示する方法を説明します。
■図-20
 
まずはパラメータを参照します。
printparam(param);    …取得したパラメータを表示します
 
ここで必要なのは、SampledFrame(収集したフレーム数)です。
値は次のようになっていました。(図-20参照)
 1 SampledFrame 450 int32
 
imageでSampledFrame(収集したフレーム数)分表示し、動画を表示する為のムービーフレームを作成します。(図-21参照)
■図-21

 
  動画も見れるんだね。  
   

for i = 1:450    …フレーム数分繰り返します
image(data{1}(:, :, i)');    …1フレームづつ表示します
f(i) = getframe;    …ムービーフレームを作成します
end
これでムービーフレームが作成されました。
 
では、動画を表示してみましょう。(図-21参照)
movie(f);    …ムービーフレームを再生します
動画が表示さましたね。
 

WAITモードでのデータ取得

現在実験中のショット番号でまだデータが存在しない場合、出現を待ってデータを取得したい場合があります。

その場合、WAITモードで待ち時間を設定しデータを取得することができます。(Retrieveの使用方法はこちらをご覧ください)
■図-22


■図-23
 
データの出現を待ってくれるんだ!  
STEP1 WAITモードでデータを取得してみよう
では、WAITモードで現在実験中のショットデータを取得してみましょう。(図-22参照)
[data param code] = retrieve('Bolometer', 106173, 1, 1, 'wait', 'timeout', 120);    …待ち時間を30秒に設定しデータの出現を待ちます
このショット番号はまだデータが無いため、データが出現するまで待ちます。(図-22参照)
データが出現した時点でデータを取得します。(図-23参照)
 

リアルタイムデータの取得

WE7000 および PXI デジタイザを用いる計測において、定常実験時などにリアルタイムデータ収集モードでサーバが動作している場合に、リアルタイムでのデータを取得することができます。
 
  リアルタイムでデータが見れるんだ!  
   
■図-24


リアルタイムデータの取得には、波形データの取得(WaveMonitor)と、カメラ画像データの取得(TVMonitor) の2種類があります。(WaveMonitor、TVMonitorの使用方法はこちらをご覧ください)
STEP1 波形データを取得してみよう
では、波形データをリアルタイムで取得してみましょう。(図-24参照)
waveMonitor('CDP', 1);    …波形データを取得します
新しいウィンドウが開き、波形データがリアルタイム表示されます。
終了する時は、'q'または'Q'を押します。
 
 
■図-25
STEP2 カメラ画像データを取得してみよう
次は、カメラ画像データをリアルタイムで取得してみましょう。(図-25参照)
tvMonitor('TSCCD', 1);    …カメラ画像データを取得します
新しいウィンドウが開き、カメラ画像データがリアルタイム表示されます。
終了する時は、'q'または'Q'を押します。
 

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

Retrieve_t(Ver.14.0.0以降)で、DTSモジュールを直接指定することにより、デモジュレータのパラメータを取得することができます。(Retrieve_tの使用方法はこちらをご覧ください)
 
■図-26
STEP1 パラメータを取得してみよう
では、デモジュレータのパラメータを取得してみましょう。
計測名を指定する代わりに、'DTS:'を付けてからDTSホスト名:DTSモジュール名を指定します。(図-26参照)
※時間軸データ配列には有効なデータは入りません。
※FPGA-DTSでは、TRG#1-6がCH#1-6、CLK#1-6がCH#7-12になっています。
[time tparam code] = retrieve_t('DTS:VME01', 98000, 1, 1);    …dtsモジュールを指定し、tparamにパラメータの情報を取得します
これで、tparamにパラメータ情報が取得されました。
■図-27
STEP2 パラメータを表示してみよう
次に、取得したパラメータを参照してみましょう。(図-27参照)
printparam(tparam);    …取得したパラメータを表示します
デモジュレータのパラメータが表示されましたね。(図-27参照)
 
 
デモジュレータのパラメータも見れるんだね!  

参照サイトの切り替え

環境変数「INDEXSERVERNAME」で設定されているサイト以外のデータを参照する場合には、参照サイトを切り替える必要があります。
(データ利用者の各々PC端末には、所属するサイトの実験データにのみアクセスが可能になっており、他サイトの実験データ参照には、別途、アクセス許可を得る必要があります。詳しくはこちらをご覧ください)

参照サイトを切り替えるにはChangeSite、現在の参照サイト名を表示するには、CurrentSiteを使用します。(ChangeSite、CurrentSiteの使用方法はこちらをご覧ください)
 
■図-28

 
■図-29

 
 
  他の実験サイトのデータも見れるんだね。  
   
STEP1 サイトを切り替えてみよう
参照サイトを切り替えてみましょう。(図-28参照)
code = changeSite('QUEST');    …参照サイトを切り替えます
STEP2 サイトを確認してみよう
現在の参照サイト名を表示してみましょう。(図-29参照)
currentSite;    …参照サイトを表示します
QUEST    …現在の参照サイトが表示されます
と表示されましたね。(図-29参照)
これで現在の参照サイトが確認できました。
 

Retrieveのアンインストール

アンインストールは「コントロールパネル」-「アプリケーションの追加と削除」で行なってください。
アンインストールを行うと、環境変数も自動的に削除されますが、うまく削除されない場合があります。
その場合は、手動で次の環境変数を削除してください。
 
  • Retrieve
  • INDEXSERVERNAME

 
 
アンインストールで自動的に環境変数も削除してくれるんだね。  
 
前へ 

クイズに挑戦!

こちらで勉強したことが理解できているかどうか、クイズに挑戦してみましょう!
*全問正解者にはもれなくLABCOMより豪華記念品を贈呈します!皆さん、ふるってご解答ください。
 
Retrieveクイズに挑戦!
 
クイズの実行にはJRE(Java Runtime Environment)が必要です。
Oracleのサイトから最新版のJREをダウンロードし、インストールを行ってください。
また、IEをご利用の場合は、「ツール」→「インターネットオプション」で「詳細設定」タブをクリックし、「設定」で「Java(Sun)」の「<applet>にJava2を使用(再起動が必要)」にチェックを入れ「適用」をクリックし、その後IEを再起動してください。