IMAQdx Enumerate Cameras Does Not Return GigE Cameras at Runtime

Updated Jun 18, 2026

Reported In

Software

  • LabVIEW

Driver

  • Vision Acquisition Software
  • NI-IMAQdx

Issue Details

I have a test application with IMAQdx Enumerate Cameras.vi which is not returning the GigE cameras connected.  The development environment works as expected, and the issue only appears when running the application. 

The application consists of a simple sequence using:

  • IMAQdx Discover Ethernet Cameras.vi
  • IMAQdx Enumerate Cameras.vi

The code is presented below:

 
However, in the executable, the IMAQdx Enumerate Cameras VI does not return valid camera information, and no error is reported.

Solution

The documentation of the function IMAQdx Enumerate Cameras VI indicates that the IMAQdx Discover Ethernet Cameras.vi needs to be called before IMAQdx Enumerate Cameras.vi

 

In the development environment, the code works correctly because NI MAX has already performed the GigE camera discovery, and LabVIEW can access this existing information.

In contrast, when running the application, the system must perform the discovery process again. GigE camera discovery relies on network communication (UDP broadcast), which is not instantaneous.

Due to this, the application attempts to enumerate cameras before the discovery process has fully completed, resulting in an empty or uninitialized camera information array.

By adding a delay  after IMAQdx Discover Ethernet Cameras.vi, the application is given sufficient time for the discovery responses to be received and processed. This allows the internal camera list to be populated correctly before calling IMAQdx Enumerate Cameras.vi


The implementation  is shown in the image below:
 

 

After introducing this delay, the cameras are successfully enumerated in the application.