NI Linux RT Cannot Find GigE Camera on Deployed Executable

Updated May 23, 2018

Reported In

Hardware

  • cRIO-9068
  • cRIO-9030
  • IC-3171

Driver

  • NI-IMAQdx

Issue Details

I have an application that uses a GigE Camera on a target running NI Linux Real-Time OS. In the development environment, my application is able to work as expected. However, once I deploy the executable to run as startup, it times out and throws Error -1074360311: Camera Not Found.

 

Solution

It is possible that the connection to the camera could not be made before the code starts. To avoid the error, implement one of the following:
  • Add at least a 30 second wait, before trying to find the camera in your code.
  • Open the camera in a While Loop and attempt to catch the error. This could potentially minimize the delay in your program as the network can finish initializing before 30 seconds.

Additional Information

This is likely caused by a known behavior with Linux targets. Unlike PharLap, where network initialization happens before the LabVIEW run-time starts, in Linux, DHCP runs in parallel. Link-local addressing, which is the default mode for LabVIEW, starts shortly after DHCP has stopped searching for a connection.

Therefore, the process of finding connections has not fully completed before startup applications are loaded, leading to the possibility of code trying to open an IMAQdx camera before the connection is established. This results in the executable throwing the error.

This behavior does not happen when running interactively, which is why the error is only seen after deploying it as a startup application.

WAS THIS ARTICLE HELPFUL?

Not Helpful