Device and XML Description Versions

<< Click to Display Table of Contents >>

Navigation:  GigE Vision Server > Theory of Operation >

Device and XML Description Versions

 

Regarding the GenICam™ Feature interface it is very important to manage the versions of the device (CVB GEV Server) and the XML description correctly.
If this is not done properly it can happen that a software reads or writes the wrong memory in the register map because of mixed up descriptions.

 

The main identification of the CVB GEV Server is the vendor and model name.
To distinguish between different versions or instances of the tool the Device Version field is used.
If you do not add your own custom features you do not need to change anything.
Otherwise carry out the versioning as described in the next sections.

 

By default the CVB GEV Server uses as its device version its DLL version (e.g. 1.0.0.0).
This is sufficient as long as the user does not add custom features.
If custom features are added it is recommended to enter an additional user version which makes this instance with its feature set uniquely identifiable.
If connection to instances with different feature sets of the CVB GEV Server are used different user versions must be assigned!
Otherwise a read/write error will occur because of inconsistent register maps.

 

The user version can be set on the CVB GEV Server object either with the UserVersion property (.NET interface) or the GSSetInfoAsString function (C interface).

 

The GenICam™ Registry, which stores XML description files in a data base on the client side, saves different XML sets for each device revision.
Device revisions are identified by their version.
The resulting version for the CVB GEV Server is the DLL version plus the user version, e.g. 1.0.0.0a or 1.0.0.0_BlobAnalyzer.
Thus for the GenICam™ Registry these two CVB GEV Servers would be still the same device type but with independent and potentially different feature sets.

 

Versioning of the XML Description File

Dependent on the complete device version described in the previous section the XML version defines the state of the description itself.
For a certain family of CVB GEV Servers which is identified by the device version the versioning of the XML description can be done independently.
That means that the XML version 1.0.0 for the device version 1.0.0.0 is different from the XML version 1.0.0 of the device version 1.0.0.0_BlobAnalyzer.

 

The versions for the XML are to be given in a certain way:

Major Version

A change in the major version indicates a change that is not backward compatible.
If a change is necessary also define a new User Version for the CVB GEV Server instance to distinguish the incompatible instances. Use another version identifier in the User Version. ‘_BlobAnalyzerV2’ for example.

Minor Version

Adds new features, but overall the XML description file is backward compatible.
New features need to have a properly set IsImplemented node.

Sub-Minor Version

Bug fix change only without any changes in the public feature set.