필터 지우기
필터 지우기

problem with 'PLOT' while plotting data acquired from NI DAQ Board

조회 수: 3 (최근 30일)
Shailendra
Shailendra 2014년 2월 12일
댓글: Mischa Kim 2014년 2월 13일
I am trying to acquire data (Square wave with certain amplitude) from an amplifier unit using NI DAQ Board and trying to plot(amplitude v/s time) the same. I dont have a hardware trigger for this circuitry. When i execute the program i am getting an error msg.
'Undefined function 'Plot' for input arguments of type 'double'.
Error in dataread (line 36)
Plot (time, data);
below is my code. can you please help me on how to over come this error.
i
p.TriggerTimeout = 2; %If there is no trigger signal after 2 seconds time out
p.no_of_measurements = 50;
p.SampleRate = 2000000; %Maximum samplerate for NI USB-6361
p.InputRange = [-2 2]; %Amplifier output DAQ AI options [-10 10], [-5 5], [-2 2],[-1 1],[-500 500], [-200 200], [-100 100]
p.AInputChannel = 0;
p.Frequency = 5; %in kHz
p.noise = 0.065;
p.no_of_measurementRuns = 6;
ai = analoginput ('nidaq','Dev1');
ch = addchannel(ai,p.AInputChannel,{'PD'}); %Connect the amplifier output to AI0(+) and AI0(-) NRSE
ch.InputRange = p.InputRange;
ai.SampleRate = p.SampleRate; %samples per second
%set(ai, 'TriggerType','Software');
%set(ai, 'HwDigitalTriggerSource', 'PFI0');
%set(ai, 'TriggerCondition','PositiveEdge');
%set(ai,'LogFileName','file01.daq')
%set(ai,'LoggingMode','Disk&Memory')
duration = 10;
disp('press a key to acquired data')
w = waitforbuttonpress;
if w == 0
disp('Button clicked')
else
disp('Key pressed')
end
start (ai);
wait (ai, duration+1);
[data, time] = getdata (ai);
Plot (time, data);
%[data, time] = daqread ('file01.daq');

답변 (1개)

Mischa Kim
Mischa Kim 2014년 2월 12일
편집: Mischa Kim 2014년 2월 12일
Shailendra, plot needs to be spelled lower-case:
plot(time, data)
  댓글 수: 4
Shailendra
Shailendra 2014년 2월 13일
no prob, i could solved the issue, i got some reference and i could acquire the data. Thanks a lot for your help. :D
i
p.TriggerTimeout = 2; %If there is no trigger signal after 2 seconds time out
p.no_of_measurements = 50;
p.InputRange = [-2 2]; %Amplifier output DAQ AI options [-10 10], [-5 5], [-2 2],[-1 1],[-500 500], [-200 200], [-100 100]
p.AInputChannel = 0;
p.Frequency = 5; %in kHz
p.noise = 0.065;
p.no_of_measurementRuns = 6;
ai = analoginput ('nidaq','Dev1');
ch = addchannel(ai,p.AInputChannel,{'PD'}); %Connect the amplifier output to AI0(+) and AI0(-) NRSE
duration = 10;
set(ai,'SampleRate',20000)
ActualRate = get(ai,'SampleRate');
set(ai,'SamplesPerTrigger',duration*ActualRate)
set(ai,'TriggerType','Manual')
blocksize = get(ai,'SamplesPerTrigger');
Fs = ActualRate;
ch.InputRange = p.InputRange;
start (ai);
trigger(ai)
wait(ai,duration + 1)
[data, time] = getdata (ai);
plot (time, y);
Mischa Kim
Mischa Kim 2014년 2월 13일
Excellent. Would you mind formally accepting the answer, sort of as "problem solved"?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Introduction to Installation and Licensing에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by