LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

NI-IMAQdx Timeout in VI

I am working with a PointGrey Flea3 camera, and I am all fine in MAX.  I can snap and grab with no errors.  However when I run my VI that takes an image I get the following:

 

Error -1074360293 occurred at IMAQdx Get Image2.vi

 

possible reasons:
NI-IMAQdx: (Hex 0xBFF6901B) Timeout

 

Because it said timeout, I tried increasing the timeout which did nothing.  I have looked around the forums and I have not seen any solutions I could implement.   We are triggering the camera, so could that have something to do with it?

 

I figure the VI might be of more assisstance, so I have attached that.

0 Kudos
Message 1 of 7
(5,654 Views)

Yikes, a Stacked Sequence!  Bad!  Consider a State Machine (where you can keep variables used in the various States in shift registers so everyone can use them, everyone shares the same Error Line, etc.).  Learn the virtues of sub-VIs, especially for encapsulating/"hiding" functionality.  Try to get your Block Diagram to fit in a single screen (I'd need a 4-monitor setup to see yours, and, unfortunately, I don't have such).  Note that sub-VIs really help in compacting your Block Diagram.

 

Bob Schor

0 Kudos
Message 2 of 7
(5,631 Views)

I love the Flea3 Cameras. I think I recall getting the same error when I had "wait for next buffer" set to TRUE. I would try setting that to FALSE, and only process your images if the buffer number changed.

 

Apparently I have larger monitors than Bob, because I only need 2 Smiley Tongue But do take his advice and encapsulate some functionality in SubVIs. Try to keep your wires with as few kinks as possible. Not just for us, or the guy who inherits your project, but for yourself too. A little bit of time organizing and commenting now, will save a lot down the road!

0 Kudos
Message 3 of 7
(5,598 Views)

Unfortunately, I am the guy who inherited the project.  

0 Kudos
Message 4 of 7
(5,595 Views)

Yep, that's how it goes!

0 Kudos
Message 5 of 7
(5,591 Views)

Hello,I met the same problem. If I acqusite two camaras , it is ok. When I acquisite three, the error happened. Do you have any solution now?

0 Kudos
Message 6 of 7
(5,100 Views)

Well, without code, it is impossible to say.  Note that with IMAQ, good design is especially important, as the IMAQ functions are a little strange, do some "unconventional" things (relative to other LabVIEW I/O modules), and are not the best-documented features of LabVIEW (to put it mildly).

 

We have a project, completed about 4 years ago (developed in LabVIEW 2010, I believe) that records videos of behaving animals at 30 fps.  A recording session lasts about 2-3 hours -- that's a whole lot of video!  However, we only want 5-10 seconds of "important" behavior (which we have an independent way of tracking), so we use a signal that says "Behavior is Now!" and save 5 seconds of video before the behavior and 5 seconds during/after.  Since the behavior takes place every few minutes, we only have, say, 20 10-second videos instead of a 2-3 hour single video.

 

Oh, and we do this on 24 animals, simultaneously.

 

We are using Axis cameras with an Ethernet interface.  We've also tried this with USB cameras, but can't do as many cameras, I think because of the traffic at the USB Hub.

 

So, yes, you can record from multiple cameras at the same time.  It is vital that you use something like a Producer/Consumer Design Pattern to keep the Acquire Frame function as isolated from other processing (other than enqueuing its image) as possible -- use LabVIEW's inherent parallelism to allow (24) cameras to work together.  

 

Bob Schor

0 Kudos
Message 7 of 7
(5,088 Views)