|
|
Logfile-Analyse mit Matlab |
|
JulianGlaab |

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 12.06.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.04.2016, 13:17
Titel: Logfile-Analyse mit Matlab
|
 |
|
 |
|
Hallo Forum,
ich habe Logfiles eines Roboters im Format .log in das alle möglichen Daten aus verschiedenen Datenquellen zu jedem einzelnen Prozesschritt geschrieben werden, v.a. Steuerungswerte, Positionsdaten, Messwerte verschiedener Sensoren und Bildverarbeitungsdaten.
Ich möchte die Daten zu Analysezwecken aus dem File extrahieren und in tabellarischer Form speichern.
Das Problem ist, dass das Logfile ziemlich unstrukturiert ist und eher aus "Fließtext" mit gelegentlich eingestreuten Werten besteht.
Die aufgezeichneten Werte unterscheiden sich abhängig von der Datenquelle (Sensor / Steuerung) teils stark im Format (Matrizen vs. Integers vs. Strings) und auch im Umfang.
Mit den üblichen Funktionen textscan / scanff kommt man hier also nicht recht weit.
Habe gerade im Moment leider kein Beispiel-File zur Hand.
Meine Frage an euch:
Habt ihr Ideen, wie eine allgemeine Strategie zur Datenverarbeitung hier aussehen könnte? Das Skript soll natürlich möglichst robust und schnell laufen (für Matlab-Verhältnisse ) und einfach anpassbar sein, falls neue Datenquellen hinzukommen.
Vielen Dank schon mal!
Gruß
Julian
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 28.04.2016, 14:29
Titel:
|
 |
Hallo,
stelle doch bitte ein oder bessere mehrere Log-Files zur Verfügung, damit man sich ein Bild davon machen kann.
Grundsätzlich muss man als Anwender wissen, welche Informationen aus der Datei extrahiert werden sollen bzw. nach welchen Kriterien sie ausgewählt werden sollen. Dann ist durchaus möglich, dass man doch mit textscan weiterkommt.
Auch reguläre Ausdrücke könnten hier hilfreich sein.
Wenn es eine gewisse Anzahl verschiedener Formate gibt, kann es hilfreich sein, eine Fallunterscheidung durchzuführen.
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 28.04.2016, 14:53
Titel: Re: Logfile-Analyse mit Matlab
|
 |
Hallo JulianGlaab,
Die Frage ist zu allgemein formuliert, um beantwortet werden zu können. Bzw. ich kann nur antworten: "Nein, ich habe keine Idee, da ich keine konkreten Informationen haben."
"Robust, schnell und einfach anpassbar" schließt sich gegenseitig aus. Das ist natürlich ein Traumziel, aber nicht mit vertretbarem Aufwand zu meistern.
Die benötigten Information sollten im Manual des Roboters zu finden sein. Wenn die Log-Files nicht erratisch sind, sondern bestimmten Regeln gehorchen, wäre es unbedingt notwendig, diese Regeln genau zu kennen. Einfach nur aus dem Erscheinungsbild von ein paar Files zu erraten, wie es gemeint sein könnte, wird nie zuverlässig sein. Was liegt Dir dazu als Dokumentation vor?
Gruß, Jan
|
|
|
JulianGlaab |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 12.06.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.04.2016, 18:11
Titel:
|
 |
|
 |
|
Hallo Harald und Jan,
danke für eure Antworten.
@Jan: Es wäre natürlich der sauberste Ansatz, anhand des Quellendes zu rekonstruieren, wie der Roboter/Steuereinheit das Logfile erstellt. Nur ist der Quellcode leider nicht frei einsehbar. Mal sehen ob die Dokumentation da mehr weiß.
Ich habe mal ein Beispielsfile angehängt fürs Verständnis. (eigentlich .log konnte das aber nicht uploaden, darum .txt)
Es sollen unter anderem folgende Werte ausgelesen in Variablen gespeichert werden:
- "start get laser"
- Verkippung
- +++ LaserValues +++
- Taches en cours
- Regler Eclairage
- BV
- Force
- Soll-Winkel
- Pick-Winkel
- Delta-Winkel
Mein Ansatz ist es mit regulären Ausdrücken zu arbeiten. Dazu würde ich das File komplett als String einlesen und die gewünschten Werte anhand von "Keywords" im String suchen. Extraktion im entsprechenden Format dann mit bspw. mit scanf().
Um das ganze flexibel erweiterbar zu strukturieren würde ich dem Skript pro Ausgabewert die Keywords mit Spezifizierung des Formats in einem Specification-File (bspw. Excel) zur Verfügung stellen. Das Skript müsste dann nur in einer Schleife den Prozess für alle im Specification-File angegebenen Ausgabewerte durchlaufen.
Wie findet ihr den Ansatz? Habt ihr vielleicht Ideen für eine "schlankere" Methode?
Danke!
Schönes Wochenende!
Gruß
Julian
Beschreibung: |
|
 Download |
Dateiname: |
20151201_fertigung_1_2.txt |
Dateigröße: |
95.84 KB |
Heruntergeladen: |
633 mal |
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 29.04.2016, 20:01
Titel:
|
 |
Hallo,
wenn du lediglich nach Schlüsselwörtern in Zeilen suchen und dann den Rest der Zeile oder auch die nächste Zeile verarbeiten willst, halte ich reguläre Ausdrücke für überzogen. Dafür sollte dann eine Schleife über
fgetl
und
strfind
reichen.
Grüße,
Harald
|
|
|
JulianGlaab |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 12.06.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.05.2016, 15:19
Titel:
|
 |
Vielen Dank!
mit strfind hat das meiste recht gut geklappt!
Viele Grüße
Julian
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|