当前位置:网站首页>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 .
边栏推荐
- solidity日期工具
- SQL is used for field data types in various databases
- Kotlin Compose 终结toDo项目 点击可以编辑修改todo
- 利尔达蓝牙空调接收器方案助力打造更舒适的公路生活
- [in depth understanding of tcapulusdb technology] tcapulusdb regular documents
- Solidity date tool
- [in depth understanding of tcapulusdb technology] tcapulusdb operation and maintenance
- Favorite PHP debugging methods
- JS some small problems about adding and accessing values to arrays
- MySQL transaction explanation
猜你喜欢

Guangzhou Sinovel interactive creates VR Exhibition Hall panoramic online virtual exhibition hall

Web development solution to cross domain problems

07 local method stack
![QQ robot: self forbidden words management of group members [latest beta2 version]](/img/1b/7dcc8ed344c9f62870d76f16b99f1d.png)
QQ robot: self forbidden words management of group members [latest beta2 version]

GenICam GenTL 标准 ver1.5(1)

158_ Model_ Power Bi uses DAX + SVG to open up almost all possibilities for making business charts

LeetCode-101-对称二叉树
![[today in history] June 25: the father of notebook was born; Windows 98 release; First commercial use of generic product code](/img/ef/a26127284fe57ac049a4313d89cf97.png)
[today in history] June 25: the father of notebook was born; Windows 98 release; First commercial use of generic product code

正则表达式总结

削足适履 - 谈谈赛道上的坡道改造
随机推荐
TCP/IP 测试题(二)
Idea annotation color modification method (clear)
Training of long and difficult sentences in postgraduate entrance examination day89
Training of long and difficult sentences in postgraduate entrance examination day87
[in depth understanding of tcapulusdb technology] tcapulusdb regular documents
Tiger DAO VC产品正式上线,Seektiger生态的有力补充
Huawei cloud SRE deterministic operation and maintenance special issue (the first issue)
初探Oracle全栈虚拟机---GraalVM
Training of long and difficult sentences in postgraduate entrance examination day91
Electronic basic project construction & communication between main thread and rendering thread
云上弹性高性能计算,支持生命科学产业高速发展、降本增效
JS get data
mysql事务讲解
Analysis on the market scale and pattern of contrast agents in China in 2021: Jiangsu Hengrui pharmaceutical, general electric, Yangzijiang Pharmaceutical Group, Bayer and bleco account for more than
R语言使用DALEX包的model_profile函数基于条件依赖CDP方法解释多个分类模型中某个连续特征和目标值y的关系(Conditional Dependence Plots)
广州华锐互动VR全景为各行各业带来发展
Analysis of global tea production, consumption and import and export trade: China's tea production ranks first in the world [figure]
QQ robot flash forwarding / recall message forwarding [latest beta2 version]
Under what circumstances do you need to manually write the @bean to the container to complete the implementation class
Use pagoda to set up mqtt server