Continuous Acquire, Store and Process data using DAQ Toolbox for NI-DAQ
    조회 수: 10 (최근 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에서 Analog Data Acquisition에 대해 자세히 알아보기
			
	제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

