A Closer Look at the HDevelop Example for the GigEVision2 interface

Setting up a GigE Vision image acquisition device with HALCON is easy. Just connect the camera and grab images… But what to do, if reality catches up with you and something does not work as expected?

It might be quite difficult to reproduce the observed behavior, especially if you do not have the setup on your desk. Fortunately, HALCON provides a comfortable way to gather the important information, i.e., an HDevelop example for the GigEVision2 interface. Let us have a closer look at what information is queried by the script.

Let us begin with the first part (get_interface_information): In many cases a bug can only be reproduced with one specific version. Therefore we gather the exact HALCON version as well as the revision of the image acquisition interface. If the latest revision of the interface is not installed, the problem might already be solved by updating the interface. Additionally we also query the general information about available cameras, like their IP address, their status (misconfigured/available):

General information gathered for available cameras/sensors such as the IP address, the camera/vendor name and the current status (available/misconfigured)

 

 

 

 

 

 

 

 

 

 

In the next part, information about the network settings and the environment is collected (get_network_and_environment_information): the configuration of the network adapter is very important in order to successfully connect to the camera. For example, the camera and the network adapter to which it is connected have to be in the same subnet. Here we also check the environment variables set on the computer (such as PATH, HALCONROOT, etc.). In case of a windows system, the rules of the Windows Firewall for HDevelop are examined. If this results in a lot of entries, it is advisable to check all these entries or reset them.

Finally, in the last part we establish a connection to all available cameras and try to acquire images (get_camera_information): After the connection to the camera, we check important settings for the camera such as if the filter driver is activated or if jumbo frames are used for the communication with the camera. Both are important to reach the maximum framerate with the camera. As a last test we acquire images from the camera and measure the approximately reached framerate. If any problems occur during the test, the exception, as well as possible low level errors, are saved in the log file.