Visualisierung von Messdaten

Herausforderungen im Härtebestimmungsprojekt

Bei der zerstörenden Härteprüfung wird ein Eindruck in den Werkstoff eingebracht. Je nach Verfahren unterscheiden sich der apparative Aufbau und die Auswertekriterien. Allen Verfahren ist jedoch gemeinsam, dass sie nur eine punktuelle Bestimmung der Härte ermöglichen. Im Gegensatz dazu ermöglicht das µmagnetische QASS Messsystem eine kontinuierliche Messung entlang eines Weges, z.B. an einem Blech oder einem Endlosband. Im Gegensatz zu anderen Anwendungen des QASS Optimizers, in denen der Prozesstakt in Sekunden oder Minuten gemessen wird, haben wir es hier mit Analyse- und Aufzeichnungsdauern von Stunden oder Tagen zu tun. Da die Rohdatenmenge 2 TB pro Tag übersteigt, sind effektive Auswertungen und Kompressionen gefragt.


Effiziente Datenverarbeitung und -reduktion

Geschicktes Filtern und Komprimieren entscheidet wesentlich über den Erfolg der Datenanalyse. Es gibt ML Methoden, mit denen wir die relevanten Attribute in den Daten finden können. Wir speichern zunächst unkomprimierte Rohdaten, wählen dann passende Kompressionen und Filter und arbeiten i.d.R. auf reduzierten Daten, die dennoch die wichtigen Informationen enthalten, oder diese sogar hervorheben. Rohdaten werden rollierend gelöscht, sodass immer ein aktueller Rohdatenbestand erhalten bleiben kann. 
Die Daten sollen in ihren jeweiligen Kompressionsstufen visualisiert werden können, womit wir "Humans" sie auf Plausibilität überprüfen können. 
Prozessdaten, die einen Einfluss auf die gemessene Magnetfeldantwort haben, werden parallel mit aufgezeichnet, um ihren Einfluss im weiteren Verlauf kompensieren zu können (zum Beispiel die Abstände des Sensors von der Metalloberfläche). Andere Daten korrelieren evtl. mit beobachten Härteveränderungen (Dauer der Wärmebehandlung, Legierungsänderungen).


Visualisierung von Zeitreihendaten

Je nachdem welche Art von Daten visualisiert werden sollen, gibt es unterschiedliche Möglichkeiten. Für Zeitreihen, also Daten, die sich mit der Zeit ändern, bieten sich Linien und Streudiagramme an. Diese lassen sich in Python ohne größeren Aufwand realisieren. 
Abbildung 1 zeigt ein kurzes Programm, um eine Sinuskurve zu zeichnen. Die Daten sind in zwei Arrays enthalten, X_arr enthält dabei die x-Werte, die von -10 bis 10 mit einer Schrittweite von 0,2 gehen, Y_arr enthält die dazugehörigen Sinuswerte. 


Abbildung 1:  Python Programmbeispiel für ein Linien- und Streudiagramm.

Das Ergebnis wird in Abbildung 2 gezeigt. Genauso gut kann man, statt Werte zu berechnen, Daten aus einer CSV-Datei lesen. 


Abbildung 2:  Ergebnis des Programmbeispiels in Abbildung 1.

In Abbildung 3 ist genau das gemacht worden. Visualisierung im Browser mit streamlit:  gemessene Magnetfeldänderungen zu Signalenergien summiert (orange) , Laser-vermessene Abstandswerte (blau) in der oberen  Hälfte des Diagramm dargestellt. In der unteren Hälfte sind dagegen die Prozesstemperatur (rot) und die Vorschubgeschwindigkeit (weiß) zu sehen. 


Abbildung 3:  Zeitreihendiagramme in einer QASS-Anwendung.

In Abbildung 3 fällt auf, dass sich Änderungen in der Geschwindigkeit auf die gemessenen Energiewerte und damit auf die darauf basierenden Härtewerte auswirken. Die geringere Geschwindigkeit bewirkt ein längeres Verweilen in der Erwärmungszone, was zu einer stärkeren Abnahme der Härte führen, und sich in erhöhten Energiewerten manifestiert.


Visualisierung mehrdimensionaler Daten

Nicht immer sind die Daten Zeitreihen. Manchmal sind es Arrays, die eine Fläche beschreiben oder die Veränderung mehrerer Variablen. Das QASS µmagnetic Messsystem nutzt einen physikalischen Effekt aus, der vor rund 100 Jahren, 1918, von dem deutschen Physiker Heinrich Georg Barkhausen entdeckt wurde und der ausschließlich bei ferromagnetischen Materialien auftritt. Anders als Heinrich Georg Barkhausen, der das Phänomen Barkhausenrauschen nannte, weil er die magnetischen Prozesse, die sich im Inneren von Materialien abspielten, hörbar machte, wendet QASS die Methoden der Spektralanalyse auf das Rauschen an. Nach der Fourier Transformation liegt das Zeit-Amplituden-Signal als Zeit-Frequenz- Amplituden-Signal vor. Abbildung 4 ist ein kurzes Python Programm, das real gemessene Daten nutzt. Die Daten liegen als dreidimensionales Array  mit den Auflösungen (93, 64, 78) vor.


Abbildung 4:  Python Programmbeispiel, um Arrays oder Flächendaten zu visualisieren.

Dargestellt ist der Mittelwert über alle Barkhausen-Hügelpaare in einem 1,3 Sekunden Intervall, wie man ihn auch nach der Fourier-Transformation in der QASS Analyzer4D Software sehen würde. Das Bild wird in Abbildung 5 gezeigt. Jeder dieser farblich auffälligen Hügel entspricht der Materialantwort einer Magnetisierung in eine Richtung. Die Frequenz des magnetischen Wechselfeldes beträgt 400Hz. Das heißt eine Periode, also zwei Wechsel der magnetischen Orientierung, dauert 2,5 Millisekunden. 


Abbildung 5:  Real gemessenes Ergebnis einer µmagnetischen Vermessung.

Abbildung 6 zeigt ein anderes Beispiel einer Fläche. Hier wurde die Oberfläche von Zähnen in einem Hohlrad, wie man es in Planetengetrieben für Windkraftanlagen findet, auf Schleifbrand untersucht. Konkret dargestellt ist das Messergebnis von künstlich eingebrachten Anomalien. 

Die Analyse wird ebenfalls durch berührungsloses Messen von Barkhauseneffekten realisiert. Zur Erkennung auch dünnschichtiger Härteanomalien, durch Schleiffehler wird das anregende Magnetfeld allerdings mit 4kHz alterniert. Der Sensor wird mit ca. 600mm/s am Zahn entlang geführt.


Abbildung 6:  Beispiel für künstlich eingebrachte Anomalien in die Zahnflanken eines Hohlrades.

In der Abbildung 7 ist der Befund bei Zahnflanken ohne Schleifbrand dargestellt und in Abbildung 8 wird gezeigt, wie sich Schleifbrand im Messergebnis darstellt.

Grün entspricht der Referenzhärte, Rot einer Neuhärte- und Blau einer Anlasszone.


Abbildung 7:  Reale µmagnetische Vermessung von Zahnflanken ohne Schleifbrand.


Abbildung 8:  Reale µmagnetische Vermessung von Zahnflanken mit Schleifbrand.


Die Lösung für benutzerfreundliche GUIs und Diagramme

Es ist offensichtlich, dass das Erstellen von ansprechenden Diagrammen unproblematisch ist. Nichtsdestotrotz ist es mit einem entsprechenden Aufwand verbunden für jedes neue Bauteil, Zahnrad oder Blech ein eigenes kleines Programm zu schreiben. Das Programmbeispiel in Abbildung 4 zeigt in Zeile 4, dass dort der Pfad zur Datei angegeben wird. Wenn man dort eine andere Datei angibt oder besser noch einen Mechanismus hätte, um aus einer Liste eine Datei auszuwählen, dann wäre man ein großes Stück weiter.

Um eine derartige Benutzerschnittstelle (GUI von Graphical User Interface) zu erstellen bietet sich unter Python Streamlit an. Streamlit ist eine Bibliothek, die genau das in einem Internet-Browser liefert. Abbildung 9 zeigt ein kleines Programmbeispiel, um eine Datei aus einer Liste auszuwählen. Das Ergebnis (Ausschnitt) ist in Abbildung 10 zu sehen. Nicht einmal 10 Zeilen Programmcode sind notwendig, um den Grundstein für eine derartige Funktionalität zu legen. 


Abbildung 9:  Python Programmrumpf für eine Streamlit Anwendung.


Abbildung 10:  Ergebnis des Programmrumpfs in Abbildung 9 (Ausschnitt aus einem Web-Browser).

Die folgenden Abbildungen zeigen schließlich Seiten aus Streamlit Anwendungen, die möglichst viele Informationen zur Beurteilung der Prozessabläufe bereitstellen.

Wir setzen sie sowohl während des Prototypings als auch später als User-GUI ein.

Bei dieser Seite handelt es sich um eine Seite mit Eingabefeldern, Schaltflächen, Diagrammen und Tabellen, deren Inhalte sich programmgesteuert ändern, nachdem bestimmte Eingaben vorgenommen wurden.

Die Seiten können über das Internet live geteilt werden.

 

QASS Streamlit Anwendung