最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。
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
プロパティは、相互に排他的です。つまり、一度に定義できるパラメーターは、Samples
、Triggers
、または 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');
関数 daqread
でデータ、相対時間、絶対時間、およびイベント情報を返すために使用される形式は、Data Acquisition
Toolbox の一部である関数 getdata
で使用される形式と同じです。詳細については、Data Acquisition
Toolbox ドキュメンテーションを参照してください。
複数のトリガーからのデータが読み取られる場合、各トリガーは NaN
で区切られるため、結果のデータ配列のサイズは、発行されるトリガー数により増加します。
ObjInfo.EventLog
には、Samples
、Time
、または Triggers
で指定した値に関係なく、常に、全体のイベント ログが含まれます。
UserData
プロパティ値は、デバイス オブジェクト (ObjInfo
) 情報を返すときに復元されません。
.daq
ファイルを読み取るとき、関数 daqread
は、cell 配列として指定されたプロパティ値を返しません。
Data Acquisition
Toolbox (.daq
) ファイルを作成するには、LogFileName
プロパティの値を指定 (または既定値を使用) し、LoggingMode
プロパティを Disk
または Disk&Memory
に設定します。
OutputFormat
が tscollection
に設定されていると、関数 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
で区切られます。このため、トリガー数により、時系列オブジェクトのデータおよび時間ベクトルの長さが増加します。