Wilfried is correct in saying that if you want to count at the full speed of the counter which is 5 MHz, you can only utilize one channel since the USB-6009 only has one counter.
When you are monitoring digital lines, software timed or static I/O is used where the value is monitored inside a loop. In this case, no hardware timing is employed and the transfer speeds are completely dependent on software.
With LabVIEW, you can achieve a software accuracy of 1 ms (or a 1 kHz signal).
So if your signals are coming in at a frequency less than that, you should be able to poll and count the pulses.
Static I/O is usually used for low-speed applications that do not need hardware timed precision.
If you are interested in having this type of precision for all four of the signals you are monitoring, you will need a device with more than one counter.
The PCI-660x series are the counter boards that you could consider.
This example program utilizes a timed software loop to acquire digital data for unstrobed (static) I/O boards.
This would get you closer to the precision that you need but is still limited by software timing. Hopefully this information will help you in your application!
Regards,
Vanessa L.
Applications Engineer
National Instruments