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

Die MDF4 Lib ist eine leistungsfähige und einfach anzuwendende Funktionsbibliothek, mit der Sie in der Basisvariante MDF-Dateien validieren, sortieren und in eigene Anwendungen einlesen können.

Neben dem weit verbreiteten MDF3-Format wird auch der neue ASAM-Standard MDF4 unterstützt. Die Basisvariante lässt sich durch den Erwerb einer „Schreib-Option“ erweitern, so dass auch das Erzeugen von MDF-Dateien möglich ist. Die Library bietet eine komfortable Schnittstelle mit der Sie auf Signaldaten und Zusatzinformationen in einer MDF-Datei zugreifen, unabhängig von der jeweiligen MDF-Version.

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*
  • Komfortabler Zugriff auf verschiedene MDF-Zusatzinformationen
  • 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

* Funktionalität der optionalen "Schreib-Option"

** derzeit nur unter Windows verfügbar

Highlights Version 1.6

  • Signaldaten mit Datentyp „Half-Precision Floating-Point" (Float16) lassen sich einlesen. Ab ASAM MDF-Version 4.2 (geplantes Release in 2018) wird dieser Typ unterstützt.
  • Um ungenützte Datenbereiche zu entfernen, können Sie die MDF-Datei neu schreiben, z.B. nach dem Löschen von Anhängen.
  • Effizienteres Lesen und Schreiben von Array-Signalen, indem bestimmte Bytes eines Records unabhängig vom Channel auf einmal gelesen bzw. geschrieben werden können.
  • Beim Lesen von mehreren Signalwerten mit nur einem Aufruf (MultiRead-Methoden) können nun optional bestimmte Warnungen ignoriert werden, wodurch sich die Verwendung der Methode vereinfacht.
  • Zusätzliche Optionen für das eingebaute Debug-Logging, die besonders für den Einsatz auf der MDF4 Lib in Server-Anwendungen sehr nützlich sind, bspw. zur Weiterschaltung der Log-Datei beim Tageswechsel oder zum automatischen Löschen von alten Log-Dateien.
  • Die nachträgliche Finalisierung von nicht abgeschlossenen MDF 4.x-Dateien, welche mit der MDF4 Lib geschrieben wurden, ist nun möglich, um bspw. die Datei nach vorzeitiger Beendigung der Hauptapplikation wiederherzustellen, etwa nach einem Stromausfall oder Systemabsturz.

Funktionen

  • Ausgehend von einem zentralen File-Manager-Objekt können mehrere MDF-Dateien geöffnet oder erzeugt* werden. Je nach gewünschter Information können entsprechende Unterobjekte gelesen oder geschrieben werden. Der Zugriff auf die jeweiligen Objekte und deren Methoden erfolgt über Interface-Pointer. Damit werten Sie die MDF-Features unabhängig von der MDF-Version aus.
  • Für den schnellen Zugriff auf Signalwerte lassen sich die MDF-Dateien vor dem Öffnen sortieren**. Beim Schreiben* unterstützt die MDF4 Lib nur die Erzeugung von bereits sortierten MDF-Dateien, d.h. es kann immer nur ein Messraster zur gleichen Zeit geschrieben werden (Offline Use Case).
  • MDF-Dateien können mit der MDF4 Lib auch validiert, d.h. auf mögliche Formatfehler oder Inkonsistenzen überprüft werden 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. In C++ kann bei Verwendung der mitgelieferten „Smart-Pointer"-Klasse zudem auf eine explizite Freigabe der Objekte verzichtet werden. Dadurch lassen sich Resource-Leaks besser vermeiden. Außerdem verringern sich der Umfang und die Komplexität Ihres Codes, wodurch sich i.d.R. auch seine Wartbarkeit und Lesbarkeit verbessert.
  • Alle Aufrufe der Library 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. für die Auswertung jeder MDF-Datei in einem eigenen Thread.
  • Zur Fehlerdiagnose lassen sich über die Logging-Möglichkeiten eventuelle Fehler- und Warnmeldungen oder optional alle Library-Aufrufe in eine Datei protokollieren. Alternativ können die Meldungen per CallBack zusätzlich auch selbst erfasst werden, z.B. zur eigenen Auswertung oder Anzeige.
  • Kommt es beim Schreiben* einer MDF-Datei zu einem unerwarteten Abbruch, z.B. durch Stromausfall oder Tool-Absturz, so kann die Datei u.U. nicht mehr korrekt abgeschlossen werden. Die MDF4 Lib kennzeichnet eine solche MDF-Datei als „unfinalisiert“ entsprechend ASAM COMMON MDF 4.1.1. Beim Einlesen erkennt die MDF4 Lib als unfinalisiert gekennzeichnete MDF-Dateien. Je nach erzeugendem Tool bzw. der Art der fehlenden Finalisierungsschritte lässt sich mit der MDF4 Lib eine solche Datei nachträglich finalisieren**.
  • Die MDF4 Lib steht sowohl als Unicode- als auch als Multi-Byte-String (MBCS) Variante zur Verfügung. Verwenden Sie die Variante entsprechend Ihrer Projekteinstellungen und sparen Sie sich dadurch zeitraubende und umständliche String-Konvertierungen.

* Funktionalität der optionalen "Schreib-Option"

** derzeit nur unter Windows verfügbar

Varianten

Die Basisvariante lässt sich durch eine „Schreib-Option“ erweitern, so dass auch das Erzeugen von MDF-Dateien möglich ist. Wie beim Lesen werden auch beim Schreiben alle MDF-Versionen unterstützt.

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#)
  • 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

News & Veranstaltungen


Fachartikel: Logging-Herausforderungen für ADAS-Entwicklungen meistern

Je mehr Aufgaben Fahrerassistenzsysteme auf dem Weg zum autonomen Fahren übernehmen, desto höher ist die Anzahl an Sensoren von verschiedenen Zulieferern im Fahrzeug. Die perfekten Referenzdaten zum Testen liefern der reale Straßenverkehr in unendlicher Vielfalt. Zu diesem Zweck schicken OEMs und Systemlieferanten mit High-End-Datenloggern ausgestattete Testfahrzeuge auf die Straße, um anschließend in einer Re-Simulation bestimmte Verkehrssituationen exakt im Labor mit einem neuen Softwarestand zu überprüfen. Anstelle einer Vielzahl von Sensor-spezifischen Aufzeichnungssysteme sind skalierbare Ansätze und Strategien notwendig.


Steuergeräte optimal messen und kalibrieren – Highlights von CANape 17.0

CANape 17.0 unterstützt Sie mit neuen, nützlichen Funktionen beim Messen, Kalibrieren und Loggen von Steuergeräten und ADAS-Sensoren.

Alle News zeigen (264)
Mehr anzeigen