The target of GenICam is to provide complete plug & play functionality for imaging applications. Every GenICam camera contains a GenAPI XML description that lists the available camera features. In this way, different cameras with different features can be addressed via the same software interface without any problem.
The GenICam standard consists of different modules, each addressing a specific part of a typical vision system:
- GenTL is the transport layer interface for enumerating cameras, grabbing images from the camera and moving images to the user application.
- GenGenApi enables listing and configuration of features available with a device.
- SFNC: The Standard Features Naming Convention defines the name, type and behaviour of the device settings.
- CLProtocol is a GenTL module allowing CameraLink cameras to be addressed using GenICam.
These modules are self-contained, but intertwine with each other to build the complete system.
- GenTL is used to find and open devices such as cameras.
- Via the GenTL the GenApi XML description is received and is able to configure single devices and the respective GenTL.
- The SNFC defines the features semantics and the behaviour of standardised GenApi features such as exposure time or trigger mode.
- After the optional configuration it is also possible to receive image data via GenTL.
The CLProtocol module is not visible from the user interface. It is used to make existing CameraLink cameras GenICam compatible using a CameraLink GenTL.
As GenICam is a modular standard it is important to know the different compliances.
The GenICam logo indicates that the camera is controlled via GenICam and is therefore using the GenAPI and the GenICam SFNC. The standard is compulsory in GigE Vision, USB3 Vision, CameraLink HS and CoaXPress and is included in CameraLink 2.0.
The GenICam Transport Layer logo indicates that if it is a software product, it can interface to any GenTL provider and if it is a hardware or host interface driver, it can interface to any GenTL consumer software.