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. 
Die Library bietet eine komfortable Schnittstelle, mit der Sie auf Signaldaten und Zusatzinformationen in einer MDF-Datei zugreifen können. Es wird der ASAM-Standard MDF4 und das ältere Format MDF3 unterstützt.

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
  • Komfortable 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 die in ASAM-MDF-Version 4.2 eingeführt wurden 
  • Performance-Optimierungen beim Lesen von mehreren physikalischen Signalwerten mit nur einem Aufruf (MultiRead-Methoden), falls eine lineare Umrechnungsregel verwendet wird.

Funktionen

  • Beim Zugriff auf die Objekte und Methoden in den MDF-Dateien, müssen Sie die MDF-Version nicht berücksichtigen. Der Zugriff erfolgt über Interface-Pointer
  • Es können gleichzeitig mehrere MDF-Dateien geöffnet oder erzeugt werden
  • Für den schnellen Zugriff auf Signalwerte lassen sich die MDF-Dateien vor dem Öffnen sortieren. Beim Schreiben werden immer sortierte MDF-Dateien erzeugt. Dabei wird immer ein Messraster zur gleichen Zeit geschrieben (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 Ressource-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.

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