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.
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.
08-29-2018 10:55 AM - edited 08-29-2018 11:01 AM
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:
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
Solved! Go to Solution.
08-29-2018 11:58 AM
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.
08-29-2018 09:59 PM
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
08-30-2018 02:37 AM - edited 08-30-2018 02:38 AM
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...