.. highlightlang:: us .. index:: Import von MDF-Dateien .. index:: MDF-Dateien .. index:: VS100 .. index:: INCA .. _import-von-mdf-dateien: .. _import-of-mdf-files: Import von MDF-Dateien ====================== Das Addin konvertiert Daten aus dem MDF-Format in das UniPlot-Datendateiformat NC2. MDF-Dateien werden beispielsweise von den Messsystemem VS100/INCA der Fa. ETAS GmbH, Drive-Recorder der Fa. IAV GmbH und CANalyzer der Fa. Vector Informatik GmbH verwendet. .. _installation-vs100: Installation ------------ * Wählen Sie :ref:`tools-add-in-manager`. * Markieren Sie das Add-In :guilabel:`MDF-Import`. * Wählen Sie OK. Beenden Sie UniPlot und starten Sie UniPlot neu. .. _benutzung-vs100: Benutzung --------- * Starten Sie UniPlot. * Wählen Sie :ref:`dateidaten-importieren`. * Wählen Sie den Typ ``MDF-Datei (*.dat; *.mdf)`` aus. * Wählen Sie eine oder mehrere MDF-Dateien aus. * Um einen Datensatz (Kurve) zu erzeugen, wählen Sie als Typ ``2D: y/t MDF/INCA/CAN`` aus. Bei diesem Typ wählen Sie nur das Signal aus. Der entsprechende Zeitkanal wird automatisch ausgewählt. .. _konfiguration-vs100: Konfiguration ------------- Über das Dialogfeld :guilabel:`Extras=>MDF Konfiguration (Inca)` kann die Erzeugung der Kanalnamen festgelegt werden. .. image:: S:/uniplot-obj/images/Inca-ConfigurationDlg-de.* Optionen: **Gruppennamen aus Kanalnamen entfernen (Gxx_)**: Wenn diese Option eingeschaltet ist, wird der Gruppenname nicht von den Kanalnamen geschrieben. Falls die Datei mehrere Zeitgruppen enthält, werden die Namen der Zeitkanäle durch eine folgende Nummer durchnummeriert, z. B. time, time2, time3 usw. **Gerätenamen aus Kanalnamen entfernen**: Der Gerätenamen ist durch einen Backslash vom Kanalnamen getrennt. Wenn diese Option eingeschaltet ist, wird der Teil nach dem Backslash vom Namen abgeschnitten. **CAN Id aus Kanalnamen entfernen (_CANXX)** Falls die Option nicht markiert ist, wird der Text _CANXX an den Kanalnamen angehängt, wobei XX durch die Nachrichten-Id ersetzt wird. Der Text wir nur bei CAN-Kanälen angehängt. **Verwende MDF Anzeigenamen als Kanalnamen**: Wenn diese Option markiert ist, werden der Anzeigename als Kanalnamen verwendet. Falls die MDF-Dateien über ein Skript geladen werden sollen, können Sie die Optionen auch im Skript festlegen:: WriteProfileInt("Settings", "MDF_StripDeviceName", 1); WriteProfileInt("Settings", "MDF_StripGroupName",1); WriteProfileInt("Settings", "MDF_UseDisplayNames", 0); WriteProfileInt("Settings", "MDF_StripCANID", 1); Attribut mdfComment ------------------- Das Attribut ``mdfComment`` kann mehrzeilig sein. Falls eine Zeile des Attributs einen Doppelpunkt enthält, wird der Text vor dem Doppelpunkt als Attributname und der Text nach dem Doppelpunkt als Attributwert interpretiert. Die Zeilen, die einen Doppelpunkt enthalten, werden aus dem Kommentar entfernt. Beispiel: :: Startfahrt Motor: x1234 Kilomenter: 1234 In der NC-Datei entsteht dann z. B. das Motor = ``x1234``, Kilometer = ``1234``. Das Attribut ``mdfComment`` hat danach den Wert ``Startfahrt``. .. _format-vs100: Format ------ Die Messdaten sind in der MDF-Datei nach Gruppen sortiert. In einer Gruppe sind alle Signale gespeichert, die mit der gleichen Zeitreferenz aufgezeichnet wurden. In der netCDF wird die Gruppenzugehörigkeit durch ein vorangestelltes ``G`` gefolgt von einer Gruppennummer angezeigt. Beispiel: ``G1_ZWSTAT``. Für jede Gruppe wird in der netCDF-Datei ein Zeitsignal gespeichert. Die Messdaten werden in der netCDF-Datei im Datenformat float (4 byte) in der angegebenen physikalischen Einheit gespeichert. Im Zeitkanal jeder Gruppe werden Triggerinformationen gespeichert, falls die MDF-Datei entsprechende Trigger-Informationen enthält. Dazu werden die folgenden Attribute gespeichert: ``tr_trig_time``, ``tr_trig_pre``, ``tr_trig_post``, ``tr_condition`` und ``tr_wincount``. Das Attribut ``tr_wincount`` enthält die Anzahl der in den Attributen ``tr_trig_time``, ``tr_trig_pre``, ``tr_trig_post`` gespeicherten Trigger-Zeiten. Es ist nicht erforderlich, dass im Importdialog für jedes Signal der entsprechende Zeitkanal ausgewählt wird (Beispiel: X: ``G2_Zeit``, Y: ``G2_vfzg``). Sie können für X einfach den Zeitkanal ``G1_Zeit`` auswählen und dann einen Kanal aus einer beliebigen Zeitgruppe wählen (Beispiel: X: ``G1_Zeit``, Y: ``G2_vfzg``). Es können Signale aus unterschiedlichen Zeitgruppen korreliert werden. Das Programm berechnet durch lineare Interpolation die fehlenden Datenpunkte so, daß beide Signale die gleichen Stützstellen verwenden (Beispiel: X: ``G1_Lst``, Y: ``G2_vfzg``). Parameter, die aus der Windows-Registrierdatenbank gelesen werden: .. list-table:: :header-rows: 1 * - Schlüssel - Datentyp - Default-Wert - Bedeutung * - Settings\\missing_string - String - \*\*\*\*\*\* - Zeichenkette um ungültige Werte zu markieren. Wird von der Funktion zum Kopieren von Daten aus dem Dateneditor verwendet. * - Settings\\MDF_StripDeviceName - Zahl - 0 - Flag für den MDF-Import, z. B. INCA/VS100. Falls das Flag den Wert 1 hat, wird bei MDF-Kanalnamen der Name am ersten Backslash abgeschnitten. Normalerweise wird der Gerätename getrennt durch einen Backslash an den Kanalnamen angehängt. Defaultwert ist 0. Beispiel: G3_InjCrv_phiMI1Des_ETKC_1 (Name mit Gerätenamen ETKC), G3_InjCrv_phiMI1Des (Name ohne Gerätenamen). * - Settings\\MDF_StripGroupName - Zahl - 0 - Flag für den MDF-Import, z. B. INCA/VS100. Falls das Flag den Wert 1 hat, wird bei MDF-Kanalnamen der Gruppenname entfernt. Defaultwert ist 0. Beispiel: G3_InjCrv_phiMI1Des_ETKC_1 (Name mit Gruppenname), InjCrv_phiMI1Des_ETKC_1 (Name ohne Gruppenname). * - Settings\\MDF_StripCANID - Zahl - 1 - Falls die Option nicht markiert ist, wird der Text ``_CANXX`` an den Kanalnamen angehängt, wobei ``XX`` durch die Nachrichten-Id ersetzt wird. Der Text wir nur bei CAN-Kanälen angehängt. * - Settings\\MDF_UseDisplayNames - Zahl - 0 - Wenn der Wert 1 ist, wird der Displayname als Kanalname verwendet. Die Optionen können mit :ref:`WriteProfileString` gesetzt werden:: WriteProfileInt("Settings", "standard-netcdf-files", 1) WriteProfileInt("Settings", "MDF_StripGroupName",1); WriteProfileInt("Settings", "MDF_StripDeviceName", 1) WriteProfileInt("Settings", "MDF_UseDisplayNames", 0); WriteProfileInt("Settings", "MDF_StripCANID", 1); Siehe auch :ref:`uniplot's-verwendung-der-registrierdatenbank`. Mit Hilfe des Kanal-Attributs ``C_format`` kann ein Kanal z. B. in Hexadezimalschreibweise angezeigt werden. Beispiel ``0x%08x``. Das Format kann im Browser für den gewünschten Kanal eingeben werden. Vorgehen: * MDF-Datei importieren/öffnen, * den Schalter **>>** drücken. Kanal auswählen. * In der Attributliste das Attribut ``C_format`` anklicken. * Den Formattext ``0x%08x`` eingeben und **Setze** drücken. Norm-Namen ---------- Das Addin :ref:`norm-names` kann für die Umsetzung der Kanalnamen verwendet werden. Beispielsweise könnte der Name ``Motor_01_BZ_Drehzahl_CAN1`` durch den Namen ``speed`` ersetzt werden. Die Umsetzung der Namen wird dann automatisch beim Laden der MDF-Datei durchgeführt. Default-Schema-Name ist MDF. In der Normnamentabelle muss also eine Spalte mit dem Namen MDF in Zeile 1 der Excel-Datei eingefügt werden. Alternativ kann auch der Wert eines globalen Attributs in der Excel-Datei verwendet werden, z. B. ``Project=x123``. Dazu wird mit dem folgenden Aufruf der Name des Attributs in die Registry eingetragen:: WriteProfileString("NormName", "mdf_scheme_name", "Project"); Dieser Aufruf muss einmal auf jedem Rechner ausgeführt werden. Für diesen Fall wird als Schema Name ``x123`` in die Excel-Datei eingetragen. .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Beschreibung * - R2015.10 - Neue Option Settings\\MDF_StripCANID. Neue Version 3.7.3. * - R2013.8 - Neue Attribute MDF-Format und MDF-Program. Bei MDF-Dateien die mit DIAGRA M (RA Consulting GmbH, http://www.rac.de) erzeugt wurden, wird bei Zeitkanälen die Einheit s eingetragen. Neue Version 3.7.2. * - R2013.6 - Falls ein Zeitkanal nicht streng monoton aufsteigende Werte besitzt, wird auf die folgenden gleichen Zeitpunkte jeweils ein kleiner Korrekturwert (1e-12) addiert um sicher zu stellen, das die Werte streng monoton aufsteigend sind. * - R2013.1 - Normnamen Umsetzung eingebaut. * - R2012.4 - Falls die MDF-Datei nicht sortiert ist, wird sie zunächst sortiert. Die Ergebnis-Datei wird in dem Verzeichnis der nc2-Datei gespeichert. An den Namen werden die Zeichen ``_sorted`` angehängt. * - 5.11.2 - Leeres Kanal-Attribut ``C_format`` zugefügt. * - 4.2.5 - MDF-Anzeigenamen können als Kanalnamen verwendet werden. :sub:`id-1494772`