Programmatically Change Frame Rate with NI-IMAQdx

Updated Dec 11, 2023

Environment

Software

  • LabVIEW

Driver

  • NI-IMAQdx

I am using NI-IMAQdx and LabVIEW to acquire from a camera. How can I change my frame rate programmatically in LabVIEW?

Follow these steps to change the frame rate of your acquisition programmatically:
 

Find the Frame Rate Attribute

  1. Place an IMAQdx Open Camera.vi node on your block diagram to open the camera.
  2. Use the IMAQdx Enumerate Attributes.vi to get the attributes supported by the camera. A list of attributes your camera supports can be seen in NI MAX as well.
  3. Find the attribute that controls your frame rate. For the particular camera used for this example, the attribute is AcquisitionFrameRateAbs.  There may not be one for your camera, in which case this method will not work.
 

Set the Frame Rate Attribute

  1. Create a property node from the output of the Open Camera.vi, choose Camera Attributes and select Active Attribute.
  2. Right-click on the property node and select Change all to Write.
  3. Wire a constant string value of your attribute (ex.: AcquisitionFrameRateAbs) into the property node.
  4. Create another Camera Attributes property node, this time selecting Value and setting the type to DBL
  5. Right click on the property node and click Change All to Write.
  6. Create a numeric control for your frame rate.
  7. Wire the numeric control to the ValueDBL property node.
 

Please note that some cameras and bus types do not support an attribute that allows the direct control of the frame rate.