NI-DAQmx .NET Framework 4.5 API Reference

Table of Contents

AnalogMultiChannelReader.MemoryOptimizedReadWaveform Method (TimeSpan, AnalogWaveform(Double)[], ReallocationPolicy)

  • Updated2023-02-21
  • 2 minute(s) read
AnalogMultiChannelReader.MemoryOptimizedReadWaveform Method (TimeSpan, AnalogWaveform(Double)[], ReallocationPolicy)
Performs a 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.45.49302

Syntax

public AnalogWaveform<double>[] MemoryOptimizedReadWaveform(
	TimeSpan duration,
	AnalogWaveform<double>[] data,
	ReallocationPolicy policy
)
Public Function MemoryOptimizedReadWaveform ( 
	duration As TimeSpan,
	data As AnalogWaveform(Of Double)(),
	policy As ReallocationPolicy
) As AnalogWaveform(Of Double)()

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.
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: AnalogWaveformDouble
A reference to the data parameter containing samples from the task.

Exceptions

ExceptionCondition
ArgumentException
  1. If the first dimension of data does not match the number of channels.
  2. If the duration provided was less than Zero.
  3. If ReallocationPolicy is not ToGrow, and data is not capable of holding the required number of samples.
DaqException
  1. If data is or is uninitialized.
  2. If one of the elements of data is .
  3. The NI-DAQmx driver returned an error.

Remarks

If the data waveform is large enough to hold the number of samples requested, this overload attempts to reuse the existing AnalogWaveformTData objects' 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.

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.

See Also

Log in to get a better experience