.. highlightlang:: us .. index:: Import von MDF4-Dateien .. index:: MDF4-Dateien .. _import-von-mdf4-dateien: .. _import-of-mdf4-files: Import von MDF4-Dateien ======================= Das Addin konvertiert Daten aus dem MDF4-Format in das UniPlot-Datendateiformat NC2. .. note:: Dieses Addin ist eine Beta-Version. Bisher kann UniPlot MDF-Dateien bis zur Version 3.3 lesen (siehe :ref:`import-of-mdf-files`). Dieses Addin ermöglicht das Lesen und Schreiben des neueren Formats "ASAM Common MDF 4.0" des ASAM e.V. .. _installation-mdf4: Installation ------------ * Wählen Sie :ref:`tools-add-in-manager`. * Markieren Sie das Add-In :guilabel:`MDF4-Import`. * Wählen Sie OK. Beenden Sie UniPlot und starten Sie UniPlot neu. .. _benutzung-mdf4: Benutzung --------- * Starten Sie UniPlot. * Wählen Sie :ref:`dateidaten-importieren`. * Wählen Sie den Typ ``MDF4-Datei (*.mf4)`` aus. * Wählen Sie eine oder mehrere MDF-Dateien aus. Programmierung -------------- Der Quelltext des Addins befindet sich in den Dateien :file:`mdf4_read.ic`, :file:`mdf4_write.ic` und :file:`rs_mdf4.ic` im Verzeichnis :file:`addin\\rs_mdf4`. Beispiel für Schreiben:: o = [. n = 1, 1 = [. n = 3, 1 = [. name = "time", data = [0.1,0.2,0.3]], 2 = [. name = "sig1", data = [3,1,7]], 3 = [. name = "sig2", data = [1,1,1]]]] mdf4_create(o, "d:\\test.mf4") API zum Lesen: .. index:: mdf4_libversion .. _mdf4_libversion: mdf4_libversion ............... .. us.tag mdf4_libversion NOTREADYGERMAN mdf4 Liefert die Version der mdf4-Library als String, z. B. ``"4.00 0.4-beta 14 Nov 2013"``. .. function:: s = mdf4_libversion() .. index:: mdf4_open .. _mdf4_open: mdf4_open ............... .. us.tag mdf4_open NOTREADYGERMAN mdf4 Öffnen einer Datei zum Lesen. Die Datei kann mit :ref:`mdf4_close` wieder geschlossen werden. .. function:: oMDF = mdf4_open(ssFile) .. index:: mdf4_open_groups .. _mdf4_open_groups: mdf4_open_groups .................. .. us.tag mdf4_open_groups NOTREADYGERMAN mdf4 .. function:: oGroups = mdf4_open_groups(oMDF) .. index:: mdf4_groups_count .. _mdf4_groups_count: mdf4_groups_count .................. .. us.tag mdf4_groups_count NOTREADYGERMAN mdf4 .. function:: n = mdf4_groups_count(oGroups) .. index:: mdf4_open_group .. _mdf4_open_group: mdf4_open_group ................ .. us.tag mdf4_open_group NOTREADYGERMAN mdf4 Öffnet eine Gruppe. *iGroup* beginnt bei 1. Siehe auch :ref:`mdf4_groups_count`. .. function:: oGroup = mdf4_open_group(oGroups, iGroup) .. index:: mdf4_open_channels .. _mdf4_open_channels: mdf4_open_channels ................... .. us.tag mdf4_open_channels NOTREADYGERMAN mdf4 Öffnet die Kanäle einer Gruppe. .. function:: oChannels = mdf4_open_channels(oGroup) .. index:: mdf4_channels_count .. _mdf4_channels_count: mdf4_channels_count .................... .. us.tag mdf4_channels_count NOTREADYGERMAN mdf4 .. function:: n = mdf4_channels_count(oChannels) .. index:: mdf4_open_channel .. _mdf4_open_channel: mdf4_open_channel .................. .. us.tag mdf4_open_channel NOTREADYGERMAN mdf4 .. function:: oChannel = mdf4_open_channel(oChannels, iChan) .. index:: mdf4_channel_get_data .. _mdf4_channel_get_data: mdf4_channel_get_data ..................... .. us.tag mdf4_channel_get_data NOTREADYGERMAN mdf4 .. function:: data = mdf4_channel_get_data(oChannel) .. index:: mdf4_close .. _mdf4_close: mdf4_close ............ .. us.tag mdf4_close NOTREADYGERMAN mdf4 .. function:: b = mdf4_close(oMDF) .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Beschreibung * - R2023.1 - Unterstützt leere ``cg_md_comments`` für die Erstellung von Gruppen mit ``cg_tx_acq_name``. * - R2020.1 - Bus Logging für CAN Bus Daten (8 Byte Nutzdaten) wurde hinzugefügt. Um diese Funktion zu nutzen, muss das CAN-Addin aktiviert sein und DBC-Dateien müssen ausgewählt werden. Siehe :ref:`import-of-can-files`. CAN-FD, LIN, FlexRay, MOST und ETH werden in einer späteren Version hinzugefügt. * - R2020.1 - Der Skalierungstyp 8 wurde nicht unterstützt. Wenn der Skalierungstyp in der MDF4-Datei vorkommt, wird das neue Kanalattribut ``_nc_enum_range`` hinzugefügt. Es enthält einen Bereich min:max und einen gültigen Text für den Bereich, getrennt durch ein ``|`` Zeichen. * - R2015.6 - Channel Array Block (CABlock) wird gelesen, wenn die Dimension 1 ist. * - R2015.1 - Gezippte Kanäle werden gelesen und Reihe von Fehlern entfernt. ``mdf4_dump(ssFile)`` verbessert. * - R2014.2 - Es werden nun auch Daten der MDF-Version 4.1 gelesen. Gezippte Daten werden aber noch nicht verarbeitet. Zusätzlich werden nun Kopfdaten in die NC-Datei geschrieben. Die Gruppenkommentare werden gelesen. * - R2013.15 - String-Kanäle werden geladen. (cn_data_type = 6). Unicode-Kanäle werden als ANSI-Text gespeichert. * - R2013.11 - Enthielten DT-Blöcke mehr Daten als in ``cg_cycle_count`` angegeben, konnten die MF4-Dateien nicht gelesen werden * - R2013.9 - Fehler Korrektur: Berücksichtigung, dass die Blöcke unvollständige Rekords am Anfang und Ende enthalten können. * - R2013.8 - Fehler Korrektur: Der Import von MDF4-Dateien mit Kanäle mit dem Datentyp char und complex konnten nicht geladen werden. Die Kanäle werden nun ignoriert und enthalten in der NC-Datei ungültige Werte. Kanalgruppen mit 0 Punkten konnten nicht importiert werden. * - R2012.3 - Neu. Beta-Version 1. :sub:`id-2117679`