Meinberg SDK For Labview

The Meinberg SDK for Labview is available at:
https://www.meinbergglobal.com/english/sw/sdk.htm#labview

The SDK provides an example Labview program and some VIs which can be used to access Meinberg PCI cards and USB devices from within an own Labview application.

The implemented VIs actually just call the associated Meinberg API functions which are exported by the DLLs shipped with the Meinberg driver software for Windows, so installation of the driver software package is required in any case:
https://www.meinbergglobal.com/english/sw/#win

Meinberg takes very much care that API calls are kept consistent across driver versions and device types, so the only thing required to use an existing feature with a newer Meinberg device is to update the driver software.

Known Problems with 64 bit Labview

Most Meinberg API functions expect one or more complex data structures as arguments. The exported DLL functions have been compiled for structures with 1 byte alignment, and the 32 bit versions of Labview also use 1 byte alignment by default. However, according to this document
http://digital.ni.com/public.nsf/allkb/F7E5C9169D09E98586256AF300717B33

the 64 bit versions of Labview use natural alignment of structures by default, see the Note: at the bottom of the quoted web page.

Fortunatelay this works correctly with many structures anyway, but there are a few structure types where the natural alignment caused gaps, and thus some fields of the structures returned from API functions are not evaluated correctly, e.g. if the receiver position is retrieved from a GPS card.

FIXME Perhaps the problem is that so far the 64-bit DLLs were fully compiled with #pragma pack(1), which turned out to be inappropriate for other reasons, too. Starting with the next driver version after dkwin-3.10, the 64 bit DLLs will be built with native alignment, except for the API-specific structures that are explicitly defined byte-aligned.


Martin Burnicki martin.burnicki@meinberg.de, last updated 2020-10-28