NI-DAQmx .NET Framework 4.0 API Reference

Table of Contents

CounterSingleChannelReader.MemoryOptimizedReadMultiSamplePulseTime Method (Int32, CIDataTime[], Int32)

  • Updated2023-02-21
  • 2 minute(s) read
CounterSingleChannelReader.MemoryOptimizedReadMultiSamplePulseTime Method (Int32, CIDataTime[], Int32)
Reads one or more CIDataTime samples from a single CIChannel in a task.

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

Syntax

public CIDataTime[] MemoryOptimizedReadMultiSamplePulseTime(
	int numberOfSamples,
	ref CIDataTime[] data,
	out int actualNumberOfSamplesRead
)
Public Function MemoryOptimizedReadMultiSamplePulseTime ( 
	numberOfSamples As Integer,
	ByRef data As CIDataTime(),
	<OutAttribute> ByRef actualNumberOfSamplesRead As Integer
) As CIDataTime()

Parameters

numberOfSamples
Type: SystemInt32
The number of samples to read. If you set numberOfSamples to -1 for a continuous acquisition, the read retrieves all samples available in the buffer at the time of the read. If you set numberOfSamples to -1 for a finite acquisition, the read behavior is set by the ReadAllAvailableSamples property of the DaqStream you are reading from.
data
Type: NationalInstruments.DAQmxCIDataTime
An initialized 1D array of CIDataTime samples that contains the read data. Each element in the array corresponds to a sample from the channel.
actualNumberOfSamplesRead
Type: SystemInt32
The actual number of samples read. This is useful when the reading operation yields fewer or more samples than the actual length of data.

Return Value

Type: CIDataTime
A reference to the data parameter containing samples from the task.

Exceptions

ExceptionCondition
DaqExceptionThe NI-DAQmx driver returned an error.
ArgumentException
  1. If data is or is uninitialized;
  2. If the first dimension of data does not match the number of channels; or
  3. If ReallocationPolicy is not ToGrow, and data is not capable of holding the required number of samples.
OutOfMemoryExceptionThere is not enough memory to carry out this operation.

Remarks

If the data buffer is large enough to hold the number of samples requested, this overload attempts to reuse existing memory allocated from the array to acquire data. This results in more efficient memory allocation when performing multiple reads with a continuous counter input task. The memory allocation for the buffer is available to a maximum of 2 GB.

NI-DAQmx scales the returned data to the units of the measurement, including any custom scaling you apply to the channel. You specify these units with the create channel methods or the DAQ Assistant.

NI-DAQmx read and write methods time out after the amount of time specified by the Timeout property on the task you are reading from or writing to.

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