I have come accross a problem using the counter on a USB 6008.
Basically what I am doing is counting the pulse signal from an incremental encoder (one channel only). When this count reaches a specified number (eg 2000 pulses), I need this to activate a digital output on one of the DAQ's DO lines.
This seems to be a triggering task which requires 2 counters but alas the USB 6008 does not have 2 counters. I have tried using a simple state machine structure specifying that when the counter reads equal or greater than 2000, move to a state which outputs on one of DO lines. This leads to a situation where the count may be far greater than 2000 before it moves to the digital output state especially when the encoder is rotating quickly.
Is it possible to accomplish what i need with the USB 6008?. If anybody has any input it would be much appreciated.
I don't think you can get there with the counter on a USB-6008. It sounds like you need hardware-level timing for this DIO bit, so you'd need to use a more capable data acq device.
It isn't clear whether you need this to happen exactly 1 time or repeatedly every 2000 pulses. If it's every 2000 pulses, does it matter when/where you start the count? In other words, is the real requirement related to a position change that corresponds to 2000 pulses? If so, do you have a plan for establishing your 0 position to get the phasing right? Does your incremental encoder have 2 quadrature channels and an index pulse?
It's hard to recommend a daq board without knowing answers to these questions, and probably others as well. That said, the safest bet is probably a board based on the STC-3 timing module, such as X-series boards and certain cDAQ chassis.