Skip to content

NI DAQMX Channel Attributes Counter Output

Greg Stoll edited this page Sep 10, 2021 · 2 revisions

Channel Attributes - Counter Output

See how to get and set attributes.

DAQmx_CO_OutputType

Data Type: int32
Description: Indicates how to define pulses generated on the channel.
Restrictions: Not Settable

Valid values

DAQmx_Val_Pulse_Time 10269 Generate pulses defined by the time the pulse is at a low state and the time the pulse is at a high state.
DAQmx_Val_Pulse_Freq 10119 Generate digital pulses defined by frequency and duty cycle.
DAQmx_Val_Pulse_Ticks 10268 Generate digital pulses defined by the number of timebase ticks that the pulse is at a low state and the number of timebase ticks that the pulse is at a high state.

You can get this attribute using:   DAQmxGetChanAttribute

Counter Output Pulse

DAQmx_CO_Pulse_IdleState

Data Type: int32
Description: Specifies the resting state of the output terminal.

Valid values

DAQmx_Val_High 10192 High state.
DAQmx_Val_Low 10214 Low state.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_Pulse_Term

Data Type: char*
Description: Specifies on which terminal to generate pulses.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

Counter Output Pulse Time

DAQmx_CO_Pulse_Time_Units

Data Type: int32
Description: Specifies the units in which to define high and low pulse time.

Valid values

DAQmx_Val_Seconds 10364 Seconds.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_Pulse_HighTime

Data Type: float64
Description: Specifies the amount of time that the pulse is at a high voltage. This value is in the units you specify with DAQmx_CO_Pulse_Time_Units or when you create the channel.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_Pulse_LowTime

Data Type: float64
Description: Specifies the amount of time that the pulse is at a low voltage. This value is in the units you specify with DAQmx_CO_Pulse_Time_Units or when you create the channel.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_Pulse_Time_InitialDelay

Data Type: float64
Description: Specifies in seconds the amount of time to wait before generating the first pulse.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

Output Pulse Frequency

DAQmx_CO_Pulse_DutyCyc

Data Type: float64
Description: Specifies the duty cycle of the pulses. The duty cycle of a signal is the width of the pulse divided by period. NI-DAQmx uses this ratio and the pulse frequency to determine the width of the pulses and the delay between pulses.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_Pulse_Freq_Units

Data Type: int32
Description: Specifies the units in which to define pulse frequency.

Valid values

DAQmx_Val_Hz 10373 Hertz.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_Pulse_Freq

Data Type: float64
Description: Specifies the frequency of the pulses to generate. This value is in the units you specify with DAQmx_CO_Pulse_Freq_Units or when you create the channel.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_Pulse_Freq_InitialDelay

Data Type: float64
Description: Specifies in seconds the amount of time to wait before generating the first pulse.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

Output Pulse Ticks

DAQmx_CO_Pulse_HighTicks

Data Type: uInt32
Description: Specifies the number of ticks the pulse is high.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_Pulse_LowTicks

Data Type: uInt32
Description: Specifies the number of ticks the pulse is low.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_Pulse_Ticks_InitialDelay

Data Type: uInt32
Description: Specifies the number of ticks to wait before generating the first pulse.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

Counter Output General Properties

Counter Output Timebase

DAQmx_CO_CtrTimebaseSrc

Data Type: char*
Description: Specifies the terminal of the timebase to use for the counter. Typically, NI-DAQmx uses one of the internal counter timebases when generating pulses. Use this property to specify an external timebase and produce custom pulse widths that are not possible using the internal timebases.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_CtrTimebaseRate

Data Type: float64
Description: Specifies in Hertz the frequency of the counter timebase. Specifying the rate of a counter timebase allows you to define output pulses in seconds rather than in ticks of the timebase. If you use an external timebase and do not specify the rate, you can define output pulses only in ticks of the timebase.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_CtrTimebaseActiveEdge

Data Type: int32
Description: Specifies whether a timebase cycle is from rising edge to rising edge or from falling edge to falling edge.

Valid values

DAQmx_Val_Rising 10280 Rising edge(s).
DAQmx_Val_Falling 10171 Falling edge(s).

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

Counter Output Digital Filter

DAQmx_CO_CtrTimebase_DigFltr_Enable

Data Type: bool32
Description: Specifies whether to apply the pulse width filter to the signal.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_CtrTimebase_DigFltr_MinPulseWidth

Data Type: float64
Description: Specifies in seconds the minimum pulse width the filter recognizes.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

Counter Output Counter Timebase

DAQmx_CO_CtrTimebase_DigFltr_TimebaseSrc

Data Type: char*
Description: Specifies the input terminal of the signal to use as the timebase of the pulse width filter.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_CtrTimebase_DigFltr_TimebaseRate

Data Type: float64
Description: Specifies in hertz the rate of the pulse width filter timebase. NI-DAQmx uses this value to compute settings for the filter.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

Counter Output Counter Digital Synchronization

DAQmx_CO_CtrTimebase_DigSync_Enable

Data Type: bool32
Description: Specifies whether to synchronize recognition of transitions in the signal to the internal timebase of the device.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

Counter Output More

DAQmx_CO_Count

Data Type: uInt32
Description: Indicates the current value of the count register.
Restrictions: Not Settable

You can get this attribute using:   DAQmxGetChanAttribute

DAQmx_CO_OutputState

Data Type: int32
Description: Indicates the current state of the output terminal of the counter.
Restrictions: Not Settable

Valid values

DAQmx_Val_High 10192 High state.
DAQmx_Val_Low 10214 Low state.

You can get this attribute using:   DAQmxGetChanAttribute

DAQmx_CO_AutoIncrCnt

Data Type: uInt32
Description: Specifies a number of timebase ticks by which to increase the time spent in the idle state for each successive pulse.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_CtrTimebaseMasterTimebaseDiv

Data Type: uInt32
Description: Specifies the divisor for an external counter timebase. You can divide the counter timebase in order to generate slower signals without causing the count register to roll over.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_PulseDone

Data Type: bool32
Description: Indicates if the task completed pulse generation. Use this value for retriggerable pulse generation when you need to determine if the device generated the current pulse. For retriggerable tasks, when you query this property, NI-DAQmx resets it to FALSE.
Restrictions: Not Settable

You can get this attribute using:   DAQmxGetChanAttribute

DAQmx_CO_EnableInitialDelayOnRetrigger

Data Type: bool32
Description: Specifies whether to apply the initial delay to retriggered pulse trains.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

Counter Output Advanced

DAQmx_CO_ConstrainedGenMode

Data Type: int32
Description: Specifies constraints to apply when the counter generates pulses. Constraining the counter reduces the device resources required for counter operation. Constraining the counter can also allow additional analog or counter tasks on the device to run concurrently. For continuous counter tasks, NI-DAQmx consumes no device resources when the counter is constrained. For finite counter tasks, resource use increases with the frequency regardless of the constraint mode. However, fixed frequency constraints significantly reduce resource usage, and fixed duty cycle constraint marginally reduces it.

Valid values

DAQmx_Val_Unconstrained 14708 Counter has no restrictions on pulse generation.
DAQmx_Val_FixedHighFreq 14709 Pulse frequency must be above 7.63 Hz and cannot change while the task runs. In this mode, the duty cycle has 8 bits of resolution.
DAQmx_Val_FixedLowFreq 14710 Pulse frequency must be below 366.21 Hz and cannot change while the task runs. In this mode, the duty cycle has 16 bits of resolution.
DAQmx_Val_Fixed50PercentDutyCycle 14711 Pulse duty cycle must be 50 percent. The frequency can change while the task runs.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

Counter Output Data Transfer And Memory

DAQmx_CO_UseOnlyOnBrdMem

Data Type: bool32
Description: Specifies whether to write samples directly to the onboard memory of the device, bypassing the memory buffer. Generally, you cannot update onboard memory directly after you start the task. Onboard memory includes data FIFOs.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_DataXferMech

Data Type: int32
Description: Specifies the data transfer mode for the device. For buffered operations, use DMA or USB Bulk. For non-buffered operations, use Polled.

Valid values

DAQmx_Val_DMA 10054 Direct Memory Access. Data transfers take place independently from the application.
DAQmx_Val_Interrupts 10204 Data transfers take place independently from the application. Using interrupts increases CPU usage because the CPU must service interrupt requests. Typically, you should use interrupts if the device is out of DMA channels.
DAQmx_Val_ProgrammedIO 10264 Data transfers take place when you call an NI-DAQmx Read function or an NI-DAQmx Write function.
DAQmx_Val_USBbulk 12590 Data transfers take place independently from the application using a USB bulk pipe.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_DataXferReqCond

Data Type: int32
Description: Specifies under what condition to transfer data from the buffer to the onboard memory of the device.

Valid values

DAQmx_Val_OnBrdMemEmpty 10235 Transfer data to the device only when there is no data in the onboard memory of the device.
DAQmx_Val_OnBrdMemHalfFullOrLess 10239 Transfer data to the device any time the onboard memory is less than half full.
DAQmx_Val_OnBrdMemNotFull 10242 Transfer data to the device any time the onboard memory of the device is not full.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_UsbXferReqSize

Data Type: uInt32
Description: Specifies the maximum size of a USB transfer request in bytes. Modify this value to affect performance under different combinations of operating system and device.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_UsbXferReqCount

Data Type: uInt32
Description: Specifies the maximum number of simultaneous USB transfers used to stream data. Modify this value to affect performance under different combinations of operating system and device.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_MemMapEnable

Data Type: bool32
Description: Specifies for NI-DAQmx to map hardware registers to the memory space of the application, if possible. Normally, NI-DAQmx maps hardware registers to memory accessible only to the kernel. Mapping the registers to the memory space of the application increases performance. However, if the application accesses the memory space mapped to the registers, it can adversely affect the operation of the device and possibly result in a system crash.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_Prescaler

Data Type: uInt32
Description: Specifies the divisor to apply to the signal you connect to the counter source terminal. Pulse generations defined by frequency or time take this setting into account, but pulse generations defined by ticks do not. You should use a prescaler only when you connect an external signal to the counter source terminal and when that signal has a higher frequency than the fastest onboard timebase.

You can get/set/reset this attribute using:   DAQmxGetChanAttribute   DAQmxSetChanAttribute   DAQmxResetChanAttribute

DAQmx_CO_RdyForNewVal

Data Type: bool32
Description: Indicates whether the counter is ready for new continuous pulse train values.
Restrictions: Not Settable

You can get this attribute using:   DAQmxGetChanAttribute

Table of Contents

Internal Development

Creating and Setting Up a gRPC Server

Server Security Support

Creating a gRPC Client

gRPC Client Examples

Session Utilities API Reference

Driver Documentation

gRPC API Differences From C API

Sharing Driver Sessions Between Clients

C API Docs
NI-DAQmx
NI-DCPOWER
NI-DIGITAL PATTERN DRIVER
NI-DMM
NI-FGEN
NI-FPGA
NI-RFmx Bluetooth
NI-RFmx NR
NI-RFmx WCDMA
NI-RFmx GSM
NI-RFmx CDMA2k
NI-RFmx Instr
NI-RFmx LTE
NI-RFmx SpecAn
NI-RFmx TD-SCDMA
NI-RFmx WLAN
NI-RFSA
NI-RFSG
NI-SCOPE
NI-SWITCH
NI-TCLK
NI-XNET
Clone this wiki locally