Supported Image Acquisition Interfaces
Currently the image acquisition interfaces of the following industry standards are supported:
- GenICam GenTL
- GigEVision2
- USB3 Vision
MERLIC uses the respective image acquisition interfaces of HALCON MVTec HALCON is the comprehensive standard software for machine vision with an integrated development environment (HDevelop). MERLIC makes use of various HALCON procedures and other program functions.. Therefore, registered customers may download the latest version of the interfaces via the MVTec Interfaces download from the MVTec server.
The following sections provide general documentation for the interfaces for accessing all compliant cameras. For an extended documentation including further technical information please refer to the HALCON documentation of the interfaces on the MVTec website.
GenICam GenTL
- Intel compatible PC with Windows 10 (64-bit) or newer that is also supported by the used GenTL Producer.
- Successfully installed GenICam GenTL Producer. The corresponding .cti file must be located in one of the directories specified by the environment variable GENICAM_GENTL64_PATH.
- Depending on the used transport layer make sure that you have access to the device. Follow all requirements and recommendations specified by the respective GenTL Producer(s) to guarantee flawless and effective access to the device(s). Especially for (Gigabit) Ethernet the following points have to be checked:
- We recommend to use a PCIe network adapter which supports jumbo frames. Please configure the network adapter accordingly, e.g., to a MTU value of 9000. Furthermore, the camera should be connected directly to the network adapter to avoid interference with other network traffic. Please be aware that networking equipment like switches not necessarily supports Jumbo frames.
- If you are using a firewall, please make sure that your firewall settings allow communication with the camera for discovery, control and streaming, depending on your used transport layer. For Windows the easiest way to do this is to allow the application, i.e., MERLIC or your compiled application, at the firewall.
- GenICam version 3.5.0 The corresponding files are part of the MERLIC installation and are located in the directory genicam within the MERLIC installation directory. Since the GenICamTL interface sets all necessary environment variables on its own, no environment variables must be set or modified.
- The default acquisition mode assumes the computer is fast enough to process all buffers from the camera. If this is not the case, they are silently discarded (by the GenTL Producer).
- Only stream channel 0 supported. This means, simultaneous acquisition from multiple data streams of the same device is currently not possible.
- No support of acquisition from devices with read-only access mode.
- Limited support for devices with multiple ROI functionality.
-
If you are using the deprecated "Acquire Image from Camera" tool for the image acquisition, the following limitation also applies: Some camera devices do not support the save and load functionality for adjustments at the camera configuration. In this case your adjustments for the camera parameters settings cannot be saved in the MERLIC Vision App! If such a device is used, the default camera settings will be restored when the tool is loaded again. However, even if the selected camera device supports the save and load functionality, it still depends on the camera device which of the camera parameters are actually saved.
If a GigE Vision camera is connected in the deprecated "Acquire Image from Camera" tool, its parameter [Stream]GevStreamAbortCheckPeriod is automatically set to a value of 500 µs to decrease the image acquisition time. The value is automatically set each time the camera is loaded, i.e., if the MVApp is loaded. To use a different value, you have to manually adjust the value after loading the MVApp.
The interface can be controlled through several environment variables:
- GENICAM_GENTL64_PATH is a standard GenTL variable holding the list of directories where individual GenTL Producers are installed. The installer of a GenTL producer usually adapts these variables automatically.
GigEVision2
- Intel compatible PC with Windows 10 (64-bit) or newer.
- Gigabit Ethernet network adapter. It is recommended to use a PCIe network adapter which supports Jumbo frames. Please configure the network adapter accordingly, e.g., to a MTU value of 9000, to reduce the amount of interrupts. Furthermore, the camera should be connected directly to the network adapter to avoid interference with other network traffic. Please be aware that networking equipment like switches not necessarily supports Jumbo frames.
- If you are using a firewall, please make sure that your firewall settings allow your application or MERLIC to connect to the camera and to receive incoming images, otherwise the grabbing will fail.
- MVTec GigE Vision Streaming Filter under Windows x64: The GigEVision2 interface automatically uses a filter driver to enhance the performance while streaming images. When installing MERLIC the filter driver will be automatically installed, if you enable the corresponding check box during installation.
Please make sure that at least the driver version v2.2.8.4 is available. Older driver versions will not work! - GenICam version 3.5.0 The corresponding files are part of the interface package and are located in the directory genicam within the MERLIC installation directory. Since the interface sets all necessary environment variables on its own, no environment variables must be set or modified.
- The default buffer handling mode assumes the computer is fast enough to process all buffers from the camera. If this is not the case, they are silently discarded.
- Only stream channel 0 supported. This means, simultaneous acquisition from multiple data streams of the same device is currently not possible.
-
If you are using the deprecated "Acquire Image from Camera" tool for the image acquisition, the following limitation also applies: Some camera devices do not support the save and load functionality for adjustments at the camera configuration. In this case your adjustments for the camera parameters settings cannot be saved in the MERLIC Vision App! If such a device is used, the default camera settings will be restored when the tool is loaded again. However, even if the selected camera device supports the save and load functionality, it still depends on the camera device which of the camera parameters are actually saved.
If a GigE Vision camera is connected in the deprecated "Acquire Image from Camera" tool, its parameter [Stream]GevStreamAbortCheckPeriod is automatically set to a value of 500 µs to decrease the image acquisition time. The value is automatically set each time the camera is loaded, i.e., if the MVApp is loaded. To use a different value, you have to manually adjust the value after loading the MVApp.
USB3 Vision
- Intel compatible PC with Windows 10 (64-bit) or newer.
- The computer has to be equipped with an USB 3.0 interface. Make sure you use the latest drivers for the USB 3.0 host controller. On Windows systems it is usually not sufficient to search with the built-in mechanism, instead you need to check the website of the host controller manufacturer for the newest version.
- Ensure that the access to the device has been established through the respective driver. This can be done by confirming the installation of the driver in the message window that is opened if the device is connected for the first time.
- GenICam version 3.5.0 The corresponding files are part of the MERLIC installation and are located in the directory genicam within the MERLIC installation directory. Since the HALCONGenICamTL interface sets all necessary environment variables on its own, no environment variables must be set or modified.
- The default acquisition mode assumes the computer is fast enough to process all buffers from the camera. If this is not the case, they are silently discarded.
- Devices with multiple USB configurations are not fully supported.
-
If you are using the deprecated "Acquire Image from Camera" tool for the image acquisition, the following limitation also applies: Some camera devices do not support the save and load functionality for adjustments at the camera configuration. In this case your adjustments for the camera parameters settings cannot be saved in the MERLIC Vision App! If such a device is used, the default camera settings will be restored when the tool is loaded again. However, even if the selected camera device supports the save and load functionality, it still depends on the camera device which of the camera parameters are actually saved.
If a GigE Vision camera is connected in the deprecated "Acquire Image from Camera" tool, its parameter [Stream]GevStreamAbortCheckPeriod is automatically set to a value of 500 µs to decrease the image acquisition time. The value is automatically set each time the camera is loaded, i.e., if the MVApp is loaded. To use a different value, you have to manually adjust the value after loading the MVApp.
Limitations
Hardware triggers are only supported by MERLIC using the Image Source Manager.
To set up a camera triggered by a hardware trigger, see the topic Configuring Image Sources.
Camera devices that are configured for the image acquisition via the Image Source Manager can not be used in the tool "Acquire Image from Camera" while they are part of the currently active configuration.
Troubleshooting
- Check if the latest revision of the interface is used.
- Check the system requirements.
- Check if the device has the latest firmware.
- Check the Tool State value to query more information about the problem.
- Check if the correct GenICam binaries are in use. MERLIC uses the official binaries in a private installation (directory genicam in the MERLIC installation directory. If other GenICam binaries are in your path or in some system path, e.g., in C:\Windows\System32\, make sure these are the official ones by comparing them with the ones in the MERLIC installation. Using unofficial binaries might result in problems.
- Check for a newer version of the used GenICamTL Producer.
- Check if the camera is GigE Vision compatible.
- Check if the filter driver is used (see parameter '[Stream]GevStreamActiveEngine').
- Check if the settings of your firewall (Windows or other) allow communication with the GigE Vision camera. Different connections are used for controlling the device (GVCP) and streaming data (GVSP). It might be necessary to explicitly give access for the specific application (e.g., MERLIC) using the Windows firewall settings dialog instead of using the default Windows dialog which appears when an application is blocked by the firewall for the first time.
Furthermore, the following hints might help to solve some specific problems.
- Reason: could have several reasons, e.g., wrong network settings or interfering programs.
- Suggestion a): check the firewall settings.
- Suggestion b): check miniport drivers of your camera which might steal the packets.
- Suggestion c): check if the camera is reachable in the network (e.g., via ping).
- Suggestion d): check if the camera is GigE Vision compliant or needs a firmware update.
- Suggestion e): In case of the error 'no exclusive access':
- Somebody else is using the camera.
- Try power-cycling the camera.
- Camera is not reachable in the current network.
- Reason: could have several reasons, e.g., blocking programs, network problems, or parameter settings.
- Suggestion a): check the firewall settings.
- Suggestion b): check miniport drivers of your camera which might steal the packets.
- Reason: the system cannot receive or process all necessary packets and resending fails because of slow Ethernet cards, slow computers, slow network access, or slow/heavily-loaded bus.
- Suggestion a): check if the filter driver is used.
- Suggestion b): set GevSCPD to a higher value to avoid bursting of packets which lead to overload.
- Suggestion c): increase packet size (on network card and camera) to reduce the interrupt load and overhead.
- Suggestion d): reduce bus load from other applications or cameras.
- Reason: image acquisition is running.
- Solution: stop the image acquisition by stopping the execution of the MVApp.
- Reason: camera needs more time to set parameter.
- Solution: increase the parameter [Device]LinkCommandTimeout.
If there are still problems, please contact your local distributor. The following information is needed for your support request to avoid unnecessary inquiries.
- Used MERLIC and acquisition interface versions.
- Camera manufacturer, model, and firmware version.
- Details about the computer system, like operating system, RAM and CPU.
- Error message of the output console in MERLIC and the generated log files.
- Minimal MERLIC Vision App as a sample to reproduce the issue.
- Description of the observed and expected behavior.
- In case of a GenICamTL interface:
- Details about the used GenICam GenTL Producer (at least name and version).
- In case of a GigEVision2 interface:
- Details about the network card (PCI, CardBus, Jumbo frames, link speed, ...).
- Details about the network topology (directly connected, switches, ...).