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(...)
は、最初のトリガーの絶対時間を返します。abstime
は clock
ベクトルとして返されます。
[data,time,abstime,events] = daqread(...)
は、イベントのログを返します。events
はイベント情報を含む構造体です。Samples
、Time
、または Triggers
パラメーター (以下参照) のいずれかを指定すると、指定したイベントのみがイベント構造体に含まれます。
[data,time,abstime,events,daqinfo] = daqread(...)
は、ObjInfo
および HwInfo
の 2 つのフィールドを含む構造体 daqinfo
を返します。ObjInfo
はプロパティの名前と値のペアを含む構造体、HwInfo
はハードウェア情報を含む構造体です。全体のイベント ログは、daqinfo.ObjInfo.EventLog
に返されます。
data = daqread(...,
は、以下のパラメーターを使用して、返されるデータの量およびデータの形式を指定します。'Param1'
, Val1,...)
パラメーター | 説明 |
---|---|
| サンプル範囲を指定します。 |
| 相対時間範囲を指定します。 |
| トリガー範囲を指定します。 |
| チャネル範囲を指定します。チャネル名は、cell 配列として指定できます。 |
| データ形式を |
| 時刻形式を |
| 出力形式を |
Samples
、Time
、および 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
には、Samples
、Time
、またはTriggers
で指定した値に関係なく、常に、全体のイベント ログが含まれます。UserData
プロパティ値は、デバイス オブジェクト (ObjInfo
) 情報を返すときに復元されません。.daq
ファイルを読み取るとき、関数daqread
は、cell 配列として指定されたプロパティ値を返しません。
返される時系列集合オブジェクトの詳細
OutputFormat
が tscollection
に設定されていると、関数 daqread
は、時系列集合オブジェクトを返します。この時系列集合オブジェクトには、ファイルの各チャネルの絶対時系列オブジェクトが含まれます。関数 daqread
により時系列集合オブジェクトおよび時系列オブジェクトのプロパティの一部がどのように設定されるかについて、以下で説明します。
時系列集合オブジェクトの
time
プロパティは、ファイルで指定されているInitialTriggerTime
プロパティの値に設定されます。各時系列オブジェクトの
name
プロパティは、ファイルのチャネルのName
プロパティの値に設定されます。この名前が、時系列オブジェクト名として使用できない場合、関数daqread
は、追加されるチャネルのHwChannel
プロパティで、名前を'Channel'
に設定します。時系列オブジェクトの
Units
プロパティの値は、DataFormat
パラメーターの値により異なります。DataFormat
パラメーターが'double'
に設定されている場合、関数daqread
は、集合の各時系列オブジェクトのDataInfo
プロパティをファイル内の対応するチャネルのUnits
プロパティの値に設定します。DataFormat
パラメーターが'native'
に設定されている場合、daqread
はUnits
プロパティを'native'
' に設定します。各時系列オブジェクトには、チャネルに関連付けられているイベントのログに対応する、
tsdata.event
オブジェクトが追加されます。