Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Camera has been removed (Error-1074360308 at IMAQdx Get Image2.vi)

Hello all,

 

i'm trying to use LabView to take simultaneous photos and save them from 15 Cameras (GigE Genie Nano from Teledyne Dalsa). The programm works fine, but only at the beginning. After taking 80-100 photos I get the error-1074360308 "Camera has been removed". I'm using LabView 2017 SP1 x64 on Windows 7 x64 with NI Software Version 19.0.0f0.

 

Cameras that give the error are not the same all the time. I tried to change ports in switch and tried even another switch - no success. When only one camera is connected then there are no issues. When I add cameras and make photos with only one new added camera (with bulit-in Labview example for grab and save) then at 4-6th camera the same error occurs.

 

Can anyone tell, what could be a problem there. Would appreciate any help and tips.

Thank you!

0 Kudos
Message 1 of 18
(3,169 Views)

Does the error occur on following example?

C:\Program Files (x86)\National Instruments\LabVIEW 2017\examples\Vision Acquisition\NI-IMAQdx\Low Level\Low-Level Grab.vi

 

How do you handle camera session? 

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 Kudos
Message 2 of 18
(3,145 Views)

I've tried to use it, but I'm pretty new with LabView and confused with Interface Name (see screenshot). Reading help files didn't help. What should I write to select a camera?

 

And I attach the programm that I use to control 15 cameras.

Download All
0 Kudos
Message 3 of 18
(3,131 Views)

Are you really trying an example which I told? VI in your screenshot is not.

It is "NI-IMAQ" driver example. you should use "NI-IMAQdx" example like I told.

 

"cam0" "cam1" etc are right name.

"img0" is name of NI Vision Board (ex: PCI-1408....)

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 Kudos
Message 4 of 18
(3,097 Views)

Thank you for the explanation.

In the path that you wrote in the previous post, there is no folder named "Low Level" (see scrnsht10).

I tried two programs instead from folder "Basic aquisition": Acquire Most Recent Image.vi and Stream to Image Files.vi

The "Acquire Most Recent Image.vi" gave the same error with a weird Buffer Number (see scrnsht9).

The "Stream to Image Files.vi" also showed the same error with the Images Behind count -1 (see scrnsht8)

Could you send the Low Level Grab.vi file here? Then I'll try with it too.

 

Download All
0 Kudos
Message 5 of 18
(3,089 Views)

The error was shown up on "Acquire Most Recent Image.vi"...? I'll check the example tomorrow (it's already midnight).

But this behavior is a little bit creepy.

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 Kudos
Message 6 of 18
(3,081 Views)

Yes the same error occurs also there.

 

Thanks Emboar, see you later and good night.

0 Kudos
Message 7 of 18
(3,074 Views)

Can you describe your setup in more detail? OS, CPU, network card, any switches, packet size, etc. If you're acquiring from 15 GigE cameras simultaneously this can be quite CPU intensive. It's also important to note if any of these cameras are potentially sharing bandwidth. This behavior you describe is common if, for example, you have multiple GigE cameras on a switch connected to a single port on your PC. If there's too much traffic on the network, it can crowd out the heartbeat and discovery packets such that cameras appear to be removed since there hasn't been successful communication with them within the designated period of time. Each GigE camera must have its own port with dedicated bandwidth or else you'll have to manually limit the throughput on each camera to ensure that at any given moment they are not saturating the link. See this KB for more details on the Desired Peak Bandwidth attribute.

 

As a side note, the weird buffer number is expected behavior when the camera is removed. If there is ever an error coming out of GetImage or ExtractImage, please disregard the associated buffer number. Because a buffer was not successfully acquired, we cannot return something in the normal range of buffer numbers as it could cause confusion if it corresponded with a potentially valid buffer number. Valid buffer numbers in IMAQdx range from 0 to 16777215. Admittedly this behavior is also confusing, but I just wanted to clarify that at least that part of what you're seeing seems expected.

 

Hope this helps,

Katie

 

 

0 Kudos
Message 8 of 18
(3,063 Views)

Thank you for clarification about buffer number. 

 

Here are some details about the setup. 15 cameras are connected to 52-ports Cisco switch with Jumbo Packets enabled. So each camera has own in and out port. They are connected to a PC that has 16 PCI-E 3.0 network cards. Hence, each camera becomes also its own port in PC. The PC equipped with Intel XEON 1650V4 CPU, 128GB DDR4 RAM, GeForce GTX 1050 4GB graphics card. I didn't notice any high loads on CPU during the programm running. 

 

I tried to reduce packet sizes down to 1400, DesiredPeakBandwidth down to 200, frame rate down to 12 photos per second,  but still got the same error.  As discussed earlier, the error comes even when only one camera is used with Labview examples. The error always occurs after some time after start of the programm. For one camera it can be after 700-800 photos.

 

I noticed also that in NI MAX some cameras dissapear for some time, then appear again and so forth.

0 Kudos
Message 9 of 18
(3,054 Views)

I noticed also that in NI MAX some cameras dissapear for some time, then appear again and so forth.


I believe any example cannot resolve this problem. It seems that it's caused by system problem.

When you connect only one camera, same behavior can be seen?

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 Kudos
Message 10 of 18
(3,041 Views)