当前位置:网站首页>Genicam gentl standard ver1.5 (1)
Genicam gentl standard ver1.5 (1)
2022-06-25 18:56:00 【CoderIsArt】
1. Introduce
GenICam GenTL The design goal of the standard is to provide a general method for enumerating devices connected to a known system , Communicate with one or more devices , If possible , From the device independent of the underlying transport technology to the host . This allows third-party software to , Use different technologies to control the camera and obtain data .
GenICam GenTL The core of the standard is to define a unified transport layer interface (TLI). The software interface software between the transmission technology and the third party consists of a C Interface 、 A defined behavior and a set of standardized element names and their meanings . To access these features , Need to use GenICam GenApi modular
GenICam GenApi The module defines a XML Describe the file format , Used to describe how to access and control device functions . The standard feature naming convention defines the behavior of these functions .
GenTL The software interface does not include any remote device specific functions other than those used to establish communication .GenTL Provide a port that allows access through GenApi The module is connected to the remote device function . This makes GenTL Become connected to devices and stream data from them .GenApi and GenTL The combination of provides a complete software architecture to access devices ( For example, camera ).
2. frame
This section provides a high-level perspective to help understand GenICam GenTL Different components of the standard .
2.1 overview
GenTL Our goal is to provide a transparent transport layer interface to obtain images or other data , And communicating with the device . Its purpose is not to configure the equipment except for transmission related functions , Even if it is necessary to use the configuration information to communicate with the device indirectly .

Producer consumer model diagram
When used alone ,GenTL It is often used to identify two different entities :GenTL Producers and GenTL consumer .
One GenTL The producer is a software driver to implement GenTL Interfaces enable an application or software library to acquire or configure hardware , Or obtain the stream format image data of the device .
One GenTL Consumers are defined by GenTL Interfaces can use one or more GenTL Producer's software . For example, an application or a software library .
2.1.2GenICam GenApi
Emphasize that recommendations should not be made in GenTL Used in production realization GenApi modular
2.1.3 GenICam GenTL SFNC
In order to configure a GenTL producer , Each module implements virtual register mapping , And provides a GenApi Compatible XML file . In these XML In file , Only necessary (mandatory) Features will be described in this document . All features are described in GenTL SFNC In the document .
2.2 GenTL modular
GenTL The standard defines an implementation GenTL The hierarchical structure of the interface library . A module defines a layer . These modules show their hierarchical structure in a tree , Take the system module System Module As the root node of this tree .

2.2.1 System module System Module
For each GenTL consumer , The system modules that are the root of the hierarchy are to GenTL Producer Entry point for software drivers . It represents the whole system ( It's not the whole thing , Just from GenTL From the library's point of view , The entire host side GenTL View of the producer driver system .
The main task of the system module is to enumerate and instantiate the interfaces available in the implementation scope .
The system module also provides signal capability and module configuration GenTL The internal functions of consumers .
There can be one that contains multiple transport layers GenTL Manufacturers and represent them as different interface modules . In this case, the transport layer technology of the system module must “ blend ”( See the first 6.6.1 Chapter ), And the sub interface module discloses its actual transport layer technology . In this case, the first interface can be CamerLink Image acquisition board of , The second interface can be IIDC1394 controller .
2.2.2 Interface module Interface Module
The interface module represents a physical interface in the system . For Ethernet based transport layer technology, this will be a network interface card ; Based on CameraLink This will be an image data frame acquisition board . Enumerating and instantiating the available devices on this interface is the main role of this module . The interface module is also directed to GenTL The user provides signal and module configuration functions . One system may contain zero 、 One or more interfaces . An interface represents only one transport layer technology . It is not allowed to equip GigE Vision Camera and a CameraLink The camera is on the same interface . There is no logical limit to the number of interfaces addressed by the system . This is limited only by the hardware used .
2.2.3 Device modules Device Module
The device module represents a physical remote device GenTL Producer agent . The responsibility of the device module is to enable communication with remote devices for enumerating and instantiating data flow modules . The device module also provides the GenTL The user provides signal and module configuration functions . An interface module can contain zero 、 One or more device module instances . The device is always using a transport layer technology . For the number of devices connected to the interface , Logically unlimited , This is limited only by the hardware used .
2.2.4 Data flow module Data Stream Module
A single... From a remote device ( Images ) The data flow is represented by the data flow module . The purpose of this module is to provide the collection engine and maintain the internal buffer pool . besides , The data flow module also provides signals and modules GenTL Consumer configuration functions . A device can contain zero 、 One or more data streams . Logically, there is no limit to the number of streams a device can have , This is limited only by the hardware and implementation used .
2.2.5 Buffer module Buffer Module
The buffer module encapsulates a single memory buffer , As the storage destination of image acquisition data . Memory can be user allocated , It can also be GenTL Assigned by the producer . The latter can be pre allocated system memory .
The buffer module also provides signals and GenTL Consumer's module configuration function .
To enable data flow , At least one buffer must be advertised to the data flow module instance , And put it into the input buffer pool .
GenTL The producer can preprocess and format the image data of the changed image / Or buffer size . A detailed list of parameters , Please refer to the first 5.5 Chapter describes the buffer .
2.3 GenTL Module common part
The interaction and compatibility between producers and consumers are determined by C Interface 、 Description of module behavior 、 The signal 、 Configuration and collection engine guarantee .

2.3.1 C Interface
C Interface provide GenTL Producer's entry point . It enumerates and creates all module instances . It includes the acquisition processed by the data flow module . This GenTL The user can also access the signal and configuration interface of the module through C Interface . therefore , Use only C Interface can stream images , Independent of underlying technology .GenTL The default state of the producer should be to ensure that the device can be turned on and receive data from it . choice C The main reasons for interfaces are as follows :
- Support multiple client languages :C Interface libraries can be composed of multiple programming languages . Basic types can be found in languages and modules ( Different heaps 、 Implementation details ).
- Dynamic loading of Libraries : It's easy to dynamically load and invoke C Style function . This makes GenTL Users can dynamically load one or more of the runtime GenTL producer .
- Scalability :C Libraries can design early versions in a binary compatible manner . therefore , If the version changes , Consumers do not need to recompile .
Although for the above reasons C Interface , But actually GenTL Producer implementations can be done in object-oriented languages . Except for global functions , All interface functions work on handles that can be mapped to objects . Anything that can be used C The programming languages of the interface export library can be used to implement GenTL producer . To guarantee GenTL Producers and GenTL Consumer interchangeability , No language is needed to divide and ANSI C Compatible features , Specific functions can be used in the interface of GenTL producer .
2.3.2 To configure
Each module provides GenTL Port function , In order to GenICam GenApi( Or any other similar non reference implementation ) Can be used to access the configuration of the module . This GenTL Producer The basic operations can be realized through C Interface completion does not require the use of specific module configurations . More complex or implementation specific can be used GenTL Ports through flexible GenApi Function interface to access functions and provide GenApi XML describe . Each module has this XML describe , The port of the module can be used to read and / Or modify the settings in the module . So , Each module has its own mapping that can be accessed by the virtual register port function . therefore , The configuration of accessing the remote device has been extended to the transport layer module itself .
2.3.3 The signal ( event )
Each module can notify GenTL Consumer certain events . for instance , If new image data comes from a remote device , A new buffer event will be issued . The number of events supported by a particular module depends on the module and its implementation .C Interface makes GenTL Consumers can register events on the module . The event objects used depend on the platform and implementation , But encapsulated in C Interface .
边栏推荐
- From the perspective of the core competitiveness of ABT, the Internet giant, who fell first
- QQ机器人官方插件加载配置方法【beta2版本】
- Analysis on development status and development suggestions of e-commerce industry in Xinjiang in 2020 [figure]
- QQ机器人疫情查询/疫情关注等【最新beta2版本】
- Uncover ges super large scale graph computing engine hyg: Graph Segmentation
- Analysis on China's aluminum foil output, trade and enterprise leading operation in 2021: dongyangguang aluminum foil output is stable [figure]
- JS get data
- electron 基础项目搭建 &&主线程和渲染线程的通信
- [deeply understand tcapulusdb technology] cluster management operation
- mysql视图讲解
猜你喜欢
![[deeply understand tcapulusdb technology] tmonitor module architecture](/img/82/24a8502604fccb89fea9963c3f3495.png)
[deeply understand tcapulusdb technology] tmonitor module architecture

Current situation and development suggestions of China's green PPP project industry: the investment scale is expanding, and the existing problems need to be improved to further promote the healthy dev

广州华锐互动打造VR展厅全景在线虚拟展厅
![Analysis on policy, output and market scale of China's natural gas hydrogen production industry in 2020 [figure]](/img/f2/ec0fe8bec503c8788d6d549845b95c.jpg)
Analysis on policy, output and market scale of China's natural gas hydrogen production industry in 2020 [figure]

【历史上的今天】6 月 25 日:笔记本之父诞生;Windows 98 发布;通用产品代码首次商用

初探Oracle全栈虚拟机---GraalVM

Combing the latest Data Mining Event Scheme!
![Analysis on China's aluminum foil output, trade and enterprise leading operation in 2021: dongyangguang aluminum foil output is stable [figure]](/img/e8/027e8a6cbdc4454e7a18ed7aa2122a.jpg)
Analysis on China's aluminum foil output, trade and enterprise leading operation in 2021: dongyangguang aluminum foil output is stable [figure]

Redis6

03 runtime data area overview and threads
随机推荐
解决sublime Text3 package control 无法安装插件问题
Kotlin Compose 终结toDo项目 点击可以编辑修改todo
[elt.zip] openharmony paper Club - witness file compression system erofs
R language uses the model of DALEX package_ The profile function interprets the relationship between a continuous feature and the target value Y in multiple classification models based on the conditio
MySQL view explanation
一晚上做了一个xpath终结者:xpath-helper-plus
QQ robot epidemic situation query / epidemic situation concern [latest beta2 version]
Leetcode-78-subset
Comparison rules of strings in JS
Combing the latest Data Mining Event Scheme!
QQ机器人:群成员自我禁言管理【最新beta2版本】
solidity获取季度时间
Development status of China's hydrotalcite industry in 2020 and analysis of major enterprises: the market scale is rapidly increasing, and there is a large space for domestic substitution [figure]
为什么生命科学企业都在陆续上云?
Redis configuration (Internet access, password)
Uncover ges super large scale graph computing engine hyg: Graph Segmentation
Web development solution to cross domain problems
Sorting out the latest data mining competition scheme!
[deeply understand tcapulusdb technology] one click installation of tmonitor background
Under what circumstances do you need to manually write the @bean to the container to complete the implementation class