How to install and use Gantner LabVIEW drivers.

Download and instructions on how to start working with the Gantner hardware in LabView

This section is for LabVIEW virtual instruments (VIs) for:

  • Test Controller (high-speed port protocol, 32 or 64-bit)
  • Q.bloxx (ismbus32.dll, 32-bit, ASCII) (using the “old” LabView VI Package)

There are 2 types of packages available:

  • “old” style VIs: manual installation of the Gantner Instruments VIs.
  • Package Manager VIPM: the most actual VIs available as a package via the Package Manager. It only provides VIs for Q.series Controller communication via Ethernet
 

Package Manager VIPM

A VI Package from Gantner Instruments can be installed via the VIPM Package Manager. The VIs provided in this package are only for EtherNet communication, which is

  • HighSpeedPort data communication to Gantner-Instruments Q.series Controller via Ethernet (online read/write and buffered),
  • Buffered data communication to GI.bench buffers on localhost or remote via Ethernet, as well as

and also for

  • binary file decoding of UDBF files (Gantner Binary data file format).

Not supported:

  • Direct module communication

All the VIs are based on DLL calls (giutility.dll → see GInsData API)!

 

Installation

The Gantner Instruments LabView VIs can be downloaded via the Package Manager VIPM from JKI directly, or on the link:

https://www.vipm.io/publisher/gantner-instruments-gmbh/

The new package is only for Q.series Controller communication via Ethernet

Download the Package Manager here:

https://www.vipm.io/download/

The LabView VIs are not downwards compatible! But we can provided the most actual VIs also for any older version per request. The actual VIs from the Package Manager (from LV 2017) can be exported for older versions, but we cannot guarantee and support the full compatibility in older versions.

 

VI Palette

After installation via Package-Manager, the “GI DAQ Library” palette is integrated in the context menu:

 

Examples

If the VIs are installed correctly via Package-Manager, some examples and a tutorial can be found in the common “Help → Find Examples…” menu in LabView:

 

Old VIs (without Package Manager)

The “old” Gantner Instruments VIs for LV 2019 can still be downloaded here: LabView_2019.zip

user: support

pw: gins

 

Attention

  • LabVIEW 2019 or later
  • When using LabVIEW 64-bit you do not have full functionality, because not all DLLs (eGateUtility.dll and ISMBus32.dll) are available as 64-bit. The “giutility.dll” is included as 32- and 64-bit to read buffered high-speed data from the Test Controller. Depending on your LabVIEW version, the correct DLL is loaded automatically.
 

Installation

Copy all files into the following LabVIEW directory:

 ..\LabView XX\instr.lib\Gantner Instruments 

If installed correctly the VIs can be found in LabVIEW (Instruments-I/O → Instrument Drivers → Gantner Instruments).

 

Ethernet communication

The VIs enables data transfer over HighspeedPort TCP/IP protocol and are based on the C-style API of “giutility.dll” (see GInsData-API) or ASCII TCP/IP.

 

Types of data

Following types of data can be handled by this driver:

  • Online Data
  • Buffered Data
    • Direct from a device via IP-address
    • PostProcess buffer from GI.bench
  • UDBF File
 

Getting Started

The Gantner Instruments VIs include a Tutorial-Start.vi that provides some simple examples about how to read Gantner data with LabVIEW over Ethernet or to read local or remote PostProcess buffers (GI.bench).

  • Online communication
  • Buffered communication (network devices + PostProcess buffers / GI.bench)
  • File decode

The tutorial.vi can be found here:

 

Online Communication

Online communication allows for reading and writing Gantner data approx. 20-50 Hz (no data buffering). It is similar to “view online values” in test.commander. There is an example available in the Tutorial-Start.vi.

Using the channels' “ReadIndex” (= channel input index) or the “WriteIndex” (= channel output index) it is possible to read/write channel data. It is also possible to write to multiple output channels with an array (→ WriteCount).

All the necessary input/output access indexes of the channels, and other channel information (like Name, Type, Dataformat, …), are available after initialisation of the connection (output-cluster of the Init.vi - see screenshot [1]).

 

Buffered Communication

When using buffered communication data is read from a circular buffer on the Test Controller or from a local/remote PostProcess buffer, provided by GI.bench (GI.data). Buffered communication can not be used for writing values. Data is transferred in blocks, so it is possible the get all data with full sample rate (up to 100 kHz) out of the buffer.

The Tutorial-Start.vi includes an example to read buffered data either from a network device or from a local PostProcess buffer (using a buffer UUID) or a remote PostProcess buffer (using IP-address and buffer index). Use the “Scan” button, to detect available sources (not for remote PostProcess buffers).

To initialize a connection to a circular buffer on a Test Controller select “HighspeedPort Buffer (giutility.DLL)” as protocol:

or “PostProcessBuffer (giutility.DLL)” for connection to buffers of GI.bench:

The necessary “giutility.dll” is included in the driver package as 32- and 64-bit versions.

Depending on the data rate setting of the circular buffer it may be necessary to adjust some parameters to make sure that all data is transferred fast enough and to avoid a buffer overrun on the Test Controller:

  • Buffer size in the controller (at least a few seconds of data should be buffered)
  • Cycle time of the function call in the LabVIEW application (between 20-50 Hz is recommended, the Q.station Test Controller can do up to 100 Hz)
  • Number of max. frames to be read in one cycle (driver default = 5000). It may be necessary to increase this value for high sample rates in combination with the cycle time of the application to be sure that all frames can be read within one cycle. This parameter can be found within the “e.gate HighspeedPort Read Buffer.vi”
 

Decode UDBF File

File decoding is similar to a buffer connection.

To initialize a file, select “Decode UDBF File (giutility.DLL)” as protocol. As input parameter set the “FilePath” (string) to the desired .dat file.

 

OLE timestamp to LabVIEW timestamp

The LabVIEW timestamp differs exactly 1462 days from OLE timestamp (days since 30.12.1899 00:00:00). The OLE timestamp can easily be converted to a LabVIEW timestamp using the LabVIEW function “Seconds to Date/Time”.

 

Testing

To ensure a smooth data transfer and to avoid a buffer overrun (especially for high data rates) it is recommended to observe the actual buffer size of the Test Controller during the data transfer. It is therefore recommended to include the arithmetic function “BufferSize(<bufferindex>)” to the virtual variables of your Test Controller:

This variable will give you the actual size of the circular buffer in %. During data transfer it is recommended to have a value < 10 %, or even < 1 %. Higher values will lead to a buffer overrun.

An acceptable value for the buffer size during data transfer looks like this:

From the screenshot you can see that the data is read fast and the fill size does not increase > 1 %. This screenshot is taken at a data transfer rate of 7.2 MB/s (16 float channels + timestamp @ 100 kHz) and a cycle time of 10 ms.

With the same system, but higher cycle time of 100 ms, the buffer size value looks like this: