Analog Waveform Writes
- Updated2021-08-13
- 2 minute(s) read
Analog Waveform Writes
To perform an analog waveform write, call the AnalogSingleChannelWriter.WriteWaveform or AnalogMultiChannelWriter.WriteWaveform method with one AnalogWaveform<TData> or array of AnalogWaveform<TData> objects, respectively, for each channel.
When performing a write, NI-DAQmx ignores timing information and extended properties set on the AnalogWaveform<TData>; to configure timing, you must use the ConfigureSampleClock method instead.
The following example demonstrates how to perform an analog waveform write on a task with a single channel:
VB.NET
' Given a Task instance "myTask", ' Initialize the data Dim data As AnalogWaveform(Of Double) = New AnalogWaveform(Of Double)(100) ' Create the writer and attach it to the stream Dim writer As AnalogSingleChannelWriter = New AnalogSingleChannelWriter(myTask.Stream) ' Perform the write writer.WriteWaveform(True, data)
C#
// Given a Task instance "myTask", // Initialize the data AnalogWaveform<double> data = new AnalogWaveform<double>(100); // Create the writer and attach it to the stream AnalogSingleChannelWriter writer = new AnalogSingleChannelWriter(myTask.Stream); // Perform the write writer.WriteWaveform(true, data);
The following example demonstrates how to perform an analog waveform write on a task with multiple channels:
VB.NET
' Given a Task instance "myTask", ' Initialize the data Dim data(2) As AnalogWaveform(Of Double) data(0) = New AnalogWaveform(Of Double)(100) data(1) = New AnalogWaveform(Of Double)(100) ' Create the writer and attach it to the stream Dim writer As AnalogMultiChannelWriter = New AnalogMultiChannelWriter(myTask.Stream) ' Perform the write writer.WriteWaveform(True, data)
C#
// Given a Task instance "myTask", // Initialize the data AnalogWaveform<double>[] data = new AnalogWaveform<double>[2]; data[0] = new AnalogWaveform<double>(100); data[1] = new AnalogWaveform<double>(100); // Create the writer and attach it to the stream AnalogMultiChannelWriter writer = new AnalogMultiChannelWriter(myTask.Stream); // Perform the write writer.WriteWaveform(true, data);