system-visual-measurement-calibration.png

MDF4 Lib

Function Library for Reading and Writing MDF Files

The MDF4 Lib is a powerful, easy-to-use function library for validating, sorting, reading and writing MDF files. It provides a convenient interface to access signal data and additional information in an MDF file, regardless of the MDF version. It supports the ASAM standard MDF4 as well as the older format MDF3. The MDF4 Lib is available for C++, Python on Windows and Linux, as well as for .NET on Windows.

Highlights

  • Version-independent access: MDF files can be analyzed without needing to account for version-specific differences.
  • Seamless data transfer: Import data from Vector Tools and data loggers that support MDF as an output or export format
  • Efficient workflow: Using a field-proven standard component reduces the effort required for training, development, testing, and maintenance

Functions

mdf4-lib-overview.png
  • Starting from a central File Manager object, multiple MDF files can be opened or created* simultaneously. File elements and data are accessed through objects (Python, .NET) or interface pointers (C++) along with their properties and methods. 
  • For quick access to signal values, MDF files can be sorted before they are opened. When writing* the library always generates sorted files. Validation or checking of MDF files for possible format errors is easily possible, e.g. before import into an archiving system.
  • Creating objects “on demand” and managing them through “reference counting” enables resource-efficient implementation. To avoid resource leaks in C++, explicit object release can be omitted when using the supplied “smart pointer” class. This also reduces the size and complexity of your code.
  • All library calls are thread-safe. Additional optimizations can be enabled for the optional multi-threaded use cases. This allows parallel processing of tasks e.g. for evaluating each MDF file in a separate thread.
  • For troubleshooting, error and warning messages or, - optionally all library calls - can be logged using logging options. 

* functionality of the optional "Write" option 

Variants

Write Option

In addition to the basic version (read-only access), an optional module for creating and editing MDF files is available. The tool supports all MDF versions; however, due to format limitations, some features are not available when writing an older MDF version.

Windows

The MDF4 Lib is available as both a 32-bit and a 64-bit component, as well as in Unicode and Multi-Byte String (MBCS) versions.

Linux

For Linux x86_64 architectures, a 64-bit version with UTF-8 string support is available.

Highlights of Version 2.0

  • New and more convenient Python interface with support of IntelliSense and Autocomplete in common IDEs.
  • Reading and writing of signal data stored with new compression algorithms introduced in MDF 4.3.
  • Simple method for extracting or removing a time range from an MDF 4.x file.
  • The C++ interface has been adjusted and unified for Linux and Windows.
  • Multiple events can now be written much more efficiently with a single call.

Supported MDF Versions

  • MDF 2.0 to MDF 2.1
  • MDF 3.0 to MDF 3.3
  • MDF 4.0 to MDF 4.3

Due to the extensibility of the MDF format, MDF files based on future 4.x version can also be read. However, access to new features is only possible after updating the MDF4 lib.

Product Descriptions

System Requirements for Windows:

  • C++ Interface: Microsoft Visual C++ Version 6.0 or higher
  • .NET Interface: Microsoft .NET 4.0 framework or higher and respective .NET language (e.g. Microsoft Visual C#)
  • .NET Core Interface: Microsoft .NET Core 3.1 or higher and respective .NET language (e.g. Microsoft Visual C#)
  • Python interface: Python 3.6 or higher, and NumPy in a version matching the Python version
  • Windows 11/10/8.1/8
  • For access to XML features with MDF4, in addition the Microsoft MSXML Parser V6 is required

System Requirements for Linux:

  • C++ Interface: GNU Compiler GCC C/C++ Version 4.8.3 or higher
  • Python interface: Python 3.6 or higher, and NumPy in a version matching the Python version
  • Linux system with x86_64 architecture
  • Required system libraries: libc6, libstdc++6, libpthread, libdl
  • For access to XML features in MDF4, the XML Parser libxml2 is also required

Related Products

How Can We Help You? Let's Talk!
Measurement and Calibration Team
How Can We Help You? Let's Talk!
Whether you’re exploring options or already planning your next steps, share your requirements with us. We support you in finding the right solution.