LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Window's XP, Labview, and USB device conflicts

Hello,

    I have labview 2011 running on windows XP SP3 with all of the updates and the USB hotfix.

 

    I have several usb devices connected to my computer: 3 cameras, a picoammeter, a piezo drive controller, and an external hard drive.

 

    I wrote labview code to use one of the cameras to take time lapse imagery, and it works great, so long as none of the other devices are on/connected.  The second I plug in another USB device invariably I get an error message:

 

"Error 178 occurred at GetSingleImage.vi
This error code is undefined. Undefined errors might occur for a number of reasons. For example, no one has provided a description for the code, or you might have wired a number that is not an error code to the error code input. 
Additionally, undefined error codes might occur because the error relates to a third-party object, such as the operating system or ActiveX. For these third-party errors, you might be able to obtain a description of the error by searching the Web for the error code (178) or for its hexadecimal representation (0x000000B2)."
which according to the documentation is a USB transfer error.
I was told to update Windows XP with the newest updates, I did and it didn't help.  Someone also suggested using Windows 7, but several of my devices arent supported by windows 7 currently, so I don't want to upgrade and lose those devices.
The other thing is that when I use multiple devices with their respective software(not labview) they behave and play well together.  It's only when labview is accessing them that they don't behave and give me errors.
Does anyone know how to fix this?  I've been trying to fix it for a while with no success
0 Kudos
Message 1 of 14
(3,787 Views)

powered USB hub?

0 Kudos
Message 2 of 14
(3,783 Views)

Hi,

 

Is it possible for you to post the LabVIEW code you are working with?  Also, what kind of USB cameras are you using?

 

Regards,

 

Greg H.

Applications Engineer
National Instruments
0 Kudos
Message 3 of 14
(3,758 Views)

I have attached the vi.  The cameras we are using are ueye USB 2.0 cameras(web site http://www.ids-imaging.com/).  We have a few different models but they can all be run by the same software.

0 Kudos
Message 4 of 14
(3,738 Views)

Maybe try some external hardware/software to spy on the usb traffic.

 

http://www.sysnucleus.com/

 

 

0 Kudos
Message 5 of 14
(3,724 Views)

As nyc said, USB power issues could be a problem. The hard drive and the cameras may all be high power devices and the total power may exceed that available from a single hub.

 

If any device connected to a USB hub runs at USB 1 speeds, then the entire hub and all attached devices must slow to that speed. Are any of your devices slow ones?  The picoammeter and the piezo drive controller probably do not need high speed and could be slower devices.

 

In either case adding external powered hubs could be the answer.

 

Lynn

0 Kudos
Message 6 of 14
(3,717 Views)

I don't think the issue is a USB hub.  The devices play nicely when I use their individual software simultaneously.  The issue arises when I try to get labview to control the devices.  

 

For instance, I can open up all of my cameras simultaneously using the cameras included software and I get no transfer errors from any of them.  When using labview I can only have one open or else labview spews transfer error messages.

 

Also I have tried various variations on plugging into powered hubs or directly into the computer, and no matter what configuration labview gets grumpy and gives me errors.

0 Kudos
Message 7 of 14
(3,712 Views)

We have a "monitoring" application that involves taking a short video (5 to 10 seconds) when a particular event occurs.  We used IMAQdx to acquire the images from an ethernet camera.  We are actually monitoring 24 sites simultaneously (and asynchronously), and as each of the cameras has its own IP address, it wasn't difficult to keep them "apart" from each other.

 

We recently tried doing the same thing using a USB camera.  When we used a single camera (one station), things worked pretty well, but when we tried using multiple stations (2 or 3, let alone 24!), we got "interference".  We attributed it to overloading the bandwidth of the USB channel -- as we already had a viable and working solution with (more expensive!) Ethernet cameras, we shrugged and (for now) gave up on using multiple USB cameras.

0 Kudos
Message 8 of 14
(3,687 Views)

Sorry, I should have said that we did all of this using LabVIEW 2011 and Windows 7, though I'm pretty confident we would have had the same results with Windows XP.  Our USB ports were running USB 2.0, and I think the Ethernet cameras might have been on a Gigabit line (though it also worked from my PC which is on a 100-BaseT line).

0 Kudos
Message 9 of 14
(3,684 Views)

Hi,

 

Could you post the SubVIs as well?  I imagine that the problem is a conflict with references to the cameras, and this would occur inside of these SubVIs.

 

Regards,

 

Greg H.

Applications Engineer
National Instruments
0 Kudos
Message 10 of 14
(3,668 Views)