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

3 次查看(过去 30 天)
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