Main Content

daqread

Data Acquisition Toolbox (..daq) ファイルを読み取る

構文

data = daqread('filename')
[data,time] = daqread(...)
[data,time,abstime] = daqread(...)
[data,time,abstime,events] = daqread(...)
[data,time,abstime,events,daqinfo] = daqread(...)
data = daqread(...,'Param1', Val1,...)
daqinfo = daqread('filename','info')

説明

data = daqread('filename') は、filename で指定された Data Acquisition Toolbox™ (.daq) ファイルからすべてのデータを読み取ります。daqread は、data として m 行 n 列のデータ行列を返します。ここで、m はサンプル数、n はチャネル数です。data に、複数のトリガーからのデータが含まれている場合、各トリガーのデータは NaN で区切られます。OutputFormat プロパティを tscollection に設定すると、関数 daqread は、時系列集合オブジェクトを返します。詳細は、以下を参照してください。

[data,time] = daqread(...) は、時間と値のペアを返します。time は、data と同じ長さの m 行 1 列のベクトルであり、各サンプルの相対時間を含みます。相対時間は、発生する最初のトリガーに対して測定されます。

[data,time,abstime] = daqread(...) は、最初のトリガーの絶対時間を返します。abstimeclock ベクトルとして返されます。

[data,time,abstime,events] = daqread(...) は、イベントのログを返します。events はイベント情報を含む構造体です。SamplesTime、または Triggers パラメーター (以下参照) のいずれかを指定すると、指定したイベントのみがイベント構造体に含まれます。

[data,time,abstime,events,daqinfo] = daqread(...) は、ObjInfo および HwInfo の 2 つのフィールドを含む構造体 daqinfo を返します。ObjInfo はプロパティの名前と値のペアを含む構造体、HwInfo はハードウェア情報を含む構造体です。全体のイベント ログは、daqinfo.ObjInfo.EventLog に返されます。

data = daqread(...,'Param1', Val1,...) は、以下のパラメーターを使用して、返されるデータの量およびデータの形式を指定します。

パラメーター

説明

Samples

サンプル範囲を指定します。

Time

相対時間範囲を指定します。

Triggers

トリガー範囲を指定します。

Channels

チャネル範囲を指定します。チャネル名は、cell 配列として指定できます。

DataFormat

データ形式を doubles (既定の設定) または native として指定します。

TimeFormat

時刻形式を vector (既定の設定) または matrix として指定します。

OutputFormat

出力形式を matrix (既定の設定) または tscollection として指定します。tscollection を指定すると、関数 daqreaddata のみを返します。

SamplesTime、および Triggers プロパティは、相互に排他的です。つまり、関数呼び出しで指定できるのはこれらのうち 1 つのみです。

daqinfo = daqread('filename','info') は同様に、ファイルからのデータの読み取り時にオーバーヘッドを発生させることなく、ファイルのメタデータを daqinfo 構造体に返します。daqinfo 構造体には、以下の 2 つのフィールドが含まれます。

daqinfo.ObjInfo

ファイル filename の作成に使用されるデータ取得オブジェクトのパラメーターと値のペアを含む構造体です。メモ: UserData プロパティ値は復元されません。

daqinfo.HwInfo

ハードウェア情報を含む構造体です。全体のイベント ログは、daqinfo.ObjInfo.EventLog に返されます。

この例では、以前のリリースでログ ファイル data.daq に保存されたデータを読み取る方法を説明します。このログは、analoginput オブジェクトのログのプロパティを指定することで実行されていました。daqread を使用して、データおよびその他の取得関連情報を取得します。

data.daq からすべてのサンプル/時間のペアを読み取ります。

[data,time] = daqread('data.daq');

data.daq からすべてのチャネルに対して、サンプル 500 から 1000 を読み取ります。

data = daqread('data.daq','Samples',[500 1000]);

ファイル data.daq からネイティブ形式のチャネル インデックス 2、4、および 7 のサンプル 1000 から 2000 のみを読み取ります。

data = daqread('data.daq', 'Samples', [1000 2000],...
               'Channels', [2 4 7], 'DataFormat', 'native');

ファイル data.daq からすべてのチャネルで最初と 2 番目のトリガーを表すデータのみを読み取ります。

[data,time] = daqread('data.daq', 'Triggers', [1 2]);

data.daq からチャネル プロパティ情報を取得します。

daqinfo = daqread('data.daq','info');
chaninfo = daqinfo.ObjInfo.Channel;

data.daq に含まれるイベント タイプおよびイベント データのリストを取得します。

daqinfo = daqread('data.daq','info');
events = daqinfo.ObjInfo.EventLog;
event_type = {events.Type};
event_data = {events.Data};

ファイル data.daq からすべてのデータを読み取り、時系列集合オブジェクトとして返します。

data = daqread('data.daq','OutputFormat','tscollection');

ヒント

.daq ファイルの詳細

  • 複数のトリガーからのデータが読み取られる場合、各トリガーは NaN で区切られるため、結果のデータ配列のサイズは、発行されるトリガー数により増加します。

  • ObjInfo.EventLog には、SamplesTime、または Triggers で指定した値に関係なく、常に、全体のイベント ログが含まれます。

  • UserData プロパティ値は、デバイス オブジェクト (ObjInfo) 情報を返すときに復元されません。

  • .daq ファイルを読み取るとき、関数 daqread は、cell 配列として指定されたプロパティ値を返しません。

返される時系列集合オブジェクトの詳細

OutputFormattscollection に設定されていると、関数 daqread は、時系列集合オブジェクトを返します。この時系列集合オブジェクトには、ファイルの各チャネルの絶対時系列オブジェクトが含まれます。関数 daqread により時系列集合オブジェクトおよび時系列オブジェクトのプロパティの一部がどのように設定されるかについて、以下で説明します。

  • 時系列集合オブジェクトの time プロパティは、ファイルで指定されている InitialTriggerTime プロパティの値に設定されます。

  • 各時系列オブジェクトの name プロパティは、ファイルのチャネルの Name プロパティの値に設定されます。この名前が、時系列オブジェクト名として使用できない場合、関数 daqread は、追加されるチャネルの HwChannel プロパティで、名前を 'Channel' に設定します。

  • 時系列オブジェクトの Units プロパティの値は、DataFormat パラメーターの値により異なります。DataFormat パラメーターが 'double' に設定されている場合、関数 daqread は、集合の各時系列オブジェクトの DataInfo プロパティをファイル内の対応するチャネルの Units プロパティの値に設定します。DataFormat パラメーターが 'native' に設定されている場合、daqreadUnits プロパティを 'native'' に設定します。

  • 各時系列オブジェクトには、チャネルに関連付けられているイベントのログに対応する、tsdata.event オブジェクトが追加されます。