system-visual-measurement-calibration.png

MDF4 Lib

Funktionsbibliothek zum Einlesen und Schreiben von MDF-Dateien

Die MDF4 Lib ist eine leistungsfähige und einfach anzuwendende Funktionsbibliothek für das Validieren, Sortieren, Lesen und Schreiben von MDF-Dateien. Sie bietet eine komfortable Schnittstelle, mit der Sie auf Signaldaten und Zusatzinformationen in einer MDF-Datei zugreifen können, unabhängig von der jeweiligen MDF-Version. Es wird der ASAM-Standard MDF4 als auch das ältere Format MDF3 unterstützt. Die MDF4 Lib ist sowohl für C++ und Python unter Windows und Linux als auch für .NET unter Windows verfügbar.

Highlights

  • Versionsunabhängiger Zugriff: MDF-Dateien lassen sich auswerten, ohne dass Fallunterscheidungen aufgrund unterschiedlicher Versionen notwendig sind.
  • Nahtlose Datenübernahme: Import aus Vector Tools und Datenloggern, die MDF als Ausgabe- oder Export- Format anbieten.
  • Effizientes Arbeiten: Der Einsatz einer praxiserprobten Standardkomponente reduziert den Aufwand für Einarbeitung, Entwicklung, Test und Wartung.

Funktionen

mdf4-lib-overview_DE.png
  • Ausgehend von einem zentralen File-Manager-Objekt können mehrere MDF-Dateien gleichzeitig geöffnet oder erzeugt* werden. Der Zugriff auf die Elemente und Daten in der Datei erfolgt dabei über Objekte (Python, .NET) bzw. Interface-Pointer (C++) und deren Eigenschaften und Methoden. 
  • Für den schnellen Zugriff auf Signalwerte lassen sich die MDF-Dateien vor dem Öffnen sortieren. Beim Schreiben* werden immer sortierte Dateien erzeugt. 
  • Validierung bzw. Prüfung von MDF-Dateien auf mögliche Formatfehler ist einfach möglich, z.B. vor dem Import in ein Archivierungs-System. 
  • Die Erzeugung der Objekte „on demand“ und deren Verwaltung mittels „reference counting“ ermöglichen eine ressourcenschonende Implementierung. Zur Vermeidung von Ressource-Leaks in C++ kann bei Verwendung der mitgelieferten „Smart-Pointer“-Klasse auf eine explizite Freigabe der Objekte verzichtet werden. Dies verringert zudem den Umfang und die Komplexität Ihres Codes.
  • Alle Aufrufe der Bibliothek sind thread-sicher. Für den optionalen Multi-Threading Use Case können zusätzlich Optimierungen aktiviert werden. Damit steht der parallelen Abarbeitung von Aufgaben nichts im Weg, z.B. zur Auswertung jeder MDF-Datei in einem eigenen Thread.
  • Zur Fehlerdiagnose lassen sich über die Logging-Möglichkeiten eventuelle Fehler- und Warnmeldungen oder optional alle Bibliotheksaufrufe protokollieren. 

* Funktionalität der optionalen "Schreib-Option“ 

Varianten

Schreib-Option

Zusätzlich zur Basisvariante (Lesezugriff) ist eine Option zum Erzeugen und Bearbeiten von MDF-Dateien erhältlich. Das Tool unterstützt alle MDF-Versionen, allerdings sind beim Schreiben einer älteren MDF-Version einige Features formatbedingt nicht möglich.

Windows

Die MDF4 Lib ist sowohl als 32-Bit- als auch als 64-Bit-Komponente, sowie als Unicode- und Multi-Byte-String (MBCS) Variante vorhanden.

Linux

Für Linux x86_64 Architektur ist eine 64-Bit-Variante mit UTF-8-String-Unterstützung verfügbar.

Die wichtigsten Neuerungen der Version 2.0

  • Eine neue und benutzerfreundlichere Python-Schnittstelle mit Unterstützung von IntelliSense und Autovervollständigung in gängigen IDEs.
  • Lesen und Schreiben von Signalen, die mit den in MDF 4.3 eingeführten neuen Komprimierungsalgorithmen gespeichert wurden.
  • Einfache Methode zum Extrahieren oder Entfernen eines Zeitbereichs aus einer MDF 4.x-Datei.
  • Die C++-Schnittstelle wurde für Linux und Windows angepasst und vereinheitlicht.
  • Mehrere Ereignisse können nun mit einem einzigen Aufruf wesentlich effizienter geschrieben werden.

Unterstützte MDF-Versionen

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

Aufgrund der speziellen Eigenschaften des MDF-Formats sind auch MDF-Dateien einer zukünftigen Version 4.x lesbar. Der Zugriff auf neue Features ist allerdings erst nach Aktualisierung der MDF4 Lib möglich.

Produktspezifische Informationen

Systemanforderungen für Windows:

  • C++-Schnittstelle: Microsoft Visual C++ Version 6.0 oder höher
  • .NET-Schnittstelle: Microsoft .NET 4.0 Framework oder höher und die entsprechende .NET-Sprache (z. B. Microsoft Visual C#)
  • .NET Core-Schnittstelle: Microsoft .NET Core 3.1 oder höher sowie die entsprechende .NET-Sprache (z. B. Microsoft Visual C#)
  • Python-Schnittstelle: Python 3.6 oder höher sowie NumPy in einer zur Python-Version passenden Version
  • Windows 11/10/8.1/8
  • Für den Zugriff auf XML-Funktionen mit MDF4 ist zusätzlich der Microsoft MSXML-Parser V6 eine Anforderung

Systemanforderungen für Linux:

  • C++-Schnittstelle: GNU-Compiler GCC C/C++ Version 4.8.3 oder höher
  • Python-Schnittstelle: Python 3.6 oder höher sowie NumPy in einer zur Python-Version passenden Version
  • Linux-System mit x86_64-Architektur
  • Erforderliche System-Bibliotheken: libc6, libstdc++6, libpthread, libdl
  • Für den Zugriff auf die XML-Funktionen in MDF4 ist zudem der XML-Parser libxml2 eine Anforderung

Ähnliche Produkte

Sie brauchen Unterstützung? Wir sind für Sie da!
Measurement and Calibration Team
Sie brauchen Unterstützung? Wir sind für Sie da!
Ganz gleich, ob Sie sich derzeit nur informieren wollen oder bereits Ihre nächsten Schritte planen – teilen Sie uns gerne Ihre Anforderungen mit. Wir helfen Ihnen dabei, die richtige Lösung zu finden.