Writes multiple floating-point samples to a task that contains one or more analog output channels.
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of 2 samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write samples to.
numSampsPerChan
int32
The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout
bool32
Specifies how the samples are arranged, either interleaved or noninterleaved.
Value
Description
DAQmx_Val_GroupByChannel
Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber
Group by sample (interleaved)
writeArray
float64 []
The array of 64-bit samples to write to the task.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Output
Name
Type
Description
sampsPerChanWritten
int32 *
The actual number of samples per channel successfully written to the buffer.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
Writes a floating-point sample to a task that contains a single analog output channel.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write the sample to.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write the value. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the value. If this function successfully writes the value, it does not return an error. Otherwise, the function returns a timeout error.
value
float64
A 64-bit sample to write to the task.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
Writes unscaled signed integer samples to the task.
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of 2 samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write samples to.
numSampsPerChan
int32
The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout
bool32
Specifies how the samples are arranged, either interleaved or noninterleaved.
Value
Description
DAQmx_Val_GroupByChannel
Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber
Group by sample (interleaved)
writeArray
int16 []
The array of 16-bit samples to write to the task.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Output
Name
Type
Description
sampsPerChanWritten
int32 *
The actual number of samples per channel successfully written to the buffer.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
Writes unscaled, unsigned 16-bit integer samples to the task.
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of 2 samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write samples to.
numSampsPerChan
int32
The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout
bool32
Specifies how the samples are arranged, either interleaved or noninterleaved.
Value
Description
DAQmx_Val_GroupByChannel
Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber
Group by sample (interleaved)
writeArray
uInt16 []
The array of 16-bit samples to write to the task.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Output
Name
Type
Description
sampsPerChanWritten
int32 *
The actual number of samples per channel successfully written to the buffer.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
Writes a new pulse frequency and duty cycle to each channel in a continuous counter output task that contains one or more channels.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write samples to.
numSampsPerChan
int32
The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout
bool32
Specifies how the samples are arranged, either interleaved or noninterleaved.
Value
Description
DAQmx_Val_GroupByChannel
Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber
Group by sample (interleaved)
frequency
float64 []
Specifies at what frequency to generate pulses.
dutyCycle
float64 []
The width of the pulse divided by the pulse period. NI-DAQmx uses this ratio, combined with frequency, to determine both pulse width and pulse delay.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Output
Name
Type
Description
numSampsPerChanWritten
int32 *
The actual number of samples per channel successfully written to the buffer.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
Writes a new pulse frequency and duty cycle to a continuous counter output task that contains a single channel.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write the sample to.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
frequency
float64
Specifies at what frequency to generate pulses.
dutyCycle
float64
The width of the pulse divided by the pulse period. NI-DAQmx uses this ratio, combined with frequency, to determine both pulse width and pulse delay.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
Writes new pulse high tick counts and low tick counts to each channel in a continuous counter output task that contains one or more channels.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write samples to.
numSampsPerChan
int32
The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout
bool32
Specifies how the samples are arranged, either interleaved or noninterleaved.
Value
Description
DAQmx_Val_GroupByChannel
Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber
Group by sample (interleaved)
highTicks
uInt32 []
The number of timebase ticks the pulse is high.
lowTicks
uInt32 []
The number of timebase ticks the pulse is low.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Output
Name
Type
Description
numSampsPerChanWritten
int32 *
The actual number of samples per channel successfully written to the buffer.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
Writes a new pulse high tick count and low tick count to a continuous counter output task that contains a single channel.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write the sample to.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
highTicks
uInt32
The number of timebase ticks the pulse is high.
lowTicks
uInt32
The number of timebase ticks the pulse is low.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
Writes a new pulse high time and low time to each channel in a continuous counter output task that contains one or more channels.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write samples to.
numSampsPerChan
int32
The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout
bool32
Specifies how the samples are arranged, either interleaved or noninterleaved.
Value
Description
DAQmx_Val_GroupByChannel
Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber
Group by sample (interleaved)
highTime
float64 []
The amount of time the pulse is high.
lowTime
float64 []
The amount of time the pulse is low.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Output
Name
Type
Description
numSampsPerChanWritten
int32 *
The actual number of samples per channel successfully written to the buffer.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
Writes a new pulse high time and low time to a continuous counter output task that contains a single channel.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write the sample to.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
highTime
float64
The amount of time the pulse is high.
lowTime
float64
The amount of time the pulse is low.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
Writes multiple samples to each digital line in a task. When you create your write array, each sample per channel must contain the number of bytes returned by the DAQmx_Write_DigitalLines_BytesPerChan property.
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of 2 samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write samples to.
numSampsPerChan
int32
The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout
bool32
Specifies how the samples are arranged, either interleaved or noninterleaved.
Value
Description
DAQmx_Val_GroupByChannel
Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber
Group by sample (interleaved)
writeArray
uInt8 []
The samples to write to the task.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Output
Name
Type
Description
sampsPerChanWritten
int32 *
The actual number of samples per channel successfully written to the buffer.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
Writes a single 32-bit unsigned integer sample to a task that contains a single digital output channel. Use this format for devices with up to 32 lines per port.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write the sample to.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write the value. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the value. If this function successfully writes the value, it does not return an error. Otherwise, the function returns a timeout error.
value
uInt32
A 32-bit integer sample to write to the task.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
Writes multiple 8-bit unsigned integer samples to a task that contains one or more digital output channels. Use this format for devices with up to 8 lines per port.
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of two samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write samples to.
numSampsPerChan
int32
The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout
bool32
Specifies how the samples are arranged, either interleaved or noninterleaved.
Value
Description
DAQmx_Val_GroupByChannel
Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber
Group by sample (interleaved)
writeArray
uInt8 []
The array of 8-bit integer samples to write to the task.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Output
Name
Type
Description
sampsPerChanWritten
int32 *
The actual number of samples per channel successfully written to the buffer.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
Writes multiple 16-bit unsigned integer samples to a task that contains one or more digital output channels. Use this format for devices with up to 16 lines per port.
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of two samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write samples to.
numSampsPerChan
int32
The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout
bool32
Specifies how the samples are arranged, either interleaved or noninterleaved.
Value
Description
DAQmx_Val_GroupByChannel
Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber
Group by sample (interleaved)
writeArray
uInt16 []
The array of 16-bit integer samples to write to the task.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Output
Name
Type
Description
sampsPerChanWritten
int32 *
The actual number of samples per channel successfully written to the buffer.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
Writes multiple 32-bit unsigned integer samples to a task that contains one or more digital output channels. Use this format for devices with up to 32 lines per port.
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of two samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write samples to.
numSampsPerChan
int32
The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout
bool32
Specifies how the samples are arranged, either interleaved or noninterleaved.
Value
Description
DAQmx_Val_GroupByChannel
Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber
Group by sample (interleaved)
writeArray
uInt32 []
The array of 32-bit integer samples to write to the task.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Output
Name
Type
Description
sampsPerChanWritten
int32 *
The actual number of samples per channel successfully written to the buffer.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
Writes raw samples to a task. There is no scaling, parsing, or separation of the samples. Refer to the specifications for your instrument to determine the format of the incoming samples.
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of 2 samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.
Parameters
Input
Name
Type
Description
taskHandle
TaskHandle
The task to write samples to.
numSamps
int32
The number of samples per channel to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, you will receive an error.
autoStart
bool32
Specifies whether or not this function automatically starts the task if you do not start it.
timeout
float64
The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
writeArray
void *
The raw samples to write to the task.
reserved
bool32 *
Reserved for future use. Pass NULL to this parameter.
Output
Name
Type
Description
sampsPerChanWritten
int32 *
The actual number of samples per channel successfully written to the buffer.
Return Value
Name
Type
Description
status
int32
The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.