이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
NI FieldDAQ 장치를 사용하여 데이터 수집하기
이 예제는 NI™ FieldDAQ 장치에서 데이터를 수집하는 방법을 보여줍니다.
아날로그 입력 장치 검색
입력 측정을 지원하는 장치를 검색하려면, daqlist 명령으로 반환된 테이블에서 장치를 액세스합니다. 이 예제는 NI FD-11603 장치를 사용합니다. 이 장치는 각각 4개의 채널을 가진 두 개의 뱅크를 갖추고 있습니다. 뱅크 1의 채널 0은 1kHz 사인파(0.5V 중심, 1Vpp)를 생성하는 주파수 발생기에 연결되어 있습니다.
d = daqlist("ni")d=10×4 table
DeviceID Description Model DeviceInfo
_______________________ ___________________________________ __________ _______________________
"Dev1" "National Instruments(TM) USB-6351" "USB-6351" [1×1 daq.ni.DeviceInfo]
"FD11603-1D3BB09-Bank1" "National Instruments(TM) FD-11603" "FD-11603" [1×1 daq.ni.DeviceInfo]
"FD11603-1D3BB09-Bank2" "National Instruments(TM) FD-11603" "FD-11603" [1×1 daq.ni.DeviceInfo]
"FieldDAQ1-Bank1" "National Instruments(TM) FD-11603" "FD-11603" [1×1 daq.ni.DeviceInfo]
"FieldDAQ1-Bank2" "National Instruments(TM) FD-11603" "FD-11603" [1×1 daq.ni.DeviceInfo]
"FieldDAQ2-Bank1" "National Instruments(TM) FD-11613" "FD-11613" [1×1 daq.ni.DeviceInfo]
"FieldDAQ3-Bank1" "National Instruments(TM) FD-11634" "FD-11634" [1×1 daq.ni.DeviceInfo]
"FieldDAQ3-Bank2" "National Instruments(TM) FD-11634" "FD-11634" [1×1 daq.ni.DeviceInfo]
"FieldDAQ4-Bank1" "National Instruments(TM) FD-11637" "FD-11637" [1×1 daq.ni.DeviceInfo]
"FieldDAQ4-Bank2" "National Instruments(TM) FD-11637" "FD-11637" [1×1 daq.ni.DeviceInfo]
DataAcquisition 인터페이스 생성 및 아날로그 입력 채널 추가
DataAcquisition을 만들고, Rate 속성(디폴트는 1000 스캔/초)을 설정하고, addinput를 사용하여 아날로그 입력 채널을 추가합니다.
dq = daq("ni"); dq.Rate = 20000; addinput(dq,"FD11603-1D3BB09-Bank1","ai0","Voltage");
Warning: Added channel does not support on-demand operations: only clocked operations are allowed.
지정된 기간 동안 데이터 수집
read를 사용하여 여러 번의 스캔 결과를 수집하고, 요청된 모든 데이터가 수집될 때까지 MATLAB®의 실행을 차단합니다. 수집된 데이터는 채널 수와 동일한 너비, 스캔 수와 동일한 높이를 가진 timetable형으로 반환됩니다.
% Acquire data for one second at 20000 scans per second.
data = read(dq, seconds(1));수집 데이터 플로팅
t = data.Time;
v = data.Variables;
n = 200;
plot(t(1:n), v(1:n));
ylabel("Voltage (V)")
지정된 수의 스캔 수집
data = read(dq, 200);
plot(data.Time, data.Variables);
ylabel("Voltage (V)")