이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

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는 mxn 데이터 행렬인 data를 반환합니다. 여기서 m은 샘플의 개수이고 n은 채널의 개수입니다. data가 여러 트리거의 데이터를 포함하는 경우 각 트리거의 데이터는 NaN을 구분자로 사용해 구분됩니다. OutputFormat 속성을 tscollection으로 설정하면 daqread는 시계열 컬렉션 객체를 반환합니다. 자세한 내용은 아래를 참조하십시오.

[data,time] = daqread(...)는 시간/값 쌍을 반환합니다. time은 각 샘플에 대한 상대 시간을 포함하는 mx1 벡터로, data와 길이가 동일합니다. 상대 시간은 발생한 첫 번째 트리거에 대한 측정입니다.

[data,time,abstime] = daqread(...)는 첫 번째 트리거의 절대 시간을 반환합니다. abstimeclock 벡터로 반환됩니다.

[data,time,abstime,events] = daqread(...)는 이벤트의 로그를 반환합니다. events는 이벤트 정보를 포함하는 구조체입니다. Samples, Time 또는 Triggers 파라미터(아래 참조)를 지정하면 events 구조체가 지정된 이벤트만 포함합니다.

[data,time,abstime,events,daqinfo] = daqread(...)ObjInfoHwInfo, 두 필드를 포함하는 구조체 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만 반환합니다.

Samples, TimeTriggers 속성은 상호 배타적입니다. 즉, Samples, Triggers 또는 Time을 한꺼번에 정의할 수 있습니다.

daqinfo = daqread('filename','info')는 파일 데이터 읽기 오버헤드를 발생시키지 않고 daqinfo 구조체에서 파일의 메타데이터를 반환합니다. daqinfo 구조체는 다음 두 필드를 포함합니다.

daqinfo.ObjInfo

파일 filename을 만드는 데 사용되는 데이터 수집 객체에 대한 파라미터/값 쌍을 포함하는 구조체입니다. 참고: UserData 속성값은 복원되지 않습니다.

daqinfo.HwInfo

하드웨어 정보를 포함하는 구조체입니다. 전체 이벤트 로그는 daqinfo.ObjInfo.EventLog로 반환됩니다.

예제

Data Acquisition Toolbox를 사용하여 데이터를 획득합니다. 아날로그 입력 객체 ai는 4개 채널에서 1초 데이터를 획득하여 출력 파일 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-1,000을 읽으려면

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

파일 data.daq에서 채널 인덱스 2, 4, 7의 샘플 1,000-2,000을 네이티브 형식으로 읽으려면

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

파일 data.daq에서 모든 채널의 첫 번째 트리거와 두 번째 트리거를 나타내는 데이터만 읽으려면

[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.EventLogSamples, Time 또는 Triggers로 지정된 값에 상관없이 항상 전체 이벤트 로그를 포함합니다.

  • 장치 객체(ObjInfo) 정보를 반환할 때 UserData 속성값은 복원되지 않습니다.

  • .daq 파일을 읽을 때 daqread 함수는 셀형 배열로 지정된 속성값을 반환하지 않습니다.

  • Data Acquisition Toolbox(.daq) 파일은 LogFileName 속성에 대한 값을 지정하고(또는 디폴트 값을 받고) LoggingMode 속성을 Disk 또는 Disk&Memory로 구성하여 만듭니다.

반환된 시계열 컬렉션 객체에 대한 세부 정보

OutputFormattscollection으로 설정한 경우 daqread는 시계열 컬렉션 객체를 반환합니다. 이 시계열 컬렉션 객체는 파일의 각 채널에 대한 절대 시계열 객체를 포함합니다. 다음은 daqread가 시계열 컬렉션 객체와 시계열 객체의 일부 속성을 설정하는 방법에 대해 설명합니다.

  • 시계열 컬렉션 객체의 time 속성은 파일에 지정된 InitialTriggerTime 속성의 값으로 설정됩니다.

  • 각 시계열 객체의 name 속성은 파일 내 채널의 Name 속성값으로 설정됩니다. 이 이름을 시계열 객체 이름으로 사용할 수 없는 경우 daqread는 채널의 이름을 'Channel'로 설정하고 HwChannel 속성을 추가(Append)합니다.

  • 시계열 객체의 Units 속성값은 DataFormat 파라미터의 값에 따라 달라집니다. DataFormat 파라미터를 'double'로 설정하면 daqread는 해당 컬렉션에 있는 각 시계열 객체의 DataInfo 속성을 파일 내 대응하는 채널의 Units 속성값으로 설정합니다. DataFormat 파라미터를 'native'로 설정하면 daqreadUnits 속성을 'native'로 설정합니다. 이러한 속성에 대한 자세한 내용은 Data Acquisition Toolbox 문서를 참조하십시오.

  • 각 시계열 객체에는 채널에 대한 이벤트 로그가 첨부되어 tsdata.event 객체로 보유됩니다.

daqread가 여러 트리거의 데이터를 반환하는 경우 각 트리거의 데이터는 시계열 데이터에서 NaN으로 구분됩니다. 이 경우 시계열 객체의 데이터 벡터와 시간 벡터의 길이는 트리거의 개수만큼 증가됩니다.

참고 항목

|