Continuous Acquire, Store and Process data using DAQ Toolbox for NI-DAQ
4 次查看(过去 30 天)
显示 更早的评论
I made a very basic GUI that allows me to setup DAQ for acquisition. I use session based mode and run the AI process in background. When I invoke the listener to plot data, it always plots the data in a new figure instead of using the MAIN GUI figure axes handles.
However, when I run the gui in debugging mode, it always plots in the correct location.
Second, I want to analyze the signals while it is storing the file and plotting. Storing to file and plot the data works fine within the listerner callback function.
How do I get data in the main GUI and process it?
Any idea..
Here is my start AI code. Ignore handles as they are the items on the GUI.
s = daq.createSession ('ni');
if get(handles.cbChannel1, 'Value')
ch = s.addAnalogInputChannel(handles.BoardID, 0, 'Voltage');
ch.Coupling = 'DC';
ch.Name = 'Signal 1';
ch.Range = handles.VoltageRange;
end
if get(handles.cbChannel2, 'Value')
ch = s.addAnalogInputChannel(handles.BoardID, 1, 'Voltage');
ch.Coupling = 'DC';
ch.Name = 'Signal 2';
ch.Range = handles.VoltageRange;
end
if get(handles.cbChannel3, 'Value')
ch = s.addAnalogInputChannel(handles.BoardID, 2, 'Voltage');
ch.Coupling = 'DC';
ch.Name = 'SWEEP';
ch.Range = handles.VoltageRange;
end
if get(handles.cbChannel4, 'Value')
ch = s.addAnalogInputChannel(handles.BoardID, 3, 'Voltage');
ch.Coupling = 'DC';
ch.Name = 'FCHNG';
ch.Range = handles.VoltageRange;
end
s.Rate = handles.SampleRate;
s.NotifyWhenDataAvailableExceeds = str2double(get(handles.tNumSample, 'string'));
lh = s.addlistener('DataAvailable', @(src,event) plot(event.TimeStamps, event.Data));
s.IsContinuous = true;
s.startBackground();
采纳的回答
Rajeev Yadav
2014-3-31
编辑:Rajeev Yadav
2014-3-31
1 个评论
Walter Roberson
2014-3-31
Also if you defined the listener function as a subfunction of the main function then the subfunction could write to the variables in the main function.
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simultaneous and Synchronized Operations 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!