MDF4 Lib
Transcrição
MDF4 Lib
MDF4 Lib Produktinformation MDF4 Lib Inhaltsverzeichnis 1 Übersicht ..................................................................................................................................................................................... 3 1.1 Einführung................................................................................................................................................................................... 3 1.2 Anwendungsgebiete .................................................................................................................................................................. 3 1.3 Die Vorteile im Überblick ........................................................................................................................................................... 3 2 Eigenschaften und Vorteile ....................................................................................................................................................... 4 2.1 Unterstützte MDF-Versionen ................................................................................................................................................... 5 3 Funktionsumfang beim Lesen von MDF-Dateien .................................................................................................................... 5 3.1 Funktionen zum Lesen der Signaldaten ................................................................................................................................... 5 4 Funktionsumfang beim Erzeugen von MDF-Dateien* ............................................................................................................ 6 4.1 Funktionen zum Schreiben der Signaldaten* .......................................................................................................................... 6 5 Funktionsumfang beim Ändern von MDF-Dateien* ................................................................................................................ 6 6 Weitere Funktionen** ................................................................................................................................................................6 7 Weitere Informationen .............................................................................................................................................................. 7 7.1 Pflegevertrag.............................................................................................................................................................................. 7 7.2 Lieferumfang für Windows ....................................................................................................................................................... 7 7.3 Lieferumfang für Linux .............................................................................................................................................................. 7 7.4 Systemvoraussetzungen für Windows .................................................................................................................................... 7 7.5 Systemvoraussetzungen für Linux ........................................................................................................................................... 7 V2.0 05/2016 Gültig für MDF4 Lib ab Version 1.5. 2 MDF4 Lib 1 Übersicht 1.1 Einführung MDF (Measurement Data Format) ist ein binäres Dateiformat für Messdaten, das 1991 von Vector in Zusammenarbeit mit der Robert Bosch GmbH entwickelt wurde. Nachdem das MDF-Format sich schnell zum Defacto-Standard in der Automobilindustrie entwickelte, wurde die überarbeitete Version 4.0 im Jahr 2009 schließlich als offizieller ASAM-Standard veröffentlicht. Der aktuelle Stand mit Version 4.1 ist seit 2012 verfügbar. MDF wird vor allem zum Speichern von Messdaten beim Messen und Kalibrieren von Steuergeräten eingesetzt. Mit dem kompakten Binärformat lässt sich sowohl beim Schreiben als auch beim Lesen eine sehr gute Performance erreichen, selbst bei enorm großen Datenmengen. MDF-Dateien enthalten die während einer Messung anfallenden Roh-Messdaten sowie alle Zusatzinformationen, die zur Interpretation der Rohdaten notwendig sind. Die Messdaten können in verschiedenen, auch nicht-äquidistanten Rastern gespeichert werden. Durch die Erweiterbarkeit können besonders ab MDF Version 4.x sehr einfach weitere Informationen in derselben Datei mit abgelegt werden, z.B. zur Protokollierung der Messbedingungen. 1.2 Anwendungsgebiete MDF4 Lib ist eine leistungsfähige 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 Library bietet eine komfortable Schnittstelle mit der Sie auf die Signaldaten und Zusatzinformationen in einer MDF-Datei zugreifen, unabhängig von der jeweiligen MDF-Version (3.x/4.x). Die Schnittstelle ist sowohl für C++ unter Windows und Linux als auch für .NET unter Windows verfügbar. 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). Mit * wird im weiteren Verlauf die Funktionalität gekennzeichnet, welche eine „Schreib-Option“ voraussetzt, mit ** Funktionalität, die nur unter Windows verfügbar ist. 1.3 Die Vorteile im Überblick > 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 3 MDF4 Lib Bild 1: Die Funktionsbibliothek MDF4 Lib bindet Messdatenformate wie MDF3 und MDF4 einfach und schnell in Ihre Applikationen ein. 2 Eigenschaften und Vorteile 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 MDFDatei 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 unter Windows 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. (Unter Linux werden Strings ausschließlich im Unicode UTF-8-Format verarbeitet). 4 MDF4 Lib 2.1 Unterstützte MDF-Versionen > MDF 2.0 bis MDF 2.1 > MDF 3.0 bis MDF 3.3 > MDF 4.0 bis MDF 4.1 Aufgrund der speziellen Eigenschaften des MDF-Formats sind auch MDF-Dateien einer zukünftigen Version 3.x/4.x lesbar solange neu eingeführte Features dies nicht explizit verhindern. Der Zugriff auf neue Features ist natürlich erst nach Aktualisierung der MDF4 Lib möglich. 3 Funktionsumfang beim Lesen von MDF-Dateien Folgende MDF-Features können Sie auslesen: > Formatinformation > Standard- und benutzerspezifische Dateikommentare > Startzeitpunkt der Messung > File-Historie > Kanalgruppen > Kanaleigenschaften wie Name, Kommentar, Quellinformation, Einheit, Umrechnungsregel sowie hierarchische Strukturierungen und Array-Eigenschaften (z.B. Achsenzuordnung) > Attachments (Eigenschaften und Daten) inklusive Speicherung des Attachements in einer neuen Datei > Events (Zeitpunkt und Eigenschaften) wie z.B. Trigger-Ereignisse > Unterstützung aller in MDF 3.3 und MDF 4.1 spezifizierten Umrechnungsregeln > Umrechnung von Rohwerten in physikalische Werte/Strings > Quellinformationen von Kanälen und Kanalgruppen 3.1 Funktionen zum Lesen der Signaldaten > Komfortable Iteration über alle Samples per Autoinkrement > Explizite Navigation in der Zeitreihe für sortierte Dateien durch Positionierung nach Index oder Zeitpunkt > Auslesen des Zeitstempels in Sekunden oder Nanosekunden > Lesen der Signalwerte als Roh- oder als physikalischer Wert > Numerische Werte können abhängig vom Datentyp als DOUBLE oder INT64 gelesen werden (Vermeidung von Rundungsfehlern) > String-Werte werden in die jeweilige Variante (Unicode/MBCS) konvertiert > Rohwerte komplexer Datentypen können als Byte-Array abgefragt werden > Lesen eines Werte-Arrays (Zeitreihe) mit einem einzigen Aufruf > Unterstützung von Signalen mit variabler Länge (MDF4-Feature) > Abfrage des Invalidation Bits (MDF4-Feature) > Lesen komprimierter Datenbereiche (MDF4-Feature ab MDF 4.1) 5 MDF4 Lib 4 Funktionsumfang beim Erzeugen von MDF-Dateien* Folgende MDF-Features können Sie in eine neu erzeugte MDF-Datei schreiben: > Startzeitpunkt der Messung > Kanalgruppen > Kanäle und deren Eigenschaften inkl. deren hierarchischer Strukturierung > Array-Kanäle inkl. Ablageschema und Achsenzuordnung > Quellinformationen von Kanälen und Kanalgruppen > Umrechnungsregeln (alle in MDF 3.3 und MDF 4.1 spezifizierten Typen) > Kommentare für die Messdatei und alle anderen Objekte, die Kommentare unterstützen > Attachments (als externer Verweis oder als eingebettete Daten) > Events wie z.B. Trigger-Ereignisse 4.1 Funktionen zum Schreiben der Signaldaten* > Setzen der einzelnen Signalwerte im aktuellen Sample > Setzen der Invalidation Bits (MDF4-Feature ab MDF 4.0) > Alternativ effizientes Schreiben des gesamten, selbst zusammenbauten Records > Unterstützung von Signalen variabler Länger (MDF4-Feature ab MDF 4.0) > Komprimierung der Signaldaten (MDF4-Feature ab MDF 4.1) > Sortiertes Schreiben (nur Offline Use Case, d.h. nur ein Messraster zur gleichen Zeit) > Überwachung der Dateigröße 5 Funktionsumfang beim Ändern von MDF-Dateien* Folgende MDF-Features können Sie in bestehenden MDF-Dateien ändern: > Startzeitpunkt der Messung > Hinzufügen oder Ändern von Kommentaren (außer in der Datei-Historie) > Hinzufügen neuer Kanalgruppen > Hinzufügen neuer Kanäle > Hinzufügen von Quellinformationen von Kanälen und Kanalgruppen > Hinzufügen von Umrechnungsregeln > Hinzufügen und Entfernen von Attachments > Hinzufügen von Signaldaten zu Kanalgruppen, die noch keine Samples enthalten Die Funktionen zum Schreiben der Signaldaten sind in Kapitel 4.1 aufgeführt. 6 Weitere Funktionen** > Unsortierte MDF-Datei können vor dem Öffnen sortiert werden. Dies ermöglicht den wahlfreien Zugriff innerhalb einer Zeitreihe auf einen bestimmten Index bzw. Zeitpunkt. > MDF-Dateien lassen sich vor dem Öffnen validieren. Fehler und Warnungen werden über ein Callback-Interface zurückgemeldet. > Die MDF4 Lib erkennt MDF-Dateien, die beim Speichern als „unfinalisiert“ gekennzeichnet wurden. Abhängig vom erzeugenden Tool und den erforderlichen Finalisierungsschritten ist es möglich eine solche Datei zu finalisieren. 6 MDF4 Lib 7 Weitere Informationen 7.1 Pflegevertrag Beim Kauf der MDF4 Lib besteht die Möglichkeit, einen Pflegevertrag abzuschließen. Innerhalb der einjährigen Laufzeit des Pflegevertrages können aktualisierte Versionen der MDF4 Lib kostenlos bezogen werden. Ein bestehender Pflegevertrag kann jeweils um ein Jahr verlängert werden. 7.2 Lieferumfang für Windows Zum Lieferumfang der MDF4 Lib unter Windows gehört eine CD-ROM mit der Funktionsbibliothek als Windows-DLL in vier Varianten (Unicode/MBCS sowie 32-/64-Bit), Beispielsanwendungen als Visual-Studio-Projekte mit Quellcode sowie eine Online-Hilfe mit Einführung, Tutorials und der detaillierten Schnittstellen-Beschreibung. 7.3 Lieferumfang für Linux Zum Lieferumfang der MDF4 Lib gehört eine CD-ROM mit der Funktionsbibliothek als Shared Library (.so) in der Variante Unicode UTF-8 64-Bit, eine Beispielsanwendung als CMake-Projekt mit Quellcode sowie eine Online-Hilfe mit Einführung, Tutorials und der detaillierten Schnittstellen-Beschreibung. 7.4 Systemvoraussetzungen für Windows Für den Einsatz der MDF4 Lib unter Microsoft Windows müssen folgende Systemvoraussetzungen erfüllt sein: > C++ Interface: Microsoft Visual C++ ab Version 6.0 > .NET Interface: Microsoft .NET 2.0 Framework oder höher und entsprechende .NET Sprache (z.B. Microsoft Visual C#) > Windows 10/8.1/8/7/Vista (Vista nur 32-Bit) > Für den Zugriff auf XML-Features bei MDF4 ist zusätzlich der Microsoft MSXML Parser V6 erforderlich 7.5 Systemvoraussetzungen für Linux Für den Einsatz der MDF4 Lib unter Linux müssen folgende Systemvoraussetzungen erfüllt sein: > 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 7 Mehr Informationen Besuchen Sie unsere Website für: > News > Produkte > Demo-Software > Support > Seminare und Workshops > Kontaktadressen www.vector.com