NI-DAQmx .NET Framework 4.0 API Reference

Table of Contents

AnalogMultiChannelReader.BeginMemoryOptimizedReadWaveform Method (TimeSpan, AsyncCallback, Object, AnalogWaveform(Double)[], ReallocationPolicy)

  • Updated2023-02-21
  • 3 minute(s) read
AnalogMultiChannelReader.BeginMemoryOptimizedReadWaveform Method (TimeSpan, AsyncCallback, Object, AnalogWaveform(Double)[], ReallocationPolicy)
Begins an asynchronous, memory-optimized read of one or more analog waveform samples from one or more AIChannel objects in a task for a specified duration.

Namespace:  NationalInstruments.DAQmx
Assembly:  NationalInstruments.DAQmx (in NationalInstruments.DAQmx.dll) Version: 20.7.40.49302

Syntax

public IAsyncResult BeginMemoryOptimizedReadWaveform(
	TimeSpan duration,
	AsyncCallback callback,
	Object state,
	AnalogWaveform<double>[] data,
	ReallocationPolicy policy
)
Public Function BeginMemoryOptimizedReadWaveform ( 
	duration As TimeSpan,
	callback As AsyncCallback,
	state As Object,
	data As AnalogWaveform(Of Double)(),
	policy As ReallocationPolicy
) As IAsyncResult

Parameters

duration
Type: SystemTimeSpan
The duration of time to read the waveform. The duration specified must be long enough to read at least one sample at the configured SampleClockRate.
callback
Type: SystemAsyncCallback
An optional asynchronous callback that is called when the read is complete. Specify if you do not want a callback when the read is complete.
state
Type: SystemObject
A user-provided object that distinguishes this asynchronous read request from other requests. Use this parameter to provide information to the callback. Specify if you do not need to pass any additional information to the callback.
data
Type: NationalInstrumentsAnalogWaveformDouble
An initialized 1D array of AnalogWaveformTData that contains the read data. Each element in the array corresponds to a channel in the task. The order of the channels in the array corresponds to the order in which you add the channels to the task or to the order of the channels you specify in ChannelsToRead.
policy
Type: NationalInstruments.DAQmxReallocationPolicy
Dictates the reallocation behavior of the read operation. Refer to ReallocationPolicy for more information.

Return Value

Type: IAsyncResult
An IAsyncResult that represents the asynchronous call.

Remarks

If the data waveform is large enough to hold the number of samples requested, this overload attempts to reuse the existing AnalogWaveformTData object's memory to store acquired data. This results in more efficient memory allocation when performing subsequent reads with a continuous analog input task, if each subsequent read acquires the same or fewer number of samples.

To get the read data or any exceptions that occurred during an asynchronous read initiated with BeginMemoryOptimizedReadWaveform(TimeSpan, AsyncCallback, Object, AnalogWaveformDouble, ReallocationPolicy), call EndMemoryOptimizedReadWaveform(IAsyncResult), passing the returned IAsyncResult.

NI-DAQmx scales the read data to the units of the measurement, including any custom scaling you apply to the channel. You specify these units when creating channels using the create channel methods or the DAQ Assistant.

The data returned from analog waveform reads is affected by the WaveformAttributeMode property of the DaqStream being read.

NI-DAQmx read and write methods time out after the amount of time specified by the Timeout property on the Stream object used for the reads or writes.

Refer to NI-DAQmx Readers and Writers for more information about memory limitations in NI-DAQmx read methods.

Note Note
Refer to Asynchronous Reads and Writes for additional information.

See Also

Log in to get a better experience