Viele industrielle Prozesse beinhalten Parameter, die zumindest während eines Teils der Fertigungssequenz dynamisch sind, z. B. Temperatur oder Druck in einem chemischen Batch-Reaktor oder Vakuumrampe im Autoklaven. Für die Chargenkonsistenz ist es wichtig, eine Methode zu finden, diese dynamischen Produktions- oder Rüstphasen ähnlich wie bei der Überwachung der stationären Produktion mithilfe von Regelkarten zu vergleichen.
Mit JMP lassen sich in wenigen einfachen Schritten dynamische Kontrollgrenzen aus einer Reihe repräsentativer Chargen erstellen. Zukünftige Chargen können anschließend im Graph Builder überlagert werden, um sicherzustellen, dass sie innerhalb dieser historischen Grenzen liegen. Diese Demonstration zeigt die Schritte zur Erstellung der Kontrollgrenzen und deren Verwendung für Chargenvergleiche. Einige Herausforderungen im Umgang mit dieser Art von Daten werden erläutert.
Willkommen zu meinem Vortrag über die Regelkartenerstellung für dynamische Prozesse. Statistische Prozesskontrolle (SPC) wird seit vielen Jahren eingesetzt, um Prozesse zu überwachen, die um einen festgelegten Sollwert schwanken. Der Prozess wird über die Zeit überwacht, und die Schwankungen lassen sich in zwei Komponenten unterteilen: die Streuung aufgrund natürlicher Ursachen, die im gesamten Prozess konstant vorhanden ist und immer bestehen bleibt, solange keine grundlegenden Prozessänderungen vorgenommen werden, und die Streuung aufgrund besonderer Ursachen, die entsteht, wenn ein Prozess außer Kontrolle gerät, weil ein externer Faktor die Streuung erhöht hat.
Viele industrielle Prozesse weisen jedoch keine Schwankungen um einen Sollwert auf. Es gibt zahlreiche Batch-Prozesse, bei denen die Charge über einen bestimmten Zeitraum nach einem vorgegebenen Rezept mit vordefinierten Schritten verarbeitet wird, wobei Temperatur, Druck und Vakuum im Laufe der Zeit erhöht werden können. Beispiele hierfür sind die Umwandlung von Monomeren in Polymere in einem Batch-Reaktionsgefäß oder die Erhöhung von Vakuum oder Druck in einem Mischer, um den Lösungsmittelgehalt oder den Feuchtigkeitsgehalt des Materials zu steuern. Wir benötigen dennoch eine Methode, um sicherzustellen, dass wir von Charge zu Charge konsistente Ergebnisse erzielen, dass sich der Prozess über die Zeit konstant verhält und um Materialchargen zu identifizieren, die nicht dem Standardprozess entsprechen.
Diese Präsentation demonstriert einen pragmatischen visuellen Ansatz, um diesen Prozessen im Laufe der Zeit Grenzen zu setzen, um Abweichungen im Prozess zu überwachen, aber auch um die Einrichtung und Abkühlung von Produktionsanlagen, die Zustandsüberwachung, zu betrachten und sicherzustellen, dass diese Anlauf- und Abkühlphasen im Laufe der Zeit konsistent sind.
Beispiele aus meiner Branche sind Chargenmischer, in denen ein Monomer zugegeben, erhitzt, auf einer konstanten Temperatur gehalten und anschließend abgekühlt wird. Mit diesem Verfahren lässt sich die Temperatur über die Zeit überwachen, aber auch andere Parameter wie das Drehmoment des Motors, das den Polymerisationsgrad anzeigen kann. Ein weiteres Beispiel ist ein Autoklav, in dem wir Kohlenstofffaser-Verbundwerkstoffe mit Vakuum und Temperatur – ebenfalls mit einer vordefinierten Rate – behandeln. Wir können Haltephasen einbauen, in denen das Material für eine bestimmte Zeit auf einer bestimmten Temperatur gehalten und anschließend abgekühlt wird.
Ein Beispiel für die Anwendung dieser Technik zur Zustandsüberwachung sind Doppelschneckenextruder. Hier wird mittels mehrerer Vakuumpumpen ein Vakuum erzeugt, um die flüchtigen Bestandteile aus dem Harz zu entfernen. Wir möchten sicherstellen, dass diese Vakuumpumpen optimal eingestellt sind. Wir beobachten die Anlaufphase der Vakuumpumpen, in der sie zu Beginn des Produktionslaufs vom Atmosphärendruck auf den definierten Sollwert herunterfahren. Alle diese Prozesse, bei denen sich die Prozessparameter im Laufe der Zeit ändern, eignen sich für diesen Ansatz.
In diesem Fall stammen die Daten aus unserem Datenarchiv. Zum Glück werden sie elektronisch erfasst. Wir haben mehrere Chargen übereinander gestapelt, die hier als „Datenhersteller“ gekennzeichnet sind. Ich habe hier 21 Materialchargen, jede mit einer anderen Chargennummer. Als Prozessparameter habe ich das Vakuum und die vordefinierten Zeitintervalle. Die Daten wurden alle 5 Sekunden erfasst, und ich weiß, dass jede Charge den Sollwert von 210 Millibar innerhalb von maximal 17 Minuten erreichen sollte. Das ergibt 205 Datenzeilen für jede Charge, die in diesen 5-Sekunden-Intervallen hergestellt wurde. Hier sind meine Daten für 21 Chargen.
Ich muss diese Daten jetzt erfassen und so aufbereiten, dass ich den Normalbereich der Werte für jedes Zeitintervall berechnen kann. Dazu teile ich meine Datentabelle auf und erstelle für jedes Zeitintervall eine Spalte (5, 10, 15 Sekunden usw. bis zur 17-Minuten-Marke). Für jede hergestellte Charge erhalte ich eine Datenzeile. Da ich Daten von 21 Chargen habe, verwende ich 15 davon, um die Kontrollgrenzen festzulegen. Anschließend vergleiche ich die Daten der folgenden sechs Chargen mit diesen Kontrollgrenzen, um sicherzustellen, dass der Prozess weiterhin normal, stabil und vorhersehbar verläuft.
Ich nehme meinen gestapelten Datensatz. Dann gehe ich auf „Tabellen“ und anschließend auf „Aufteilen“. Als Prozessparameter für die Aufteilung wähle ich das Vakuum. Ich teile die Spalten nach dem Vakuum auf. Die Daten gruppiere ich nach der Chargennummer, sodass ich für jede Chargennummer eine Datenzeile erhalte. Für jedes Zeitintervall benötige ich jedoch eine Datenspalte, daher teile ich die Daten nach der Zeit auf. In der Vorschau können wir überprüfen, ob die Daten das erwartete Format haben. Wir haben eine Zeile für jede Charge und eine Spalte für jedes Zeitintervall. Wenn wir damit zufrieden sind, klicken wir auf „OK“, und es wird eine Datentabelle erstellt. Wie bereits erwähnt, verwenden wir die ersten 15 Chargen, um die Kontrollgrenzen zu erstellen. Das bedeutet, dass ich die letzten sechs Chargen ausblende und ausschließe. Meine Datentabelle sieht nun aus wie die in der Präsentation.
Nun muss ich die Kontrollgrenzen für jedes dieser Zeitintervalle berechnen. Dazu betrachte ich den zu erwartenden Vakuumwert für jeden Zeitpunkt. Ich ermittle den Mittelwert und die Kontrollgrenzen um diesen Mittelwert. Welche Druckschwankungen sind im 5. und 10. Zeitintervall usw. zu erwarten?
Ich erstelle individuelle gleitende Spannweitendiagramme, da jeder Lauf unabhängig und separat eingerichtet wurde. Wir benötigen für jedes Zeitintervall ein eigenes Diagramm und achten darauf, dass sie zeitlich geordnet sind, also nach Datenhersteller sortiert werden. Es müssen 205 Kontrollkarten generiert werden, die Erstellung dauert nur wenige Sekunden.
Ich habe nun für jeden Zeitraum ein separates Diagramm mit gleitenden Spannweiten, wobei der Zeitraum in der Diagrammbeschreibung angegeben ist. Ich kann diese Diagramme durchblättern und überprüfen, ob sie ausschließlich auf übliche Schwankungen zurückzuführen sind. Es dürfen keine ungewöhnlichen Datenpunkte vorhanden sein. Wenn ich mit den Diagrammen zufrieden bin, kann ich die Kontrollgrenzen speichern. Nehmen wir das Beispiel von 5 Sekunden: Nach 5 Sekunden, wenn ich den Extruder zurückfahre, erwarte ich einen Unterdruck von 914,6 Millibar im Extruder mit einer Spannweite von 865 bis 963 Millibar.
Wenn ich auf das rote Dreieck klicke, kann ich diese Grenzwerte speichern. Dadurch werden die Grenzwerte für jeden dieser Zeiträume gespeichert, und ich möchte sie in einer hohen Tabelle ablegen. So entsteht eine Tabelle, in der für jeden Zeitraum ein Mittelwert und die Werte, in denen die Normalverteilung liegen würde, aufgeführt sind. Ich werde die Tabelle anschließend bereinigen und die überflüssigen Spalten entfernen, um nur den Mittelwert und die Kontrollgrenzen zu behalten. Das ist alles, was ich für die spätere Analyse benötige.
Da diese Spalte eine Bezeichnung aus den Kontrollkarten übernommen hat, ist ersichtlich, dass das Datenformat nicht kontinuierlich numerisch ist. Ich muss dies nun ändern, um sicherzustellen, dass es sich um den korrekten Datentyp für Zeit handelt. Ich kann die Spalte auch in „Zeit“ umbenennen, um zukünftig eindeutig zu erkennen, um welchen Datentyp es sich handelt.
Ich habe nun eine Datentabelle mit meinen Kontrollgrenzen für jedes Zeitintervall. Jetzt muss ich meine Originaldaten erneut nach Zeit und Chargenverlauf sortieren, um Diagramme erstellen zu können. Ich gehe zurück zu meinen gestapelten Daten. Ich werde sie erneut aufteilen, diesmal jedoch etwas anders. Ich möchte weiterhin nach meinem Prozessparameter „Vakuum“ aufteilen, aber in diesem Fall nach Zeit gruppieren. Ich erstelle eine Zeile für jedes Zeitintervall und teile nach Chargennummer auf, sodass ich für jede Charge eine Spalte habe. Ich kann die Vorschau erneut überprüfen und sicherstellen, dass die Daten wie gewünscht gruppiert sind. Wenn ich zufrieden bin, klicke ich auf „OK“. Nun habe ich die Zeitreihendaten für jede Charge in einer separaten Spalte und kann zukünftig weitere Chargen hinzufügen.
Ich könnte entweder die berechneten Kontrollgrenzen in die Datentabelle einfügen oder eine virtuelle Verknüpfung erstellen. Bei einer virtuellen Verknüpfung sind die Daten nicht fest mit der Datentabelle verbunden und können daher auch in anderen Datensätzen verwendet oder im Laufe der Zeit neu berechnet und geändert werden, ohne die Datensätze selbst zu verändern. Gleichzeitig bleiben sie in den Prozessdaten verfügbar, um sie für die Prozessgrenzen zu nutzen. Ich kann die Daten also verwenden, ohne sie tatsächlich in die Datentabelle einzubinden. Genau das werde ich tun: Ich werde eine virtuelle Verknüpfung zwischen den beiden Datentabellen erstellen.
Dazu benötige ich eine Spalte, die in beiden Datensätzen identisch ist. In diesem Fall ist es die Zeitspalte. Ich klicke mit der rechten Maustaste auf die Zeitspalte und erstelle eine Verknüpfungs-ID. Diese Spalte enthält die Identifikationsinformationen, um sie mit der Datentabelle zu verknüpfen. In der Datentabelle klicke ich erneut mit der rechten Maustaste auf „Zeit“. Dies ist nun die Verknüpfungsreferenz, die ich mit der Tabelle verknüpfe, welche die Kontrollgrenzen und den Mittelwert enthält.
Wenn ich mir die Spaltenauswahl auf der linken Seite ansehe, sehe ich meine Materialchargen, die Spalte „Zeit“ und unten die referenzierten, virtuell verknüpften Spalten. Dort ist ein virtueller Link, dieses kleine Symbol, zu sehen. Diese Spalten sind momentan ausgeblendet und gesperrt. Ich kann die Daten in diesen Spalten in dieser Datentabelle nicht ändern. Ich müsste zurück zur Tabelle wechseln, in der die Daten tatsächlich vorhanden sind. Ich kann sie einblenden, wenn ich sie sehen möchte. Ich kann die Daten zwar dort sehen, aber sie müssen nicht eingeblendet werden, um sie verwenden zu können. Ich blende sie wieder aus, um die Übersichtlichkeit zu wahren.
Nun werde ich diese Kontrollgrenzen mithilfe des Graph Builders visualisieren, einer äußerst flexiblen Plattform zur Datenvisualisierung. Anschließend kann ich jeden meiner Batches nacheinander über diese Kontrollgrenzen im Zeitverlauf legen und überprüfen, ob das Verhalten jedes Batches meinen Erwartungen entspricht, basierend auf den historischen Daten der 15 Batches, die ich zur Erstellung dieser Grenzen verwendet habe.
Wenn ich meine Datentabelle öffne, gehe ich zu „Diagramm“ und dann zu „Diagramm-Generator“. Auf der X-Achse trage ich natürlich die Zeit ein. Anschließend ziehe ich meine Kontrollgrenzen hinzu. Ich benötige nur die Linien, nicht die einzelnen Datenpunkte. Um meine Produktionschargen besser zu erkennen, blende ich diese aus und ändere die Linien in gestrichelte Linien, sodass klar ist, was Chargendaten und was Kontrollgrenzen sind. Ich färbe sie grau ein, zeichne eine gestrichelte Linie für den Durchschnitt und eine gepunktete Linie für die Kontrollgrenzen. Jetzt können wir sehen, wie ein normaler Prozess im Zeitverlauf aussieht. Wir erwarten, dass jeder Wert des Prozesses, der sich über die Zeit stabil und konsistent verhält, innerhalb der gepunkteten Linien liegt und im Durchschnitt nahe an der gestrichelten Linie liegt.
Ich kann nun eine meiner neuen Chargen, die nicht zur Erstellung von Kontrollgrenzen verwendet wurde, über die bestehenden Kontrollgrenzen legen. Beispielsweise kann ich die Charge vom 06.09.2023 über die bestehenden Kontrollgrenzen legen und ihr Verhalten im Zeitverlauf mit den Erwartungen vergleichen. Mithilfe eines Spaltenumschalters kann ich die Chargen anzeigen, durchblättern und jede einzelne mit den Kontrollgrenzen vergleichen. Wenn ich die Produktionscharge oben markiere und anschließend alle anderen Chargen als Ersatzspalten auswähle, erhalte ich im Spaltenumschalter eine Liste aller hergestellten Chargen. Ich kann diese nacheinander durchblättern und meine sechs neuen Chargen mit den historischen Kontrollgrenzen vergleichen. Wenn ich neue Chargen zu meiner Datentabelle hinzufüge, kann ich diese ebenfalls problemlos mit diesen Kontrollgrenzen vergleichen. Um diese Daten an jemanden weiterzugeben, der JMP nicht installiert hat, kann ich den Vorgang animieren, aufzeichnen, als GIF speichern und an eine E-Mail anhängen.
Ein weiteres Beispiel, basierend auf unseren Daten. Hier haben wir einen Harzprozess, bei dem das Harz erhitzt wird. Es muss für eine bestimmte Zeit auf einer festgelegten Temperatur gehalten und anschließend für die Entnahme wieder abgekühlt werden. Auch hier haben wir ähnliche Daten und Kontrollkarten erstellt. Beim Durchblättern der Chargen sehen wir, dass gelegentlich Anomalien in den Daten auftreten. In diesen Fällen müssen wir genauer hinschauen, da sich diese spezielle Charge von der Standardpopulation unterscheidet.
Wir haben diese Technik in verschiedenen Bereichen unserer Fertigungs- und Testprozesse umfassend eingesetzt. Sie ermöglicht uns eine frühzeitige Erkennung von Prozessstörungen oder Wartungsbedarf an Anlagen und erlaubt uns, diese Muster in den Daten zu erkennen, bevor Material- oder Anlagenausfälle drohen. Ungeplante Wartungsstillstände wollen wir unbedingt vermeiden. Durch die Überwachung solcher Prozesse können wir vorausschauend planen und frühzeitig auf beginnende Verschleißerscheinungen an Anlagen reagieren. Vielen Dank.