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();
1 件のコメント
採用された回答
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!