이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
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)")