ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

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 は m 行 1 列のベクトルです。これは、各サンプルの相対時間を含み、長さは data と同じです。相対時間は、発生する最初のトリガーに対して測定されます。

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

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

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

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

パラメーター

説明

Samples

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

Time

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

Triggers

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

Channels

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

DataFormat

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

TimeFormat

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

OutputFormat

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

SamplesTime、および Triggers プロパティは、相互に排他的です。つまり、一度に定義できるパラメーターは、SamplesTriggers、または Time のいずれか 1 つのみです。

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

daqinfo.ObjInfo

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

daqinfo.HwInfo

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

Data Acquisition Toolbox を使用してデータを取得します。アナログ入力オブジェクト ai は、4 つのチャンネルのうち 2 番目のデータを取得して、このデータを出力ファイル data.daq に保存します。

ai = analoginput('nidaq','Dev1');
chans = addchannel(ai,0:3);
set(ai,'SampleRate',1000)
ActualRate = get(ai,'SampleRate');
set(ai,'SamplesPerTrigger, ActualRate)
set(ai,'LoggingMode','Disk&Memory')
set(ai,'LogFileName','data.daq')
start(ai)

データが収集され、ディスク ファイルに保存されると、関数 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 ファイルの詳細

  • データ、相対時間、絶対時間、およびイベント情報を返す関数 daqread で使用される形式は、Data Acquisition Toolbox の一部である関数 getdata で使用される形式と同じです。詳細は、Data Acquisition Toolbox ドキュメンテーションを参照してください。

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

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

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

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

  • Data Acquisition Toolbox (.daq) ファイルは、LogFileName プロパティの値を指定し (または既定値を使用)、LoggingMode プロパティを Disk または Disk&Memory に設定することで作成されます。

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

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

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

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

  • 時系列オブジェクトの Units プロパティの値は、DataFormat パラメーターの値により異なります。DataFormat パラメーターが 'double' に設定されている場合、関数 daqread は、集合の各時系列オブジェクトの DataInfo プロパティをファイル内の対応するチャンネルの Units プロパティの値に設定します。DataFormat パラメーターが 'native' に設定されている場合、関数 daqread は、Units プロパティを 'native' に設定します。これらのプロパティの詳細は、Data Acquisition Toolbox ドキュメンテーションを参照してください。

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

関数 daqread が複数のトリガーからのデータを返す場合、各トリガーのデータは、時系列データにおいて NaN で区切られます。このため、トリガー数により、時系列オブジェクトのデータおよび時間ベクトルの長さが増加します。

この情報は役に立ちましたか?