From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Input node Vision Acquisition not working (set frame rate)

Solved!
Go to solution

Why is the input node of the Vision Acquisition Express vi not working as expected? Further, why is there no documentation of this input node in the context (detailed) help section as well as in the pdf doc of the Vision Acquisition? Further, it is possible to set the frame rate of my camera.

 

I added two simple vi's for comparison:

 

  1. a simple vi with the vision acquisition vi (continuous with inline processing) in a while loop with a hard coded 40 fps input.
  2. a NI example called 'Low-Level Grab vi' which I very slightly adapted, i.e. added one property node (IMAQdx) to set the frame rate.

Now, in the last example, when I set the frame rate on the front panel on 40, then it IS approximately 40 fps. And in the first example with the express vi my frame rate appears at approximately 114-115 fps.

 

Can anyone explain me this behaviour, why setting the frame rate on the express vi is not working?

 

Note: I am using LV 17 SP1 and a Basler acA2040-120uc camera

Download All
0 Kudos
Message 1 of 4
(2,770 Views)

The camera should have two properties under AcquisitionControl, one is called AcquisitionFrameRate, and the other is AcquisitionFrameRateEnable. If you are only setting the frame rate, but the enable is set to false, then the new frame rate will have no effect, and the camera will acquire as quickly as the exposure time or limits of the camera dictate, whichever is slower.

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

Too bad you are using an Express VI, which we cannot open without having your camera attached to it.  Is the change that you make to low-level Grab to decrease the number of Buffers from 5 to 3?  I use low-level Grab, but always to increase the number of Buffers so that I can acquire images at a decent Frame Rate without losing any of them!

 

LabVIEW Vision is one of the more esoteric branches of LabVIEW -- cameras are rather different forms of DAQ devices, and not all of the VIs are well-described in the (somewhat scanty) Documentation.  Be sure to have sufficient LabVIEW Development Experience that you can do without needing the crutch of Express VIs.

 

Bob Schor

0 Kudos
Message 3 of 4
(2,731 Views)
Solution
Accepted by topic author DvdM

Thanks for both your replies.

 

I finally figured it out. First, I can set the frame rate of my camera as the lower-level grab example showed me. So, I have the AcquisitionFrameRateEnable and set it to true. But that's not the only thing for the input node of the acquisition express vi to have effect. You must change at least once the acquisition framne rate under Acquisition Control on the tab 'Configure Acquisition Settings' when opening (double-clicking) the express vi. Once you have done this, then changing the input node will have an effect. Otherwise it keeps taking the values from MAX.

 

For instance, in MAX the frame rate was set to 100 fps. Then, in the express vi only enabling the AcquisitionFrameRateEnable and connecting a constant numeric of 40 to the input node Acquisition Control::Acquisition Frame Rate leads to an output frame rate of 100 fps. If you the change the value of the frame rate in the acquisition express vi (and of course leaving the attribute AcquisitionFrameRateEnable set on true) to 40, then the outcome indeed is 40 fps. To this point, the input node of the express vi has done nothing. However, changing the numeric constant connected to the input node to let's say 30, then the resulting outcome frame rate of the front panel indicator is indeed 30 fps.

 

To me, this behaviour sounds a little odd to me. Strange that this input node isn't immediately setting or overruling the settings...

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