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

Leistungsfähige Funktionsbibliothek zum Einlesen/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.7

  • Komfortabler Zugriff auf alle Library-Methoden mit der beliebten Programmiersprache Python (Windows und Linux, ab Python 3.4) über eine neue Schnittstelle
  • Einfache Umwandelung einer bestehenden MDF-4.x-Datei in eine MDF-4.1-Datei mit gepackten oder ungepackten Signaldaten (zip/unzip)
  • Um verschachtelte Strukturen mit Arrays als Members kompakt abzulegen, unterstützt die Funktionsbibliothek nun „Arrays of Structures“
  • Lesen und Schreiben von Zeitsynchronisierungs-Informationen (Name und Klasse der Zeitgeber-Quelle).
  • Unterstützung neuer Flags und Datentypen welche in ASAM-MDF-Version 4.2 eingeführt werden (geplantes Release Mitte 2019).
  • Performance-Optimierungen beim Lesen von mehreren physikalischen Signalwerten mit nur einem Aufruf (MultiRead-Methoden), falls eine lineare Umrechnungsregel verwendet wird.

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