LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to use multi counter timers on a 6602??

Having trouble finding an answer to this. I am using all 8 counters on a PCI 6602 card. Four are being used for PWM output, no problem. The other four I am using to measure RPM of a motor by attaching a TTL signal from speed sensors to the gate of the these other counters. The PWM seems to continue with no problem, but my speed counters only run for a few seconds before dropping out and only the first counter doing RPM will continue for a while longer. I have adjusted speeds, loop delays, number to read, set DMA and Interups on these other four with no results. I really need help with this. NI keeps pointing me to VIs that only use one counter. If I were using one counter, it works fine. I have to use all eight. Thanks, Craig
0 Kudos
Message 1 of 4
(2,940 Views)
Craig;

As the board you are using is a PCI version, you will have only 3 DMA channels available (this is a PCI bus limitation). Then, you will need to set your first 3 counters to use DMA and the other 5 to use interrupts.
I'm attaching a VI which generates pulse trains in all 8 counters of the board. That VI is not exactly what you need, as far as the application is concerned, but, you can see how the interrupts and DMAs are set.
Hope this helps.
Filipe
0 Kudos
Message 2 of 4
(2,940 Views)
Filipe:

I could not get the sample program you posted to open in LabVIEW 5.1.
File name:(Pulse Train at all 8 Counter of PCI-6602)

I get error code 8, Unable to open vi resource..

Did you di this sampel in 6.0?

Would LOVE to see it in 5.1 by golly!

Thanks,

Dave
0 Kudos
Message 3 of 4
(2,940 Views)
This is a great example of using the 6602 this way, however, this same vi was modified by an NI engineer to do my RPM. Doesn't work. These are also from the "old" counter-timer palette. There are "new" multi-counter-timer VIs and a new palette. I don't know if that is going to work for me either. I have had no luck with them. I am still looking for help on the individual VIs, in depth, so that I can figure out what to do with them. Such as, the "Read Buffer.vi." Can I call this vi twice, once to see if there is a backlog, a second time to "read" the backlog? What do I do if there is a backlog? How do I know how "many to read"? How do I know what time limit? How do I know how large a buffer to use? Do I use continuous or finite buffer and why? Is there anywhere I
can find answers to these questions? The file "LVDAQ.HLP" is missing from my copy of 6.1. Still waiting for an answer from NI on that. The only one they found was for LV 6.0 and didn't include the new multi-counter VIs.
BTW, I am using Win 2K, 1g Athlon, 128ram. Any help greatly appreciated!!
0 Kudos
Message 4 of 4
(2,940 Views)