RobA,
I *think* there are some presentation files here on the ni website, but I didn't find them with a quick search.
When I was first starting to goof with counters, there were a few key concepts that really helped me "turn the corner" in my learning. Here they are:
"Source" terminal TTL transitions on the source terminal will cause the counter's internal count register to increment. A counter can be made sensitive to either rising or falling edges at its source terminal. It can also be programmed to decrement rather than increment, or even have inc/dec controlled by a DIO bit.
"Gate" terminal This is the more complicated one. It boils down to the idea that the Gate is a control terminal, but there are a couple distinct kinds of control it can do.
The first function is to control whether or not to "pay attention to" the Source edges. A counter could be made to increment only on Source edges that occur while the Gate signal is High. It's essentially an Enable signal. The counter acts as though it only sees the logical AND of Source and Gate, so no edges are seen when the Gate is Low. (Note: the description so far would be an active-high Gate. It's also possible to program an active-low Gate). Under DAQmx, this function is called "Pause Triggering."
The second function is to control when to transfer the value of the count register into a data acquisition buffer. This type of control acts like a sample clock, which is just what DAQmx calls it. You simply sample of the count register value on each rising Gate edge. (Note: can alternately sample on falling edges).
"Terminal Count" When a counter reaches its maximum 24-bit (E-series MIO boards and others) or 32-bit (M-series MIO boards, 660x counter/timer boards) value, it simply wraps back around to 0 and keeps counting. Each time it reaches this "terminal count", it generates an internal pulse signal and sets a boolean property flag.
A counter can be programmed to push this pulse signal out to its output pin, where it can be used for various purposes. It could alternatively be programmed to toggle the output state between High and Low each time the TC is reached.
Hope this helps some...
-Kevin P.
ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.