DAQmxCreateCIFreqChan

NI-DAQmx C Functions

DAQmxCreateCIFreqChan

int32 DAQmxCreateCIFreqChan (TaskHandle taskHandle, const char counter[], const char nameToAssignToChannel[], float64 minVal, float64 maxVal, int32 units, int32 edge, int32 measMethod, float64 measTime, uInt32 divisor, const char customScaleName[]);

Purpose

Creates a channel to measure the frequency of a digital signal and adds the channel to the task you specify with taskHandle. You can create only one counter input channel at a time with this function because a task can include only one counter input channel. To read from multiple counters simultaneously, use a separate task for each counter. Connect the input signal to the default input terminal of the counter unless you select a different input terminal.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to which to add the channels that this function creates.
counter const char [] The name of the counter to use to create virtual channels.
nameToAssignToChannel const char [] The name(s) to assign to the created virtual channel(s). If you do not specify a name, NI-DAQmx uses the physical channel name as the virtual channel name. If you specify your own names for nameToAssignToChannel, you must use the names when you refer to these channels in other NI-DAQmx functions.
If you create multiple virtual channels with one call to this function, you can specify a list of names separated by commas. If you provide fewer names than the number of virtual channels you create, NI-DAQmx automatically assigns names to the virtual channels.
minVal float64 The minimum value, in units, that you expect to measure.
maxVal float64 The maximum value, in units, that you expect to measure.
units int32 The units to use to return the measurement.
Name Description
DAQmx_Val_Hz hertz
DAQmx_Val_Ticks Timebase ticks
DAQmx_Val_FromCustomScale Units by a custom scale. Use customScaleName to specify a custom scale.
edge int32 Specifies between which edges to measure the frequency or period of the signal.
Value Description
DAQmx_Val_Rising Rising edge(s).
DAQmx_Val_Falling Falling edge(s).
measMethod int32 The method used to calculate the period or frequency of the signal.
Value Description
DAQmx_Val_LowFreq1Ctr Use one counter that uses a constant timebase to measure the input signal.
DAQmx_Val_HighFreq2Ctr Use two counters, one of which counts pulses of the signal to measure during the specified measurement time.
DAQmx_Val_LargeRng2Ctr Use one counter to divide the frequency of the input signal to create a lower-frequency signal that the second counter can more easily measure.
measTime float64 The length of time to measure the frequency or period of a digital signal, when measMethod is DAQmx_Val_HighFreq2Ctr. Measurement accuracy increases with increased measurement time and with increased signal frequency.
Caution If you measure a high-frequency signal for too long a time, the count register could roll over, resulting in an incorrect measurement.
divisor uInt32 The value by which to divide the input signal, when measMethod is DAQmx_Val_LargeRng2Ctr. The larger this value, the more accurate the measurement, but too large a value can cause the count register to roll over, resulting in an incorrect measurement.
customScaleName const char [] The name of a custom scale to apply to the channel. To use this parameter, you must set units to DAQmx_Val_FromCustomScale. If you do not set units to DAQmx_Val_FromCustomScale, you must set customScaleName to NULL.

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.