MDF4 Lib
Funktionsbibliothek zum Einlesen und Schreiben von MDF3- und MDF4-Dateien

Leistungsfähige Funktionsbibliothek für den Zugriff auf MDF3- und MDF4-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.

Vorteile

  • Einfach anzuwendende Funktionsbibliothek zum Erzeugen*, Validieren**, Sortieren und Einlesen von MDF-Dateien
  • Versionsunabhängiger Zugriff auf die Formate MDF3 und MDF4
  • Schnelles und speicheroptimiertes Öffnen mehrerer MDF-Dateien
  • Effizientes Lesen von Signaldaten für sortierte Dateien
  • Einfaches Erzeugen von MDF-Objekten und Schreiben von Signaldaten im Offline Use Case*
  • Nahtlose Datenübernahme aus Vector Tools und Datenloggern, die MDF als Ausgabe- oder Export- Format anbieten
  • Der Einsatz einer geprüften und praxiserprobten Standardkomponente reduziert den Aufwand für Einarbeitung, Entwicklung, Test und Wartung
  • Komfortabler Zugriff auf verschiedene MDF-Zusatzinformationen

* Funktionalität der optionalen "Schreib-Option"
** derzeit nur unter Windows verfügbar

 

Highlights Version 1.8

  • Dateien mit dem neuen ASAM MDF 4.2 Format können nun gelesen und validiert werden, insbesondere auch mit der neuen spaltenorientierten Datenablage („Column-Oriented Storage“)
  • Verschachtelte Strukturen mit Arrays als Members lassen sich nun auch in beliebiger Tiefe erzeugen (Stichwort: „Arrays of Structures“)
  • Unfinalisierte MDF-Dateien, welche von CANape ab Version 19.0 erzeugt wurden, können ab sofort auch mit der MDF4 Lib finalisiert werden
  • Zurücksetzen von Signaldaten einer Kanalgruppe ist jetzt einfach möglich, damit sie mit Daten überschrieben werden kann (z.B. zum Editieren oder Anhängen von Samples)
  • Die Performance der „Seek-Methode“ insbesondere auf komprimierten Signaldaten wurde verbessert u.a. unter Ausnutzung eines neuen MDF 4.2 Features
  • Die Funktionalität zum Finalisieren und Sortieren von MDF-Dateien steht nun auch unter Linux
  • Eine neue Schnittstelle erlaubt die Benutzung der MDF4 Lib in einer .NET Core Applikation (nur unter Windows)

Funktionen

  • 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. Damit lassen sich MDF-Dateien unabhängig von der MDF-Version auswerten ohne dass im Code Fallunterscheidungen notwendig sind.
  • Für den schnellen Zugriff auf Signalwerte lassen sich die MDF-Dateien vor dem Öffnen sortieren. Beim Schreiben* werden immer sortierte Dateien erzeugt.
    Dabei wird immer nur ein Messraster zur gleichen Zeit geschrieben (Offline Use Case).
  • Validierung bzw. Prüfung von MDF-Dateien auf mögliche Formatfehler ist einfach möglich, z.B. vor dem Import in ein Archivierungs-System.
  • Durch die Objektorientierung und hierarchische Strukturierung der Schnittstelle (API) ist die zur Verfügung stehende Funktionalität schnell erfassbar und intuitiv anwendbar.
  • Eine ausführliche Online-Hilfe und Beispielprojekte mit dokumentiertem Quellcode erlauben eine schnelle Einarbeitung ohne Detailkenntnisse des MDF-Formats. Das in modernen Entwicklungsumgebungen wie MS Visual Studio verfügbare IntelliSense unterstützt Sie zudem bei der schnellen und bequemen Codierung.
  • Die Erzeugung der Objekte „on demand“ und deren Verwaltung mittels „reference counting“ ermöglichen eine effiziente und 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, wodurch sich i.d.R. auch die Wartbarkeit und Lesbarkeit verbessern.
  • 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 in eine Datei protokollieren. Alternativ können die Meldungen per CallBack auch selbst erfasst werden, z.B. zur eigenen Auswertung oder Anzeige.

Varianten

Die Basisvariante der MDF4 Lib lässt sich durch den Erwerb einer „Schreib-Option“ erweitern, so dass neben dem Lesen auch das Erzeugen von MDF-Dateien ermöglicht wird. Wie beim Lesen werden auch beim Schreiben alle MDF-Versionen unterstützt, wobei beim Schreiben einer älteren MDF-Version einige Features formatbedingt nicht möglich sind. Zudem unterstützt die MDF4 Lib derzeit nur das Schreiben von sortierten MDF-Dateien (Offline Use Case). Unter Windows ist die MDF4 Lib sowohl als 32-Bit als auch als 64-Bit-Komponente verfügbar. Zudem gibt es eine Unicode- sowie eine Multi-Byte-String (MBCS) Variante. Unter Linux ist sie nur als 64-Bit-Komponente mit UTF-8-String-Unterstützung verfügbar.

Produktbeschreibungen

Fact Sheet:

Produktinformation:

Mehr anzeigen

Systemvoraussetzungen für Windows:

  • C++ Interface: Microsoft Visual C++ ab Version 6.0
  • .NET Interface: Microsoft .NET 4.0 Framework oder höher und entsprechende .NET Sprache (z.B. Microsoft Visual C#)
  • .NET Core Interface: Microsoft .NET Core 3.1 oder höher und entsprechende .NET Sprache (z.B. Microsoft Visual C#)
  • Python Interface: Python 3.4 oder höher, sowie die zur Python-Version passende NumPy-Version
  • Windows 10/8.1/8/7
  • Für den Zugriff auf XML-Features bei MDF4 ist zusätzlich der Microsoft MSXML Parser V6 erforderlich

Systemvoraussetzungen für Linux:

  • C++ Interface: GNU Compiler GCC C/C++ ab Version 4.8.3
  • Linux-System mit x86_64-Architektur
  • Benötigte System-Bibliotheken: libc6, libstdc++6, libpthread, libdl
  • Für den Zugriff auf XML-Features bei MDF4 ist zusätzlich der XML Parser libxml2 erforderlich
Mehr anzeigen

Downloads