Steve,
As you suggested, the problem is that during your counting you are causing the counter of the 6036E to reach its terminal count and then roll over. The reason for this is that the 6036E contains a 24-bit counter. Using a 20 Mhz clock, then we can do the math to determine exactly how long this clock will run before rolling over:
0.8/(1/20,000,000) = 16,000,000
2^24 = 16,777,216
(1/20,000,000) * 2^24 = .8389 seconds
From this, we can see that just past .83 seconds, the counter will roll over and will cause the problem you are seeing.
If you used a 6601/6602 then you will have a 32-bit counter which will allow you to run longer. But if we do the math again, at 20 MHz clock, the counter will roll over after 214.75 seconds. If you can run at
a 100 Khz clock the you might be able to use a 32-bit counter if the math works out for your application. As you can see the two key parameters in determining how long the counter will run before rolling over is the resolution of the counter and the clock frequency.
In order to handle this roll over of the counter in your application, the best approach is to really use two counters. The first one will behave just like yours does now and will be configured to output a pulse whenever the TC is reached. Then the second counter will be used to count the number of times the first counter rolls over. Using this method you can simulate a "48-bit counter" and your application can count for about 3900 hours.
Hopefully this will help get you going in the right direction, and if you have any other questions or concerns then please let us know.
Regards,
Michael H
Applications Engineer
National Instruments