(Not recommended) Start background operations
session object function is not recommended. Use
object functions instead. See Compatibility Considerations.
the operation of the session object,
blocking the MATLAB command line and other code. To block MATLAB
When you use
startBackground(s) with analog input
channels, the operation uses the
event to deliver the acquired data. This event is fired periodically
while an acquisition is in progress. For more information, see Event and Listener Concepts.
When you add analog output channels to the session, you must call
queueOutputData before calling
During a continuous generation, the
is fired periodically to request additional data to be queued to the
By default, the
IsContinuous property is set to
false and the operation stops
automatically. If you have set it to
stop to stop
background operations explicitly.
wait to block MATLAB
execution until a background operation is complete.
Create an acquisition session and add a channel before you use this method. See
daq.createSessionfor more information.
If your session has analog input channels, you must use a
DataAvailableevent to receive the acquired data in a background acquisition.
If your session has analog output channels and is continuous, you can use a
DataRequiredevent to queue additional data during background generations.
prepareto reduce the latency associated with startup and to preallocate resources.
ErrorOccurredevent to display errors during an operation.
Acquire Data in the Background
Create a session and add a listener. Use the listener callback function to access the acquired data.
s = daq.createSession('ni'); addAnalogInputChannel(s,'cDAQ1Mod1','ai0','Voltage'); lh = addlistener(s,'DataAvailable',@plotData); function plotData(src,event) plot(event.TimeStamps,event.Data) end
Start the session and perform other MATLAB® operations.
Perform other MATLAB operations.
Generate Data Continuously
For a continuous background generation, add a listener event to queue additional data to be output.
s = daq.createSession('ni'); addAnalogOutputChannel(s,'cDAQ1Mod2',0,'Voltage'); s.IsContinuous = true; s.Rate=10000; data=linspace(-1,1,5000)'; lh = addlistener(s,'DataRequired', ... @(src,event) src.queueOutputData(data)); queueOutputData(s,data) startBackground(s);
Perform other MATLAB operations during the generation.
s — Data acquisition session
Data acquisition session, specified as a session
object. Create the session object using
daq.createSession. Use the data
acquisition session for acquisition and generation
operations. Create one session per vendor and use
that vendor session to perform all data acquisition
Version HistoryIntroduced in R2010b
session object interface is not recommended
Use of this function with a
session object is not recommended. To
access a data acquisition device, use a
with its functions and properties instead.
For more information about using the recommended functionality, see Transition Your Code from Session to DataAcquisition Interface.