Counter/Timer

cancel
Showing results for 
Search instead for 
Did you mean: 

NI PCI-6602: semi-period measurement stops unexpectedly or returns wrong values

Hi,

Using an NI PCI-6602 card we try to measure the semi-periods of a digital signal.
In "continuous sampling mode", 10 samples are collected in the buffer and then are read
out.

Up to 6 counters on this card are sampling the same signal in our testing configuration.

Here we found these issues:

1. Failure

In principle, the measurement runs correctly, but one or more counters sporadically may
suffer a complete failure. I.e. these counters don't provide samples anymore.
Only after stopping and restarting the assigned task, a failed counter works again.

Apparently, a counter failure is most likely to happen when
    - the sampled signal "changes", i.e. when the pulse width of the signal changes,
    - or when the computer load is high, e.g. when opening a window of another application.

Every counter occasionally failed, but the issue was found very often at counter 1 of
the PCI-6602 card, if we used counters 0 through 5 in parallel.

Using another PCI-6602 card, the failures happened preferably on counters labeled "near"
number 5.

2. Wrong values

Occasionally the "interpretation" of the sampled values changes, i.e. the length of the
"high level" period is returned, where the "low level" period length should be given, and
vice versa.

This is our task configuration:

Configuration done with MAX:
Signal input range:    2 usec - 2 sec
Custom Scaling:        None
Sample mode:        continuous
Buffer size:        10 Samples

In addition these calls are made:

ret = DAQmxSetDigEdgeArmStartTrigSrc( task->mHandle, <use the same terminal as is used for
the signal to be measured>);

ret = DAQmxSetArmStartTrigType( task->mHandle, DAQmx_Val_DigEdge);

ret = DAQmxSetDigEdgeArmStartTrigEdge( task->mHandle, DAQmx_Val_Rising);

ret = DAQmxSetCISemiPeriodStartingEdge( task->mHandle, <the channel>, DAQmx_Val_Falling);


Best regards
Manfred

0 Kudos
Message 1 of 2
(3,662 Views)

Hi Manfred7,

 

did you already test this behaviour with a simple example from us?

Just go through the example database and try the examples there.

These examples should work. 

 

If it works, there is a problem with your programm.

If it won't work, please tell me more about your software:

- Version

- DAQmx Version ,...

 

best regards

Dippi 

0 Kudos
Message 2 of 2
(3,652 Views)