Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Looking for this USB DAQ hardware: min 24 digital I/O lines, min 2 timers w/ interrupt capability (?)

Hello,

 

It's pretty much what I've written in the title, but being a bit more specific, it's as follows (please, excuse me for my lack of skills on this subject😞

 

I need to connect a DAQ module to a PC (laptop preferred) with minimal hardware configuration or servicing. So USB is the way to go.

 

I need to control several lines (24 is enough, the more, the better, for future additions).

 

Some of the control just consists of sending "1" or "0" to a given devices, or also reading such values from them as "on"/"off" statuses.

 

So far, good, and not much help is required. Smiley Wink

 

Now comes the problem where I'm pretty lost: Smiley Sad

 

For some lines/devices, I need to measure the time between status changes (from "0" to "1" or "1" to "0", you know) with a precision of milliseconds.

 

There's one case where this interval should be measured for two distinct status changes, simultaneously. Because of that, I'm requiring two standalone timers. I'm aware that there's probably a programmatic way to use just one timer for this, though, but continue reading and see how it complicates.

 

I need that the USB device does the timing. Basicaly, I don't want to do this from the PC. The PC should only read "the counter" after the respective timer stops.

 

Finally, and I have no idea if it's possible, I would like to "link" the given digital lines to the respective timers, the way they start/stop according to the presence of "1"/"0" in their associated digital lines.

 

If this "link" can be done by software, by messing with the DAQ module driver, that would be fantastic.

 

 

Thank you very much for your help (and for reading all this boring stuff. Smiley Tongue)!

0 Kudos
Message 1 of 4
(2,198 Views)

Hey ctomk,

 

So I have two options for you. However, I very strongly recommend spending a little bit more to invest in a USB X-series device, which is option 1.

 

These are our newest range of devices and even the most basic, the 6341, can do what you need and more. It has 24 dio lines, 4 counters, and analog inputs and outputs as well. However, they are not bus powered. With respect to your hardware timing task, I believe what you want is buffered pulse measurement, which can be found on page 7-10 (156/290 in pdf form) of the X-series user manual.

 

Option 2 is an older, m series device which should be able to calculate what you need as well. Take a look at 7-8 (p 114) of the M-series user manual.The big advantage of these cards is that they are bus powered. Take a look at this 6212, which should satisfy your needs.

 

Both options satisfy your primary needs. With respect to your 'linking' problem, I believe the gate is used by both configurations above. You can set up a trigger using one of the digital lines, and then have a separate software-timed task which can stop and restart the counter tasks, but I'd have to look further into your issue to answer that conclusively. If the word task makes no sense to you, it it worth looking at these links:

http://zone.ni.com/devzone/cda/tut/p/id/2835

http://zone.ni.com/devzone/cda/tut/p/id/5434

 

If you send me a PM with your phone number and the email you use for these forums (or any other email we have on record here, if you are a present customer), I can have your account manager contact you directly. He should be able to help you find the best card for your needs.

 

Thanks,

D Smith

 

0 Kudos
Message 2 of 4
(2,178 Views)

Hi, D Smith.

 

I'm checking the documentation and I'll be back if I have questions.

 

Thanks for your detailed reply. I didn't know where to begin. Smiley Happy

0 Kudos
Message 3 of 4
(2,165 Views)

No problem. I got in touch with some of our DAQmx guys and it looks like the situation with respect to enabling/disabling your counting based on a DIO line is as I suspected--you will likely have to do some software-based start/stop commands to get the result you need. What you could do is constantly read in your counter data in a loop, but only do anything with the data if your DIO line is high or low, or you could start and stop the counter task as I suggested, but as far as we could figure, there is no way to do it in hardware.

 

Thanks,

D Smith

0 Kudos
Message 4 of 4
(2,149 Views)