Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

NI USB 6501 24-ch DIO Performance Questions

I have one of these devices that I am using to drive a switch/LED interface with.  I have some code written in LabVIEW for it that works, but I think the performance could be better than what it is.  Before I try everything under the sun, I hope that I can have some questions/thoughts responded to by the experts here in the forum.

1. Is there anyway to setup a "Change Detect Event" for the Digital Inputs of the device so that there is not needless polling at the software level?  I notice that with just the USB-6501 in the filter for the "DAQmx Export Signal" property node, there is no "Change Detect Event" option...  from what I read in other places in the forum it does not seem possible to do anything but poll the device for digital input changes.  Can anyone confirm this?

2. My design uses two USB-6501 devices.  Would performance increase if I created DAQmx tasks that handled ports instead of accessing each individual line?  Would performance increase if I handled Digital Input on one USB-6501 and Digital Output on the other USB-6501?  Surely this makes since because I would only have to poll one USB-6501 while the other could be handled through software intterupts and user events.

3. I may be able to come up with some digital circuitry that will create a pulse whenever any of the switches change states.  I could then wire this pulse to a single Digital Input, and only poll that one input for change.  When the pulse is seen, the code will sample the rest of the hardware channels.  Does this seem pratical?  The digital circuitry may take me awhile to work out, and I'm not sure if there will be as much of a performance increase as I expect.  It really comes down to how the device's hardware driver works exactly.  If the driver polls all the ports regardless of which one is in use than this would be pretty pointless, for example.

Thanks for your input!
-Nickerbocker

0 Kudos
Message 1 of 4
(4,315 Views)
A quick search on these forums for '6501 change detection' led me to these items:

Thread:
USB 6501 C# Event Acquisition

Which had a link to this document identifying devices supporting change detection:
http://digital.ni.com/public.nsf/websearch/8914FA5E30971E0C86256FEF005760FF?OpenDocument



Message 2 of 4
(4,307 Views)
Only PCI cards?  Why no USB?  Surely USB has a way to generate an interrupt to the CPU that DAQmx could utilize.  Otherwise, USB mice and keyboards would perform very poorly.
0 Kudos
Message 3 of 4
(4,297 Views)

I believe that the second link suggests that you CAN do what you would like, but only with the non-bus powered 'high performance' USB devices.

The USB-6221 has 24 digital I/O lines plus analog ports, but it costs about 10 times as much as the 6501!

I did find this thread that indicates that it is possible with th 6221, but the original poster was having problems with change detection.

http://forums.ni.com/ni/board/message?board.id=250&message.id=30162&requireLogin=False

 

0 Kudos
Message 4 of 4
(4,291 Views)