In der Ölraffinerie besteht eine zentrale Optimierungstechnik darin, Qualitätsvariablen kontinuierlich und mit seltener Probenahme zu überwachen. Dies erfordert ein empirisches Vorhersagemodell der Qualitätsvariablen, das auf den laufenden Prozessbedingungen basiert. Dieses Modell dient dann als abgeleitete Variable und kann in einem kontinuierlichen Regelungsalgorithmus verwendet werden.
Es gibt mehrere Fallstricke, bei denen Modelle mit guten Anpassungsstatistiken die Qualitätsvariable im Online-Einsatz nicht präzise vorhersagen können. Viele Ursachen für Modellversagen liegen außerhalb des Einflussbereichs des Ingenieurs, wie beispielsweise anormale Prozessbedingungen oder Ausfälle von Eingangssignalen. Zwar lässt sich ein Vorhersagemodell entwickeln, das die Auswirkungen externer Prozessfaktoren minimiert, doch kann dies häufig die Modellgenauigkeit beeinträchtigen. Daher besteht die Herausforderung für den Ingenieur darin, Vorhersagemodelle zu erstellen, die Genauigkeit und Zuverlässigkeit in Einklang bringen.
Dieser Artikel beschreibt mehrere Schritte im Modellentwicklungsprozess mit JMP zur Erstellung von Vorhersagemodellen für die Online-Prozesssteuerung. Mithilfe eines benutzerdefinierten Add-ins lassen sich Rohdaten in einem Format aggregieren, das die Prozessvariabilität filtert. Die aggregierten Daten werden anschließend mit Werkzeugen wie „Verteilung“ und „Ausreißerfilter“ auf Ausreißer und Betriebsbereiche geprüft. Die Modelleingaben werden mittels Spaltenformeln transformiert, um die Prozessvariabilität weiter zu reduzieren. Abschließend wird das Modell mithilfe der Funktion „Generalisierte Regression in Modell anpassen“ erstellt, um Regressionsalgorithmen zu vergleichen und die Eingaben zu minimieren, wodurch die Zuverlässigkeit erhöht wird. Das Endergebnis ist ein Modell, das ausreichend genau ist, um den Prozess kontinuierlich im Hinblick auf eine Qualitätsvorgabe zu optimieren und gleichzeitig robust gegenüber Prozess- und Instrumentierungsstörungen zu sein.
Hallo, mein Name ist Andrew Weaver. Ich bin Anwendungsingenieur für Steuerungstechnik bei ExxonMobil. Heute zeige ich Ihnen, wie Sie mit JMP prädiktive Modelle für die Online-Optimierungssteuerung erstellen. In unseren Chemie- und Raffinerieanlagen setzen wir moderne Prozessregler ein, um die Anlagen in Echtzeit zu steuern. So gewährleisten wir die Einhaltung der Qualitätsvorgaben und optimieren die Produktqualität durch die Reduzierung von Produktverlusten.
Diese hochentwickelten Regler benötigen Echtzeitmessungen, um auf Basis der Sensordaten unmittelbar auf den Prozess reagieren zu können. Eine der größten Herausforderungen beim Aufbau dieser Regelungsmodelle besteht darin, dass viele unserer Qualitätsvariablen anhand von Laborproben ermittelt werden und keine kontinuierlichen Messungen vorliegen. Im gezeigten Beispiel wird alle zwei Stunden ein Laborwert gemessen. Wie die Grafik unten verdeutlicht, kann es jedoch vor der Probenentnahme zu einer Prozessänderung kommen. Unser Regler benötigt daher Informationen, um diese Prozessänderung zu erkennen.
Die Lösung besteht darin, ein prädiktives Inferenzmodell zu entwickeln, das mithilfe anderer Sensoren im Prozess ein Vorhersagemodell erstellt. Dieses Modell liefert dem Online-Regler Informationen darüber, wann Prozessänderungen die Qualitätsvariable beeinflussen. Dadurch kann unser Modell in Echtzeit Anpassungen vornehmen, ohne auf Laborergebnisse warten zu müssen, um die Auswirkungen der Regelungsmaßnahmen zu beurteilen.
Die Erstellung dieses Modells kann mitunter eine schwierige Strategie sein und erfordert ein sorgfältiges Abwägen zwischen Ihrem ingenieurtechnischen Fachwissen und Ihren statistischen Modellierungstechniken. Heute werden wir in JMP die Erstellung dieser Modelle und einige der besonderen Herausforderungen beim Erstellen von Modellen für die Online-Prozesssteuerung durchgehen. Zunächst möchte ich Ihnen ein vereinfachtes Beispiel eines Prozesses vorstellen, bei dem ein Inferenzmodell in der Online-Prozesssteuerung zum Einsatz kommen könnte.
Dies ist eine Destillationskolonne, die ein Propan-Butan-Gemisch in seine beiden Komponenten trennt. Im Kopfprodukt befindet sich hauptsächlich Propan, das im Kolonnenkopf verdampft, während im Sumpfprodukt überwiegend Butan kondensiert. Die zu messende Qualitätsgröße ist die Propankonzentration im Kopfprodukt, die anhand einer Laborprobe bestimmt wird.
Bevor wir mit der Modellierung beginnen, ist es wichtig, einige physikalische Eigenschaften des Prozesses zu verstehen, da diese die Modellierungsentscheidungen beeinflussen sollten. Beispielsweise sind die Temperatureinflüsse im Kolonnenkolonnen-System entscheidend für die Destillationsprozesse, die das Butan-Propan-Gemisch trennen. Mit steigender Temperatur in der Kolonne erwartungsgemäß sieden mehr schwerere Komponenten, in diesem Fall Butan, was den Propanstrom, den wir messen möchten, verunreinigt.
Dies bedeutet, dass die Propankonzentration im Kopfprodukt sinkt. Dadurch können wir dem Modell mitteilen, dass jegliche Temperatureffekte, die wir in unserem Vorhersagemodell beobachten, ein negatives Vorzeichen in Bezug auf die Propankonzentration im Kopfprodukt aufweisen sollten. Zusätzlich liegen uns Druckdaten vor, und der Druck beeinflusst die Destillation, indem er die Siedepunkte beider Komponenten verändert. Dies ist ebenfalls ein wichtiger Aspekt, den wir bei der Modellierung berücksichtigen müssen.
Abschließend noch ein Hinweis zu den Durchflussmessungen der Anlage. Wir haben mehrere Messungen durchgeführt und werden später sehen, dass der Durchfluss stark mit der Propankonzentration und den Kopfprodukten korreliert. Dies betrifft insbesondere den Zulaufstrom, den Rücklaufstrom und den Kopfproduktstrom (Ströme 1, 2 und 3). Die Verwendung dieser Durchflussmessungen im Modell ohne Anpassungen wird jedoch später zu Problemen führen, da die Rohströme weder Akkumulationen im System noch die Systemdynamik berücksichtigen. Um sie nutzen zu können, müssen wir sie von extensiven zu intensiven Variablen umwandeln. Wie dies gelingt, sehen wir später.
Die wichtigste Erkenntnis aus der Systemanalyse zu Beginn ist, dass wir die physikalische Bedeutung jeder Eingangsgröße verstehen, bevor wir mit dem Modellaufbau beginnen. Dadurch haben wir eine klare Vorstellung davon, wie das Modell aussehen soll. Dies stellt sicher, dass unser Modell das tatsächliche Prozessverhalten widerspiegelt und nicht nur eine statistische Korrelation in den Daten. Schließlich bestimmen diese Erkenntnisse, wie wir unsere Eingangsgrößen erfassen, welche Eingangsgrößen wir in JMP importieren, wie wir sie filtern, welche Variablen wir transformieren und was letztendlich im endgültigen Modell enthalten sein wird.
Lassen Sie uns den gesamten Modellierungsablauf von Anfang bis Ende kurz durchgehen, um einen Überblick über die notwendigen Schritte zu erhalten. Anschließend werden wir in JMP einige dieser Schritte genauer betrachten. Der erste Schritt besteht in der Auswahl eines geeigneten Kandidaten. Dies ist typischerweise eine Qualitätsvariable, für die bereits regelmäßige Laborproben mit einer großen Datenmenge vorliegen und für die definierte Qualitätsgrenzen existieren, die wir kontrollieren möchten. In unserem Fall ist dies die Propankonzentration, die wir im vorherigen Abschnitt des Labors erwähnt haben.
Als Nächstes beginnen wir mit der technischen Analyse des Prozesses. Wir haben dies bereits auf der letzten Folie angestoßen, aber es gibt noch einige weitere Aspekte zu berücksichtigen, wenn Sie Ihre eigenen Daten auswerten. Bewerten Sie zunächst alle ungemessenen Störungen, wie z. B. Schwankungen in der Zufuhrqualität, und deren Auswirkungen auf Ihr endgültiges Modell. Berücksichtigen Sie außerdem die Betriebsbedingungen, unter denen Ihr Modell funktionieren soll. Wenn Sie unter einem breiten Spektrum an Betriebsbedingungen arbeiten, benötigt Ihr Modell Daten aus all diesen verschiedenen Betriebszuständen, um effektiv zu sein. An diesem Punkt entscheiden Sie, ob Sie über genügend Daten für den Modellierungsbeginn verfügen oder ob Sie einen speziellen Anlagentest durchführen müssen, um den tatsächlichen Datenbedarf zu ermitteln.
Als Nächstes können Sie die Eingangsvariablen auswählen, wie wir es auf der vorherigen Folie getan haben. Dort haben wir alle potenziellen Eingangsgrößen des Modells betrachtet und die physikalischen Auswirkungen auf die abgeleitete Variable analysiert. Sobald die Modelle ausgewählt sind, können die Daten erfasst werden. In unserer Verfahrenstechnik stammen diese Daten typischerweise von einem Prozesshistoriensystem, das sie für uns speichert. Dadurch erhalten wir minutengenaue Daten von jedem Sensor in unserem Prozess. Für Modelle mit breitem Anwendungsbereich empfiehlt es sich, je nach Probenahmehäufigkeit im Labor 6 bis 18 Monate dieser Echtzeitdaten zu erfassen. So stellen Sie sicher, dass Sie über genügend Daten verfügen, um ein Modell zu erstellen, das für viele verschiedene Betriebsbedingungen geeignet ist.
Als Nächstes widmen wir uns der Datenbereinigung und -vorverarbeitung. Die erfassten Daten umfassen Messungen im Minutentakt und alle Sensoren. Sie erhalten also eine große Datenmenge für jede Laborprobe. Diese Daten müssen wir für jede Probe in eindeutige XY-Paare formatieren. Dies geschieht später mithilfe eines Add-ins. Außerdem sollten Sie mit der Ausreißererkennung beginnen, um verdächtige Daten zu kennzeichnen.
Es ist wichtig zu beachten, dass dies nicht mit rein statistischen Tests erfolgen sollte, da Ausreißer physikalische Effekte im Prozess darstellen sollten, die entfernt werden müssen. Beispielsweise sollten Daten entfernt werden, wenn die Anlagen nicht laufen, wenn schwere Störungen auftreten oder wenn sich herausstellt, dass die Sensordaten fehlerhaft sind. Sobald die Daten gefiltert sind, können wir mit dem Erstellen der Modelle beginnen. Ein typischer Fehler beim Erstellen solcher Modelle ist es, alle gesammelten Eingangsdaten in einen Least-Squares-Algorithmus einzuspeisen und so ein Modell zu generieren. Dies funktioniert jedoch aus verschiedenen Gründen nicht.
Zunächst müssen wir sicherstellen, dass das Modell für jede Eingangsgröße einen physikalisch begründeten Effekt hat. Bei der Anwendung eines Regressionsalgorithmus auf mehrere Effekte besteht die Gefahr, dass statistisch sinnvolle oder gut passende Artefakte in das Modell gelangen, die in der Realität nicht existieren. Der Ingenieur muss daher Vorzeichen und Größenordnung jeder Eingangsgröße prüfen, um sicherzustellen, dass sie seinen technischen Erwartungen entspricht.
Der zweite und subtilere Grund ist, dass wir bei der Online-Regelung dieser Modelle deren Robustheit und Zuverlässigkeit sicherstellen müssen. Jeder Eingangsparameter stellt eine potenzielle Fehlerquelle dar, falls das angeschlossene Messgerät ausfällt. Daher minimieren wir die Anzahl der Eingangsparameter, um die Anfälligkeit für Geräteausfälle zu reduzieren. Nach der Modellerstellung beginnen die Tests. Zunächst offline, um die Vorhersagen mit unseren neuen Laborergebnissen zu vergleichen, und anschließend online, integriert in den Online-Regler. Dies ist ein iterativer Prozess, da ein Modell zwar oft sehr gute Vorhersagen liefert, aber in der Regelschleife versagt. Der Ingenieur muss dann mehrere Iterationen neuer Modelle durchlaufen, bis er ein Modell findet, das sowohl als Vorhersagemodell als auch im Regelsystem funktioniert.
Nachdem wir die Schritte zum Erstellen eines Inferenzmodells durchgegangen sind, öffnen wir JMP und betrachten einige Schritte etwas detaillierter. Die erste Datentabelle zeigt, wie der Rohdatenpool aussieht. Sie erhalten minütliche Daten für jeden Ihrer Sensoren und Ihre Labormessung, und diese Daten umfassen einen Zeitraum von acht Monaten. Wenn wir die grafische Ansicht einer Zeitreihendarstellung unserer Laborvariable öffnen, können wir sehen, dass die Labormessungen in unregelmäßigen Abständen durchgeführt wurden, anscheinend alle paar Tage, wobei in einigen Zeiträumen mehrere Laborproben entnommen wurden.
Wie bereits erwähnt, ist das Format unserer Daten für die Erstellung eines Inferenzmodells nicht optimal, da wir klare XY-Beziehungen für jedes Laborergebnis und jede Eingangsgröße benötigen. Wir verwenden daher ein eigens entwickeltes Add-in, um eine vereinfachte Datentabelle zu erstellen, die diese XY-Beziehung automatisch herstellt. Wir aggregieren die Daten, indem wir die Laborprobe und das Datum auswählen und anschließend das gewünschte Aggregationsintervall festlegen.
Dieses Add-in analysiert unsere Datentabelle. Es erkennt, wenn sich ein Laborwert ändert, und berechnet den Mittelwert aller Eingangswerte um diese Änderung herum. Diese Funktion lässt sich global oder für jeden einzelnen Eingangswert anpassen. Die Mittelwertbildung kann rückwirkend erfolgen, beginnend mit der Probenentnahme und betrachtet einen Zeitraum von X Minuten zurück, oder zentriert, indem Daten vor und nach der Probenentnahme erfasst werden.
Letztendlich hängt dies davon ab, wie zuverlässig Sie die Zeiterfassung Ihrer Laborproben und die Prozessvariabilität handhaben. In unserem Beispiel legen wir ein globales Intervall von 60 Minuten für alle Variablen fest. Dies liefert uns gute Gesamtergebnisse. Die Auswertung dauert einige Minuten. Wir springen nun direkt zum Ergebnis, dieser Datentabelle. Hier sehen Sie für jedes einzelne Laborergebnis eine separate Zeile mit den entsprechenden X-Werten für alle Eingangsgrößen.
Jetzt können wir mit diesen Daten beginnen und mit dem Screening, der Vorverarbeitung und schließlich der Modellierung. Zunächst betrachten wir die Verteilungen, um mögliche Ausreißer zu identifizieren, die wir entfernen sollten. Wir möchten Ausreißer nicht nur aus statistischen Tests entfernen, sondern auch sicherstellen, dass jeder entfernte Datenpunkt eine physikalische Bedeutung für den zugrunde liegenden Prozess hat. Betrachten wir beispielsweise unser Labor (links), sehen wir einige Ausreißer am äußersten Ende der Verteilung. Es ist jedoch noch zu früh, um zu sagen, ob es sich dabei um reale Datenpunkte handelt oder ob es sich lediglich um Ausreißer in unserer normalen Verarbeitungsumgebung handelt.
Betrachten wir jedoch den ersten Zulauf rechts genauer, erkennen wir einen langen Ausläufer mit geringen Zulaufmengen und sogar einige negative Zulaufmengen im Verteiler. Da es sich hier um die Zulaufmenge zur Anlage handelt, ist es wichtig, die exakten Zulaufmengen zu erfassen, die die Anlage im Normalbetrieb erwartet. Wir müssen einen Schwellenwert für die normale Zulaufmenge in dieser Anlage definieren. In diesem Beispiel setzen wir diesen Schwellenwert auf 10. Werte darunter bedeuten, dass die Anlage nicht im Normalbetrieb arbeitet oder abgeschaltet ist. Wir wählen alle Daten vor 10 aus und schließen sie aus unserem Datensatz aus.
Beim Durchblättern der übrigen Variablen fällt nur noch Durchfluss drei auf, unser Rückfluss zurück in den Turm. Dieser weist eine sehr hohe Zuflussrate auf, was wahrscheinlich auf eine gravierende Prozessstörung hindeutet, da er überhaupt nicht mit unserem übrigen Betriebsbereich übereinstimmt. Aus diesem Grund blenden wir auch diesen Datensatz aus und schließen ihn aus.
Nachdem wir unsere Daten gesichtet haben, können wir nun die Zusammenhänge untersuchen und erste Beziehungen zwischen unseren Eingangsgrößen und unserem endgültigen Modell herstellen. Die XY-Diagramme sind nach der besten Anpassung geordnet. Wir sehen, dass die Temperaturen vier und zwei, die sich oberhalb der Destillationskolonne befinden, die beste Übereinstimmung mit unseren Propan-Laborwerten aufweisen.
Dies entspricht unseren technischen Erwartungen, da wir wissen, dass die Temperatur einen entscheidenden Einfluss auf die Destillation hat. Ebenso beobachten wir starke Zusammenhänge mit dem Produktstrom und dem Überdruck. Anstatt JMP zu verwenden, versuchen wir, den Zusammenhang zwischen Temperatur und Druck bei der Destillation abzuleiten. Wir können bekannte Dampf-Flüssigkeits-Gleichgewichtskonzepte in das Modell integrieren, indem wir Druck und Temperatur zu einer berechneten Variable kombinieren, die sich besser für die Modellerstellung eignet.
Wir können dies mithilfe eines weiteren, eigens entwickelten Add-ins erreichen, das eine sogenannte druckkompensierte Temperatur berechnet. Diese korrigiert die Temperatur anhand des Druckeffekts – basierend auf einem Referenzdruck. Dieses Modell verwenden wir anstelle der Rohtemperatur. Wie bereits erwähnt, können wir diesen Fluss nicht allein verwenden, da es sich um eine extensive Variable handelt, die zunächst in eine intensive Variable umgewandelt werden muss. Dazu erstellen wir eine neue Spalte und definieren ein Produkt-zu-Zulauf-Verhältnis. Dieses Verhältnis in den beiden Flüssen wandelt die extensiven in intensive Variablen um, mit denen sich Qualitätsänderungen in den Daten leichter modellieren lassen. Der zweite Fluss wird also durch den ersten Fluss geteilt.
Bevor wir mit der Modellierung beginnen, erstellen wir als letzten Schritt eine Validierungsspalte. Dies erledigen wir schnell, indem wir unsere Stratifizierungsspalte überlappen lassen. Jetzt können wir mit der eigentlichen Modellierung beginnen. Die erste Technik, die ich vorstellen möchte, ist die sogenannte „Kitchen-Sink-Methode“. Wenn wir noch keine klare Vorstellung von den Eingabevariablen unseres Modells haben, verwenden wir unsere Laborwerte als Y-Variable, fügen unsere Validierungsspalte hinzu und geben alle Zeileneingaben als X-Variable ein. Anschließend führen wir das Modell mit einer allgemeinen Regressionsplattform aus.
Wir werden eine Methode zur Schätzung der besten Teilmenge verwenden, um die optimale Variablenmenge für jede Variablenkombination zu ermitteln. Wie Sie sehen, erreichen wir hier ein Plateau, ab dem wir die Anzahl der Variablen reduzieren können, ohne die Modellgenauigkeit wesentlich zu beeinträchtigen. Wie bereits erwähnt, möchten wir die Anzahl der Variablen in unserem endgültigen Modell so weit wie möglich reduzieren, um unsere Abhängigkeit von den Sensoren im Falle eines Geräteausfalls zu verringern.
Hier stellen wir fest, dass wir Temperatur 2 und Druck 1 als Eingangsgrößen auswählen, die, wie wir zuvor festgestellt haben, stark korrelieren. Es gibt gute technische Gründe, warum diese in das Modell einbezogen werden sollten. Dies ist ein guter Ausgangspunkt, wenn Ihr Prozess noch nicht vollständig verstanden ist. In unserem Fall wissen wir jedoch aufgrund unserer technischen Analyse genau, welche Eingangsgrößen wir in das Modell aufnehmen möchten. Daher werden wir stattdessen erneut unsere Laborwerte verwenden, und unsere Xs werden diesmal wieder unsere berechneten Variablen sein, die wir mithilfe unserer Validierungsspalte ermittelt haben.
Dieses Mal verwenden wir einfach einen Standard-Kleinste-Quadrate-Algorithmus. Dadurch erhalten wir unser endgültiges Modell, das wir in unserem Regler verwenden werden. Sie werden feststellen, dass der R²-Wert etwas zu wünschen übrig lässt. Das ist jedoch normal für die Modellierung großer Prozesssysteme, da die Dynamik der Messdaten, die wir erfassen, stark variiert. Es ist mitunter sehr schwierig, hochpräzise Modelle zu erhalten. Denken Sie daran: Wir sollten vermeiden, dem Modell weitere Eingangsgrößen hinzuzufügen, um die Genauigkeit weiter zu verbessern, da wir es sonst anfällig für Messausfälle machen.
Als Letztes prüfen wir für die Online-Regelung, ob die Eingangsgrößen voneinander unabhängig sind und keine Kollinearität aufweisen. Dies lässt sich anhand der VIF-Spalte überprüfen. Ist der VIF-Wert zu hoch, ist es nahezu sicher, dass das Modell im Regelalgorithmus versagt. Da der VIF-Wert für diese beiden Eingangsgrößen jedoch niedrig genug ist, können wir davon ausgehen, dass dieses Modell die Qualitätsvariable zuverlässig vorhersagt und wir es in unserer Regelungssoftware modellieren können.
Nun kehren wir zur Präsentation zurück. Wir verfügen nun über ein abgeleitetes Modell, das wir für die Online-Regelung einsetzen können. Dieses soeben entwickelte Modell dient als Eingangsgröße für unseren fortschrittlichen Regler. Die Eingangsgröße liefert dem Regler Feedback, während dieser die Anlage steuert. So lässt sich in Echtzeit erkennen, wie der Regler die Qualitätsvariable beeinflusst.
Dieses Echtzeit-Feedback ermöglicht es uns, die Einheit hinsichtlich der Produktqualität zu optimieren und sicherzustellen, dass diese stets innerhalb unserer Toleranzen liegt. Wie Sie sich vorstellen können, handelt es sich hierbei um einen zyklischen Prozess: Zunächst wird ein funktionierendes Modell entwickelt, und mit der Zeit verschlechtert sich die Leistungsfähigkeit des Modells, wenn sich die Prozessbedingungen ändern oder die Anlagen altern. In diesem Fall muss das Modell von Grund auf neu erstellt werden.
Zusammenfassend lässt sich sagen, dass diese Inferenzmodelle die Lücke zwischen unserer kontinuierlichen Steuerungssoftware und unseren nur in unregelmäßigen Abständen entnommenen Laborproben schließen. Dies unterstreicht die Bedeutung von Fachwissen beim Erstellen statistischer Modelle. Wie Sie sich erinnern, haben wir viel Zeit in die technische Analyse investiert, bevor wir überhaupt JMP geöffnet haben, um sicherzustellen, dass wir genau wussten, wie das Modell im Online-Betrieb funktionieren würde. Auch außerhalb der Chemie- und Verfahrenstechnik gilt dieses Prinzip. Ihre technische Analyse sollte das Modell bestimmen, nicht umgekehrt. Mit diesen Techniken können Sie, unabhängig von Ihrem Fachgebiet, auch mit begrenzten Daten wertvolle Erkenntnisse gewinnen. Vielen Dank fürs Zuschauen.