Continuous Acquire, Store and Process data using DAQ Toolbox for NI-DAQ
    10 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Rajeev Yadav
 el 28 de Mzo. de 2014
  
    
    
    
    
    Respondida: Rajeev Yadav
 el 1 de Abr. de 2014
            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 comentario
Respuesta aceptada
  Rajeev Yadav
 el 31 de Mzo. de 2014
        
      Editada: Rajeev Yadav
 el 31 de Mzo. de 2014
  
      1 comentario
  Walter Roberson
      
      
 el 31 de Mzo. de 2014
				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.
Más respuestas (1)
Ver también
Categorías
				Más información sobre Analog Data Acquisition en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

