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