DE112020007099T5 - Verbesserte mustererkennungstechnik für datengesteuerte fehlererkennung in einer prozessanlage - Google Patents

Verbesserte mustererkennungstechnik für datengesteuerte fehlererkennung in einer prozessanlage Download PDF

Info

Publication number
DE112020007099T5
DE112020007099T5 DE112020007099.9T DE112020007099T DE112020007099T5 DE 112020007099 T5 DE112020007099 T5 DE 112020007099T5 DE 112020007099 T DE112020007099 T DE 112020007099T DE 112020007099 T5 DE112020007099 T5 DE 112020007099T5
Authority
DE
Germany
Prior art keywords
error
system matrix
training data
data set
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112020007099.9T
Other languages
English (en)
Inventor
Xu Cheng
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Emerson Process Management Power and Water Solutions Inc
Original Assignee
Emerson Process Management Power and Water Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Emerson Process Management Power and Water Solutions Inc filed Critical Emerson Process Management Power and Water Solutions Inc
Publication of DE112020007099T5 publication Critical patent/DE112020007099T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/024Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/0227Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions
    • G05B23/0235Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions based on a comparison with predetermined threshold or range, e.g. "classical methods", carried out during normal operation; threshold adaptation or choice; when or how to compare with the threshold
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)

Abstract

Ein Echtzeit-Steuerungssystem schließt eine Fehlererkennungstrainingstechnik ein, um eine datengesteuerte Fehlererkennungsfunktion zu implementieren, die einem Bediener Informationen liefert, die eine bessere Beurteilung der Lage der aktuellen und wahrscheinlichen zukünftigen Betriebsbedingungen der Prozessanlage ermöglichen. Die Fehlererkennungstrainingstechnik ermöglicht es einem Bediener, zu erkennen, wenn sich eine Prozessanlagenkomponente anormal verhält, um zu einem aktuellen Zeitpunkt möglicherweise Maßnahmen zu ergreifen, um die dem Problem zugrunde liegende Ursache zu beheben, wodurch die Wahrscheinlichkeit eines Stopps des Prozesses verringert wird oder dieser verhindert wird oder ein Ausfall der Komponente der Prozessanlage verhindert wird.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich allgemein auf Prozessanlagen wie Energieerzeugungsanlagen und industrielle Fertigungsanlagen und insbesondere auf ein Fehlererkennungstrainingssystem, das eine hochgenaue, robuste Fehlerparameteroptimierung durchführt, um im Betrieb der Prozessanlage Störungen zu erkennen.
  • BESCHREIBUNG DES STANDS DER TECHNIK
  • Verteilte Prozesssteuerungssysteme, wie sie typischerweise in Energieerzeugungs-, Chemie-, Erdölverarbeitungs- oder anderen Prozessanlagen eingesetzt werden, umfassen in der Regel eine oder mehrere Prozesssteuerungen, die über analoge, digitale oder kombinierte Analog-/Digitalbusse kommunikativ mit einem oder mehreren Feldgeräten gekoppelt sind. Die Feldgeräte, die z. B. Ventile, Ventilstellungsregler, Schalter, Transmitter (z. B. Temperatur-, Druck-, Füllstands- und Durchflusssensoren), Brenner usw. sein können, befinden sich innerhalb der Prozessumgebung und führen als Reaktion auf die von den Prozesssteuerungen entwickelten und gesendeten Steuersignale Prozessfunktionen wie Öffnen oder Schließen von Ventilen, Messen von Prozessparametern usw. aus. Intelligente Feldgeräte, wie beispielsweise Feldgeräte, die einem der bekannten Fieldbus-Protokolle entsprechen, können auch Steuerungsberechnungen, Alarmfunktionen und andere Funktionen ausführen, die üblicherweise in einem oder durch eine Prozesssteuerung implementiert sind. Die Prozesssteuerungen, die sich ebenfalls typischerweise in der Anlagenumgebung befinden, empfangen Signale, die für die von den Feldgeräten durchgeführten Prozessmessungen und/oder andere die Feldgeräte betreffende Informationen kennzeichnend sind, und führen eine Steuerungsanwendung aus, in der z. B. verschiedene Steuermodule laufen, die Entscheidungen zur Prozesssteuerung treffen, auf der Grundlage der empfangenen Informationen Prozesssteuersignale erzeugen und sich mit den Steuermodulen oder Blöcken koordinieren, die in den Feldgeräten ausgeführt werden, wie z. B. HART- und Fieldbus-Feldgeräte. Die Steuermodule innerhalb der Steuerung senden die Prozesssteuersignale über die Kommunikationsleitungen an die Feldgeräte, um dadurch den Betrieb des Prozesses zu steuern.
  • Die Informationen von den Feldgeräten und der Steuerung werden in der Regel über eine Datenautobahn einem oder mehreren anderen Computergeräten zur Verfügung gestellt, wie z. B. Bediener-Arbeitsstationen, Personalcomputern, Datenhistorikern, Berichtsgeneratoren, zentralisierten Datenbanken usw., die sich in der Regel in Kontrollräumen oder an anderen Orten abseits der raueren Anlagenumgebung befinden. Diese Computergeräte können auch Anwendungen ausführen, die es beispielsweise einem Bediener ermöglichen, Funktionen in Bezug auf den Prozess auszuführen, wie z. B. Ändern von Einstellungen der Prozesssteuerungsroutine, Modifizieren des Betriebs der Steuermodule innerhalb der Steuerung oder der Feldgeräte, Anzeigen des aktuellen Prozesszustands, Anzeigen von Alarmen, die von Feldgeräten und Steuerungen erzeugt werden, Führen und Aktualisieren einer Konfigurationsdatenbank usw.
  • Das von Emerson Process Management verkaufte Ovation®-Steuerungssystem beispielsweise beinhaltet mehrere Anwendungen, die in verschiedenen Geräten gespeichert sind und von verschiedenen Geräten an verschiedenen Stellen innerhalb einer Prozessanlage ausgeführt werden. Eine Konfigurationsanwendung, die in einer oder mehreren Bediener-Arbeitsstationen untergebracht ist, ermöglicht Benutzern das Erstellen oder Ändern von Prozesssteuermodulen und das Herunterladen dieser Prozesssteuermodule über eine Datenautobahn auf dedizierte dezentrale Steuerungen. Typischerweise bestehen diese Steuermodule aus kommunikativ miteinander verknüpften Funktionsblöcken, die Objekte in einem objektorientierten Programmierprotokoll sind, und die Funktionen innerhalb des Steuerschemas auf der Basis von dort erfolgten Eingängen ausführen und die Ausgänge zu anderen Funktionsblöcken innerhalb des Steuerungsschemas bereitstellen. Mit der Konfigurationsanwendung kann ein Designer auch Bedienerschnittstellen erstellen oder ändern, die von einer Anzeigeanwendung verwendet werden, um einem Bediener Daten anzuzeigen und es dem Bediener zu ermöglichen, Einstellungen, wie z. B. Sollwerte, innerhalb der Prozesssteuerungsroutine zu ändern. Jede der dedizierten Steuerungen und, in einigen Fällen, Feldgeräte, speichert und führt eine Steuerungsanwendung aus, die die ihr zugeordneten und heruntergeladenen Steuermodule ausführt, um die tatsächliche Prozesssteuerungsfunktionalität umzusetzen. Die Ansichtsanwendungen, die auf einer oder mehreren Bediener-Arbeitsstationen ausgeführt werden können, empfangen Daten von der Steuerungsanwendung über die Datenautobahn und zeigen diese Daten den Prozesssteuerungs-Systemdesignern, Bedienern oder Benutzern über die Benutzerschnittstellen an und können eine beliebige aus einer Reihe verschiedener Ansichten, wie z. B. die Ansicht eines Bedieners, eines Ingenieurs, eines Technikers usw., bereitstellen. Eine Datenhistoriker-Anwendung wird typischerweise in einem Datenhistoriker-Gerät gespeichert und von diesem ausgeführt, das einige oder alle über die Datenautobahn bereitgestellten Daten sammelt und speichert, während eine Konfigurationsdatenbank-Anwendung in einem weiteren, an die Datenautobahn angeschlossenen Computer laufen kann, um die aktuelle Konfiguration der Prozesssteuerungsroutine und die damit verbundenen Daten zu speichern. Alternativ kann sich die Konfigurationsdatenbank auf der gleichen Arbeitsstation wie die Konfigurationsanwendung befinden.
  • Im Allgemeinen umfasst die Steuerung von Prozessen in einer Industrieanlage, wie z. B. in einem Kraftwerk, oft die Durchführung einer zeitlich geordneten Reihe von Steuerungsaktionen an verschiedenen Ausrüstungen innerhalb der Anlage. Dies gilt insbesondere während des Hochfahrens und Herunterfahrens der Anlagenausrüstung. Die Einleitung jedes aufeinanderfolgenden Steuervorgangs setzt den Abschluss der vorhergehenden Steuerungsaktion sowie die Bedingung voraus, dass eine bestimmte Anzahl von Freigaben erfüllt sein muss. Die Steuerung der Anlage erfolgt somit schrittweise, wobei die Steuerungssystemsoftware, die diesen zeitlich geordneten Betrieb durchführt, mit Hilfe eines Softwarekonstrukts programmiert wird, das als Sequenzierungslogik bezeichnet wird. Insbesondere ist die Sequenzierungslogik eine logische Menge von Operationen, Freigaben und Aktionen, die als Computerprogramm implementiert und in einem Steuerungssystem ausgeführt wird. Im Allgemeinen enthält jede Sequenzierungslogik eine Reihe zusammengehöriger Schritte, die nacheinander ausgeführt werden. Jeder Schritt beinhaltet oder repräsentiert im Allgemeinen eine gewisse Anzahl von Freigaben, die erfüllt werden müssen, und eine oder mehrere Aktionen, die vor dem Abschluss dieses Schrittes abgeschlossen werden müssen. Freigaben sind typischerweise eine Funktion von einem oder mehreren externen Rückkopplungseingängen, Parametern und Status, die vom Steuerprogramm logisch ausgewertet werden. Beispielsweise kann die Auswertung oder der Status jeder Freigabe das Ergebnis einer logischen Operation sein, die eine Bewertung zu einer wahren oder falschen Bedingung vornimmt. Diese Freigaben können z. B. der Status der Feldausrüstung (z. B. in Betrieb / angehalten / offen / geschlossen), der Abschluss eines vorhergehenden Schritts oder einer vorhergehenden Aktion, Werte von Prozessparametern, die über oder unter einem bestimmten Schwellenwert liegen, usw. sein. Darüber hinaus basiert der Übergang von jedem aufeinanderfolgenden Schritt in der Logiksequenz auf der Auswertung jedes Freigabesignals, das für diesen Schritt gilt.
  • Infolgedessen konfiguriert der Anwendungsentwickler die Sequenzierungslogik so, dass die Freigaben erfüllt sein müssen, was bedeutet, dass diese Freigaben bis zum erwarteten booleschen Zustand von wahr oder falsch ausgewertet werden müssen, bevor mit dem nächsten Schritt fortgefahren werden kann. Somit werden bei jedem Schritt eine oder mehrere Freigaben ausgewertet und wenn jede dieser Freigaben erfüllt ist, werden die Aktionen für diesen Schritt ausgeführt. Sobald die Aktionen abgeschlossen sind, wird dieser Schritt als abgeschlossen angezeigt, und der Prozess wird für den nächsten Schritt in der Sequenzierungslogik wiederholt.
  • Im normalen Anlagenbetrieb wird das Steuerungssystem in der Regel in einem automatischen Modus betrieben und das Sequenzprogramm oder die Sequenzierungslogik werten die Rückkopplungssignale aus, um zu bestimmen, wann der Übergang zum nächsten Schritt in der Sequenzierungslogik ohne direktes menschliches Eingreifen erfolgen soll. Die zugehörigen Aktionen werden dann bei jedem Schritt durch das Sequenzprogramm ausgeführt.
  • Es kann jedoch vorkommen, dass in der Anlage eine anormale Situation auftritt, in der z. B. eines der erwarteten Rückkopplungssignale, die z. B. mit den Freigaben zusammenhängen, nicht in der erwarteten Weise auftritt. Diese Situation kann dazu führen, dass das Sequenzprogramm angehalten wird oder zum Stillstand kommt. Sobald das Sequenzprogramm jedoch zum Stillstand gekommen ist, ist in der Regel menschliches Eingreifen erforderlich, um das Problem zu lösen, damit das Sequenzprogramm fortgesetzt werden kann. Wichtig ist, dass ein Sequenzstopp zum Stillstand der Ausrüstung führen kann, was zu Produktionsverzögerungen, Produktions- oder Umsatzeinbußen, höheren Betriebskosten und möglicherweise sogar zur Beschädigung der Ausrüstung führen kann. Bei einem herkömmlichen Steuerungssystem ist sich der Bediener einer bevorstehenden anormalen Situation und des daraus resultierenden Sequenzstopps möglicherweise erst dann bewusst, wenn die Situation tatsächlich eintritt und die Sequenz angehalten wird.
  • Ein Hauptgrund für die Unkenntnis des Bedieners und damit für das Zustandekommen von zum Stillstand der Sequenz führenden Ereignissen besteht in der enormen Komplexität der an der Prozesssteuerung beteiligten Systeme. In derartig großen und dynamischen Systemen wie Elektrizitätswerken und Ölraffinerien sind Tausende von Sensoren und Aktuatoren zum Bestimmen und Steuern physikalischer Parameter des Systems eingebaut. Dementsprechend wird das Überprüfen, ob die wichtigen Prozessparameter innerhalb ihrer angemessenen Betriebsbereiche liegen, bei solchen Systemen zu einer monumentalen Aufgabe. Noch komplizierter gestaltet sie sich dadurch, dass die Prozessanlage zur Erfüllung unterschiedlicher Produktionsanforderungen in einer Vielzahl unterschiedlicher Zuständen betrieben werden kann. Zum Beispiel können in einem Elektrizitätswerk je nach zu diesem Zeitpunkt über das zugehörige Stromnetz benötigter Strommenge unterschiedliche Mengen an Strom erzeugt werden. Die Sensoren, Aktoren und anderen Komponenten des Prozesssteuerungssystems können daher für ihre wichtigen Betriebsparameter unterschiedliche akzeptable Bereiche aufweisen, die den einzelnen potentiellen Betriebszuständen der Anlage entsprechen. Bei herkömmlichen Systemen, die zum Überwachen und Verifizieren dieser wichtigen Parameter ausgelegt sind, werden die aktuellen Werte der Parameter mit bekannten Ober- und Untergrenzen der einzelnen Betriebsmodi für jeden Zustand der Anlage verglichen. Derartige Überwachungstechniken sind jedoch unvollständig, da bei diesen Techniken zwischen und unter den verschiedenen Parametern des Systems bestehende Korrelationen außer Acht gelassen werden.
  • Diese Korrelationen können jedoch wichtig sein, da durch eine Änderung an einem der Prozessparameter in einem Prozess die Werte der anderen Prozessparameter in dem Prozess beeinflusst werden können. Zur Veranschaulichung sei angenommen, dass die Prozessvariablen eines Prozesses nur Temperatur und Druck umfassen. Die Temperatur und der Druck können korreliert sein und folglich führt eine Druckänderung zu einer Temperaturänderung. Die resultierende Temperaturänderung ist jedoch kein zufälliges Ereignis. Druck und Temperatur korrelieren in bekannter und vorhersehbarer Weise miteinander. So kann eine gewünschte Temperaturänderung beispielsweise durch eine Änderung des Drucks um einen bekannten Betrag erreicht werden. Leider handelt es sich bei Kraftwerken und anderen Umgebungen, in denen Prozesssteuerungssysteme implementiert sind, im Allgemeinen nicht um eine Gruppe kleiner geschlossener Systeme, in denen sich die Variablen eines Prozessvariablenpaars nur gegenseitig beeinflussen. Stattdessen enthalten typische Prozesssteuerungssystemumgebungen eine große Anzahl von miteinander interagierenden Prozessvariablen und folglich beeinflusst eine Änderung einer Prozessvariablen eine Reihe anderer Prozessvariablen. Infolgedessen kann möglicherweise durch das Erstellen eines Satzes von Einzelbeziehungen für Prozessvariablen, wie dies in dem im obigen fiktiven System veranschaulicht wurde (z. B. Druck und Temperatur), die Korrelationen zwischen und unter den Prozessvariablen nicht angemessen beschrieben werden. Trotzdem sind selbst in solchen großen Systemen die aus einer Änderung bei einer Prozessvariablen resultierenden Änderungen bei mehreren Prozessvariablen immer noch quantifizierbar und vorhersehbar.
  • In großen Systemen kann beispielsweise zum Ableiten dieser Korrelationen ein datengesteuerter Ansatz verwendet werden. Dieser Ansatz beinhaltet im Allgemeinen das Erfassen einer großen Menge an Daten zu jeder Prozessvariablen. Nach der Erfassung werden die Daten analysiert, um zwischen den einzelnen Sätzen von Prozessvariablen geschätzte Korrelationen zu ermitteln. Durch Analysieren von Datensätzen, die für jede Variable Messwerte vor und nach Änderungen an anderen Prozessvariablen enthalten, kann der datengesteuerte Ansatz für jede Prozessvariable nach einer Änderung an einer anderen Prozessvariablen einen Näherungswert liefern. Im Allgemeinen bietet dieser datengesteuerte Ansatz, da mehr Daten verwendet werden, eine genauere Schätzung, da der datengesteuerte Ansatz für die Vornahme genaue Schätzungen auf einem robusten Datensatz basiert. Jedenfalls können diese geschätzten Korrelationen in einer Online-Umgebung der Prozessanlage implementiert werden, um zu überprüfen, ob die wichtigen Prozessparameter innerhalb ihrer angemessenen Betriebsbereiche liegen.
  • Die Zustandsschätzung ist eine bekannte Technik, um solche Korrelationen korrekt in eine Online-Umgebung einer Prozessanlage zu integrieren. Einfach ausgedrückt wird mittels Zustandsschätzungsmethoden kontrolliert, ob sich wichtige Prozessparameter innerhalb angemessener Betriebsbereiche befinden, indem teilweise die Korrelationen zwischen und unter den wichtigen Prozessparametern berücksichtigt werden. Dabei ist die Methode zur multivariaten Zustandsschätzung (Multivariate State Estimation Technique - MSET) ein gängiges Verfahren zum Implementieren einer Zustandsschätzung, das das Erstellen und Überwachen einer vordefinierten Liste signifikanter Prozessparameter beinhaltet, wobei jeder signifikante Prozessparameter zu jedem Betriebszustand der Prozessanlage eine zugeordnete obere und untere Betriebsgrenze aufweist. Häufig gibt das Prozesssteuerungssystem, wenn einer der Parameter gegen diese vordefinierten Grenzen verstößt, parameterspezifische Alarme aus. Die Stärke dieser Methode liegt darin, dass, wie oben erläutert, Prozessparameter gekoppelt oder zumindest miteinander korreliert werden. Anders ausgedrückt kann eine Änderung bei einem Prozessparameter einen, einige oder jeden anderen Prozessparameter beeinflussen. Somit kann eine Bewegung bei einem signifikanten Prozessparameter ohne entsprechende Änderungen bei anderen Prozessparametern ein Vorbote eines Komponentenausfalls, eines Abdriften des Prozesses oder zeitnaher eines Sequenzstopps sein.
  • Genauer gesagt, wird mit einer MSET ermittelt, ob ein Prozess „normal“ abläuft, indem ein Satz signifikanter Prozessparameterwerte des Prozesses basierend auf Online-Daten geschätzt wird und ermittelt wird, ob die Online-Daten wesentlich von der Schätzung abweichen. Allgemein wird davon ausgegangen, dass der Prozess „normal“ abläuft, wenn jede der Prozessvariablen innerhalb eines spezifizierten Schwellenwertbereichs liegt, und dass, wenn sie außerhalb liegt, dies auf ein Zulaufen auf Ausfallbedingungen (z. B. Komponentenausfall, Sequenzstopp usw.) hinweist. Zur Veranschaulichung kann ein in einem Prozesssteuerungssystem enthaltenes Fehlererkennungssystem im Speicher eine MSET enthalten, um die Überwachung der signifikanten Prozessparameter zu ermöglichen. Das Fehlererkennungssystem kann zunächst direkt von aktiv Prozessparameter des Prozesses überwachenden Sensoren oder von einem Datenhistoriker oder einer anderen Speicherquelle einen Satz von Online-Daten empfangen. Die Online-Daten umfassen numerische Werte, die die zu jeder Prozessvariablen gemessenen Niveaus darstellen. Beispielsweise kann ein Wert, der in den Online-Daten das gemessene Druckniveau repräsentiert, 5 Pounds per Square Inch (psi) angeben. Ebenso können die Online-Daten aus die Temperatur, Viskosität, Durchflussrate und/oder jede andere signifikante Prozessvariable repräsentierenden Werten bestehen.
  • Nach dem Empfangen der Online-Daten verwendet das Fehlererkennungssystem die Online-Daten in einer Reihe mathematischer Operationen, die die MSET definieren. Die Operationen liefern einen Satz geschätzter Daten, mit denen das Fehlererkennungssystem die Online-Daten vergleicht. Im Allgemeinen spiegeln bei jedem in den Online-Daten enthaltenen signifikanten Prozessparameter die geschätzten Daten wie oben beschrieben basierend auf den geschätzten Beziehungen zwischen und unter den signifikanten Prozessparametern die geschätzten Werte wider. Genauer repräsentieren die geschätzten Daten basierend auf der Beziehung, die jede jeweilige Prozessvariable zu jeder anderen in dem Datensatz enthaltenen Prozessvariablen hat, für jede Prozessvariable Werte. Wenn das Fehlererkennungssystem ermittelt, dass die Online-Daten nicht wesentlich von den geschätzten Daten abweichen (z. B. jeweilige Prozessparameter eine Varianz der Schwellenwerte nicht überschreiten), legt das Fehlererkennungssystem fest, dass die Online-Daten einen „normalen“ Betriebszustand des Prozesses repräsentieren. Wenn das Fehlererkennungssystem ermittelt, dass die Online-Daten wesentlich von den geschätzten Daten abweichen, legt das Fehlererkennungssystem fest, dass die Online-Daten eine „anormale“ Betriebsbedingung des Prozesses repräsentieren.
  • Es sei zur Veranschaulichung angenommen, dass ein System drei Prozessvariablen, Temperatur, Druck und Durchflussrate, einschließt. In diesem Beispiel sei angenommen, dass ein empfangener Online-Datensatz angibt, dass die Temperatur 100 °F (Fahrenheit) beträgt, der Druck 200 psi beträgt und die Durchflussrate 1 Kubikmeter pro Sekunde beträgt. Unter Verwendung der MSET kann der resultierende Satz geschätzter Daten angeben, dass die geschätzte Temperatur 103 °F beträgt, der geschätzte Druck 198 psi beträgt und die geschätzte Durchflussrate 1,1 Kubikmeter pro Sekunde beträgt. In diesem Fall wird die Temperatur basierend auf (i) der ermittelten Korrelation zwischen Temperatur und Druck, (ii) der ermittelten Korrelation zwischen Temperatur und Durchflussrate und (iii) den Online-Datenwerten von Temperatur, Druck und Durchflussrate geschätzt. Eine ähnliche Analyse wird zur Erklärung des niedrigeren geschätzten Drucks und der höheren geschätzten Durchflussrate angewendet. Wenn einer oder alle der geschätzten Werte außerhalb eines vordefinierten Bereichs liegen, erzeugt das Fehlererkennungssystem eine Warnung, die einen Bediener, einen Techniker usw. dazu auffordert, Korrekturmaßnahmen zu ergreifen.
  • Allgemein ausgedrückt, umfassen die mathematischen Operationen, die die MSET definieren, die Online-Daten und eine Systemmatrix. Wie bereits erwähnt, können die Online-Daten direkt von aktiv Prozessparameter des Prozesses überwachenden Sensoren empfangen werden oder die Daten können von einem Datenhistoriker abgerufen werden. Die Systemmatrix ist ein Satz von Vektoren, wobei jeder Vektor aus einem Satz von Variablen besteht, die zusammen einen „normalen“ Betriebszustand des Prozesses repräsentieren. Ähnlich wie bei den Online-Daten handelt es sich bei diesen Variablen um skalare Werte (z. B. Zahlen), die Messungen der Prozessvariablen entsprechen. Der übergreifende Zweck der Systemmatrix besteht darin, gemäß den mathematischen Operationen der MSET zuverlässig korrekte Sätze geschätzter Daten zu erzeugen, wenn sie mit den Online-Daten kombiniert werden. Wenn die Systemmatrix richtig konstruiert ist, repräsentieren die geschätzten Daten die bei normalen Betriebsbedingungen erwarteten Werte jeder Prozessvariablen in jedem Online-Datensatz in korrekter Weise. Somit ist, wenn die Systemmatrix richtig konstruiert ist, das eine MSET verwendende Fehlererkennungssystem besser in der Lage, anormale Betriebsbedingungen des Prozesses korrekt vorherzusagen. Da jeder Vektor innerhalb der Systemmatrix einen „normalen“ Betriebszustand des Prozesses repräsentiert, kann man sich jedenfalls darauf verlassen, dass die Prozessvariablenwerte, aus denen jeder Vektor besteht, die zwischen und unter den einzelnen Prozessvariablen bestehenden Korrelationen korrekt repräsentieren. Damit stellt die Systemmatrix die Korrelationen zwischen und unter den signifikanten Prozessparametern des Prozesses besser dar, da mehr „normale“ Betriebsbedingungen des Prozesses repräsentierende Vektoren in die Systemmatrix aufgenommen wurden. Auf diese Weise steht die Genauigkeit der unter Verwendung der Systemmatrix bei einer MSET erzeugten geschätzten Datensätze mit der Anzahl von Vektoren in Beziehung, aus denen die Systemmatrix besteht (z. B. die „Größe“ der Systemmatrix).
  • Dementsprechend stellt das Auswählen oder Erzeugen einer Systemmatrix für den Erfolg eines jeden eine MSET implementierenden Fehlererkennungssystems einen entscheidenden Schritt dar. Das Fehlererkennungssystem kann eine Trainingsroutine umfassen, um die Systemmatrix als einen ersten Schritt vor dem Implementieren des MSET zu erzeugen. Bei derzeit verwendeten Trainingstechniken zum Erzeugen der Systemmatrix muss ein Techniker initiale Parametereingaben vornehmen, um den Trainingsprozess zu definieren. Diese initialen Parametereingaben sind jedoch häufig nicht intuitiv und willkürlich, was zu Verwirrung beim Bediener, schlecht konstruierten Systemmatrizen und einer im Ganzen ungenauen MSET führt, die möglicherweise einen anormalen Prozessbetrieb zulässt, da signifikante Prozessparameterabweichungen nicht festgestellt werden können.
  • Obwohl viele Fehlererkennungssysteme vorgeschlagen und in Prozessanlagen verwendet wurden, sind aufgrund der sich ständig ändernden Zustände in einer Prozessanlage, einschließlich der Abnutzung der Geräte im Laufe der Zeit, des Vorhandenseins von nicht berücksichtigten Störgrößen innerhalb der Anlage usw. in der Regel nur die komplexesten Fehlererkennungssysteme in der Lage, eine hochgenaue Überprüfung des Prozessbetriebs durchzuführen. Darüber hinaus kann es in vielen bekannten Prozesssteuerungssystemen schwierig sein, ein Fehlererkennungssystem für die Überwachung einer Prozessanlage oder eines Teils der Prozessanlage zu trainieren, da die Trainingsaktivitäten getrennt von den Anzeige- und die Steuerungsaktivitäten in der Online-Umgebung der Prozessanlage erfolgen. Wie bereits erwähnt, wird das Trainieren des Fehlererkennungssystems weiter dadurch verkompliziert, dass derzeit verwendete Trainingsverfahren willkürliche und nicht intuitive initiale Parametereingaben umfassen, die mit dem Betrieb des Prozesses möglicherweise in keinerlei Beziehung stehen. Infolgedessen sind die meisten herkömmlichen Fehlererkennungssysteme, die eine MSET verwenden, immer noch nicht eng mit dem tatsächlichen Betrieb des Prozesses in der Prozessanlage koordiniert.
  • KURZDARSTELLUNG
  • Mittels einer verbesserten Trainingstechnik für ein eine MSET verwendendes Fehlererkennungssystem wird unter Verwendung von durch Bediener (oder Techniker) spezifizierten Schwellenwerten der Wurzel des mittleren quadratischen Fehlers (RMS-Fehler), die jeder der Prozessvariablen eines Prozesses in einer Prozessanlage entsprechen, und einer maximalen Systemmatrixgröße eine Systemmatrix erzeugt. Durch die verbesserte Trainingstechnik wird die Systemmatrix iterativ erweitert, indem Online-Prozessdaten, die für „normale“ Prozessbetriebsbedingungen stehen, in die Systemmatrix aufgenommen werden, bis der RMS-Fehlerwert einer jeden Prozessvariablen den entsprechenden RMS-Fehlerschwellenwert erfüllt oder die maximale Systemmatrixgröße erreicht wurde. Auf diese Weise kann die verbesserte Trainingstechnik die Grenzen „normaler“ Prozessbetriebsbedingungen ausreichend innerhalb der Systemmatrix definieren, indem genügend Online-Prozessdaten aufgenommen werden, um für jede Prozessvariable die RMS-Fehlerschwellenwerte zu erfüllen.
  • Diese verbesserte Trainingstechnik ermöglicht es einem Bediener, potenziell anomale Situationen innerhalb des Prozessbetriebs zu erkennen, bevor die anomalen Situationen tatsächlich auftreten. Der Bediener kann sodann möglicherweise Maßnahmen ergreifen, um die dem Problem zugrundeliegende Ursache zu beheben, wodurch die Wahrscheinlichkeit eines Sequenzstopps des Steuerungsprogramms oder Schadens an den Geräten verringert oder verhindert wird.
  • Insbesondere verwendet die verbesserte Trainingstechnik die RMS-Fehlerschwellenwerte, die maximale Systemmatrixgröße und einen Satz Trainingsdaten, die normale Betriebsbedingungen des Prozesses anzeigen, um die Systemmatrix zu erzeugen. Der Satz Trainingsdaten, die die normalen Betriebsbedingungen des Prozesses anzeigen, enthält eine Vielzahl von Vektoren, von denen jeder einen oder mehrere Datenwerte enthält. In der Praxis entsprechen die Datenwerte gemessenen Werten von Prozessvariablen, und jeder Vektor repräsentiert die gemessenen Werte aller Prozessvariablen, die in dem Prozess zu einem gegebenen Zeitpunkt überwacht werden.
  • Das die MSET verwendende Fehlererkennungssystem kann während des Online-Betriebs des Prozesses für jede Prozessvariable RMS-Fehlerwerte analysieren, um potenziell anormale Betriebsbedingungen zu erkennen. Jede Prozessvariable kann basierend auf dem Prozessbetrieb einen eindeutigen RMS-Fehlerschwellenwert haben. Beispielsweise kann ein Prozess eine dominante Variable haben, die in der Regel als die Prozessvariable mit der über den gesamten Bereich normaler Prozessbetriebsbedingungen größten prozentualen Varianz definiert ist. In der Regel sollte die dominante Variable die größte RMS-Fehlerschwelle aller Prozessvariablen haben, da die dominante Variable die größten Schwankungen aller Prozessvariablen erfährt.
  • Die verbesserte Trainingstechnik ermöglicht es dem Bediener, für jede Prozessvariable einen RMS-Fehlerschwellenwert zu spezifizieren. Der Bediener kann beispielsweise spezifizieren, dass die dominante Variable die größte RMS-Fehlerschwelle aller Prozessvariablen hat. Mittels der verbesserten Trainingstechnik wird eine Systemmatrix basierend auf den RMS-Fehlerschwellen erzeugt, die die erwarteten oder akzeptablen RMS-Fehlerschwellenwerte jeder Prozessvariablen während des Online-Betriebs des Prozesses angeben, was wiederum die Genauigkeit der MSET erhöht und die Verwirrung beim Bediener hinsichtlich der vom Fehlererkennungssystem erzeugten Warnungen verringert.
  • Figurenliste
    • 1 ist ein Blockdiagramm eines verteilten Prozesssteuerungsnetzwerks, das sich innerhalb einer Prozessanlage befindet und eine Bediener-Arbeitsstation aufweist, durch die eine verbesserte Systemmatrixtrainingstechnik für ein eine MSET verwendendes Fehlererkennungssystem implementiert wird, um dadurch das Vorliegen von Störungen beim Betrieb der Prozessanlage zu erkennen.
    • 2 ist ein Blockdiagramm eines Fehlererkennungssystems, das eine MSET und ein Trainingssystem verwendet, durch das eine verbesserte Systemmatrixtrainingstechnik implementiert wird, um damit das Vorliegen von Störungen beim Betrieb der Prozessanlage zu erkennen.
    • 3A ist ein Flussdiagramm einer verbesserten Systemmatrixtrainingstechnik, die eine Systemmatrix zur Verwendung in einem Fehlererkennungssystem erzeugt, um das Vorliegen von Störungen beim Betrieb einer Prozessanlage zu erkennen.
    • 3B ist ein Flussdiagramm einer verbesserten Systemmatrixtrainingstechnik, die eine Systemmatrix zur Verwendung in einem Fehlererkennungssystem erzeugt, um das Vorliegen von Störungen beim Betrieb einer Prozessanlage zu erkennen.
    • 4A ist ein Flussdiagramm einer verbesserten Trainingstechnik, mit der ein Satz Systemmatrizen zur Verwendung in einem Fehlererkennungssystem erzeugt wird, um das Vorliegen von Störungen beim Betrieb einer Prozessanlage zu erkennen.
    • 4B ist ein Flussdiagramm einer verbesserten Trainingstechnik, mit der eine aggregierte Systemmatrix zur Verwendung in einem Fehlererkennungssystem erzeugt wird, um das Vorliegen von Störungen beim Betrieb einer Prozessanlage zu erkennen.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • 1 veranschaulicht eine Prozessanlage 10, die ein beispielhaftes Steuernetzwerk aufweist, wie beispielsweise das zu einer Stromerzeugungsanlage gehörende, in dem die verbesserte Trainingstechnik implementiert werden kann. Die Prozessanlage 10 von 1 umfasst insbesondere ein verteiltes Prozesssteuerungssystem mit einem oder mehreren Steuerungen 12, von denen jede mit einem oder mehreren Feldgeräten 14 und 16 über einen Bus 19 und Ein-/Ausgabegeräten (E/A-Geräte) Karten 18 verbunden ist, die z. B. Fieldbus-Schnittstellen, Profibus-Schnittstellen, HART-Schnittstellen, 4-20-mA-Standard-Schnittstellen usw. sein können. Bei dem Bus 19 kann es sich um jede Art von Kommunikationsmedien handeln, wie z. B. einen seriellen Bus, einen drahtlosen Bus oder eine drahtlose Verbindung, oder die E/A-Karten 18 können sich physisch bei den Prozesssteuerungen 12 befinden oder entfernt platziert sein. Die Steuerungen 12 sind auch mit einer oder mehreren Host- oder Bediener-Arbeitsstationen 20 und 22 über eine Datenautobahn 24 gekoppelt, die z. B. eine Ethernet-Verbindung sein kann. Die Datenbanken 28A und 28B können mit der Datenautobahn 24 verbunden sein und als Datenhistoriker arbeiten, die im Fall des Datenhistorikers 28A historische Parameter-, Zustands- und andere Daten sammeln und speichern, die mit den Steuerungen 12 und Feldgeräten 14, 16 innerhalb der Anlage 10 verknüpft sind, und im Fall der Konfigurationsdatenbank 28B Konfigurations- und andere Steuerungsdaten für die Anlage 10 speichern können. Beispielsweise kann die Datenbank 28B als Konfigurationsdatenbank arbeiten, die die aktuelle Konfiguration des Prozesssteuerungssystems innerhalb der Anlage 10 speichert, wie sie in die Steuerungen 12 und die Feldgeräte 14 und 16 heruntergeladen und dort gespeichert wird. Während sich die Steuerungen 12, die E/A-Karten 18 und die Feldgeräte 14 und 16 typischerweise unten in der manchmal rauen Anlagenumgebung befinden und über diese verteilt sind, befinden sich die Bediener-Arbeitsstationen 20 und 22 und die Datenbanken 28A und 28B normalerweise in einem Kontrollraum oder anderen weniger rauen Umgebungen, die Technikern, Bedienern oder Wartungspersonal leicht zugänglich sind.
  • Bekanntlich speichert jede der Steuerungen 12, zum Beispiel die von Emerson Process Management Power and Water Solutions, Inc. verkaufte Ovation®-Steuerung, eine Steuerungsanwendung, die eine Steuerungsstrategie mit einer beliebigen Anzahl verschiedener, unabhängig voneinander ausgeführter Steuermodule oder Blöcke 29 implementiert, und führt diese aus. Jedes der Steuermodule 29 kann aus sogenannten Funktionsblöcken bestehen, wobei jeder Funktionsblock ein Teil oder eine Unterroutine einer übergeordneten Steuerungsroutine ist und in Verbindung mit anderen Funktionsblöcken (über Kommunikationen, die als Links bezeichnet werden) arbeitet, um Prozessregelkreise innerhalb der Prozessanlage 10 zu implementieren. Bekanntlich führen Funktionsblöcke, die in einem objektorientierten Programmierprotokoll Objekte sein können, aber nicht müssen, in der Regel eine Eingabefunktion aus, z. B. diejenige, die mit einem Transmitter, einem Sensor oder einem anderen Prozessparameter-Messgerät verbunden ist, eine Steuerungsfunktion, z. B. diejenige, die mit einer Steuerungsroutine verbunden ist, die eine Proportional-Integral-Ableitung (PID), eine Fuzzy-Logik-Regelung usw. ausführt, oder eine Ausgabefunktion, die den Betrieb eines Geräts, z. B. eines Ventils steuert, um eine physische Funktion innerhalb der Prozessanlage 10 auszuführen. Natürlich gibt es hybride und andere Arten von komplexen Funktionsblöcken wie modellprädiktive Steuerungen (MPCs), Optimierer usw. Während das Fieldbus-Protokoll und das Ovation®-Systemprotokoll Steuermodule und Funktionsblöcke verwenden, die in der Regel in einem objektorientierten Programmierprotokoll entworfen und implementiert werden, können die Steuermodule mit jedem gewünschten Steuerprogrammierungsschema entworfen werden, einschließlich z. B. sequentiellem Funktionsplan, Kontaktplan, usw., und sind nicht darauf beschränkt, mit dem Funktionsblock oder einer anderen speziellen Programmiertechnik entworfen und implementiert zu werden.
  • In der in 1 dargestellten Anlage 10 sind die Feldgeräte 14 und 16 an die Steuerungen 12 angeschlossen und können 4-20-mA-Standardgeräte, intelligente Feldgeräte wie HART-, Profibus- oder FOUNDATION® Fieldbus-Feldgeräte, die einen Prozessor und einen Speicher umfassen, oder jeder andere gewünschte Feldgeräte-Typ sein. Einige dieser Geräte, wie z. B. Fieldbus-Feldgeräte (in 1 mit der Referenznummer 16 gekennzeichnet), können Module oder Untermodule, wie z. B. Funktionsblöcke, speichern und ausführen, die der in den Steuerungen 12 implementierten Steuerungsstrategie zugeordnet sind. Die Funktionsblöcke 30, die in 1 als in zwei verschiedenen der Fieldbus-Feldgeräte 16 angeordnet dargestellt sind, können bekanntlich in Verbindung mit der Ausführung der Steuermodule 29 innerhalb der Steuerungen 12 ausgeführt werden, um einen oder mehrere Prozessregelkreise zu implementieren. Natürlich können die Feldgeräte 14 und 16 beliebige Gerätetypen sein, wie z. B. Sensoren, Ventile, Transmitter, Stellungsregler usw. und die E/A-Geräte 18 können beliebige E/A-Geräte sein, die mit jedem gewünschten Kommunikations- oder Steuerungsprotokoll wie HART, Fieldbus, Profibus usw. kompatibel sind.
  • Darüber hinaus kann Sequenzierungslogik 32 in den Steuerungen 12 oder in einer oder mehreren der Arbeitsstationen 20, 22 oder anderen Computergeräten gespeichert sein, um die verschiedenen Steuerprogramme zur Durchführung von Sequenzierungssteuerungsaktivitäten zu überwachen oder zu steuern. Wie oben erwähnt, implementieren die Sequenzierungslogikmodule 32 einen zeitlich geordneten Satz Steuerungsaktionen an verschiedenen Geräten innerhalb der Anlage 10. Die Einleitung jeder aufeinanderfolgenden Steuerungsaktion setzt den Abschluss der vorhergehenden Steuerungsaktion sowie die Bedingung voraus, dass eine bestimmte Anzahl von Freigaben erfüllt sein muss, was von der Sequenzierungslogik 32 überwacht wird. Die Steuerung der Anlage 10 erfolgt also schrittweise auf der Grundlage der Funktionsweise der Sequenzierungslogik 32. Im Allgemeinen enthält jede Sequenzierungslogik 32 eine Reihe zusammengehöriger Schritte, die nacheinander ausgeführt werden. Jeder Schritt beinhaltet oder repräsentiert im Allgemeinen eine gewisse Anzahl von Freigaben, die erfüllt werden müssen, und eine oder mehrere Aktionen, die vor dem Abschluss dieses Schrittes abgeschlossen werden müssen. Freigaben sind typischerweise eine Funktion von einem oder mehreren externen Rückkopplungseingängen, Parametern und Status, die vom Steuerprogramm logisch ausgewertet werden. Beispielsweise ist die Bewertung oder der Status jeder Freigabe das Ergebnis einer logischen Operation, die eine Bewertung zu einer wahren oder falschen Bedingung vornimmt. Diese Freigaben können z. B. der Status der Feldausrüstung (z. B. in Betrieb / angehalten / offen / geschlossen), der Abschluss eines vorhergehenden Schritts oder einer vorhergehenden Aktion, Werte von Prozessparametern, die über oder unter einem bestimmten Schwellenwert liegen, usw. sein. Darüber hinaus basiert der Übergang von jedem aufeinanderfolgenden Schritt in der Logiksequenz auf der Auswertung jedes Freigabesignals, das für diesen Schritt gilt.
  • Darüber hinaus können eine oder mehrere der Arbeitsstationen 20 und 22 in bekannter Weise Benutzerschnittstellen-Anwendungen umfassen, mit denen ein Benutzer, z. B. ein Bediener, ein Konfigurationstechniker, eine Wartungsperson usw., eine Schnittstelle zum Prozesssteuerungsnetzwerk innerhalb der Anlage 10 herstellen kann. Insbesondere ist die Arbeitsstation 22 so dargestellt, dass sie eine oder mehrere Benutzerschnittstellen-Anwendungen 35 umfasst, die auf einem Prozessor innerhalb der Arbeitsstation 22 ausgeführt werden können, um mit der Datenbank 28, den Steuermodulen 29 oder anderen Routinen innerhalb der Steuerungen 12 oder der E/A-Geräte 18, mit den Feldgeräten 14 und 16 und den Modulen 30, 32 innerhalb dieser Feldgeräte, Steuerungen usw. zu kommunizieren, um Informationen von der Anlage 10 zu erhalten, z. B. Informationen über den aktuellen Zustand des Prozesssteuerungssystems. Die Benutzerschnittstellen-Anwendungen 35 können diese erfassten Informationen auf einem Anzeigegerät 37 verarbeiten und/oder anzeigen, das einer oder mehreren der Arbeitsstationen 20 und 22 zugeordnet ist. Die erfassten, verarbeiteten und/oder angezeigten Informationen können z. B. Prozesszustandsinformationen, innerhalb der Anlage 10 erzeugte Alarme und Warnungen, Wartungsdaten usw. sein. Ebenso können eine oder mehrere Anwendungen 39 in den Arbeitsstationen 22 und 20 gespeichert und ausgeführt werden, um Konfigurationsaktivitäten durchzuführen, wie z. B. das Erstellen oder Konfigurieren der Module 29, 30 und 32, die innerhalb der Anlage 10 ausgeführt werden sollen, um Bedienungsaktivitäten wie das Ändern von Sollwerten oder anderen Steuerungsgrößen innerhalb der Anlage 10 durchzuführen, usw. Natürlich ist die Anzahl und Art der Routinen 35 und 39 nicht durch die hier vorliegende Beschreibung begrenzt, und andere Anzahlen und Arten von Routinen im Zusammenhang mit der Prozesssteuerung können gegebenenfalls in den Arbeitsstationen 20 und 22 implementiert und gespeichert werden.
  • Die Arbeitsstation 20 aus 1 ist zudem so veranschaulicht, dass sie eine Fehlererkennungsanwendung 40 einschließt, die eine Benutzerstellen-Anwendung und Datenstrukturen zum Durchführen einer Fehlererkennung in Bezug auf den Betrieb der Anlage 10 einschließen kann. Insbesondere überwacht die Fehlererkennungsanwendung 40 das Steuernetzwerk der Prozessanlage, das von den Steuerungsblöcken 29, 30 und 32 sowie anderen in den Steuerungen 12 und möglicherweise den Feldgeräten 14, 16 ausgeführten Steuerungsroutinen implementiert wird. Auf die Fehlererkennungsanwendung 40 kann von jedem berechtigten Benutzer (wie einem Konfigurationstechniker, einem Bediener oder einer anderen Art von Benutzer) zum Durchführen eines Trainings der Fehlererkennungsanwendung 40 zugegriffen werden und die Fehlererkennungsanwendung 40 ermöglicht es einem Benutzer, verschiedene Trainings- und Fehlererkennungsaktivitäten in Bezug auf die Prozessanlage 10 durchzuführen, während das Steuerungssystem der Prozessanlage 10 in Betrieb und online bleibt, um die Anlage 10 zu steuern.
  • Wie in 1 dargestellt, kann die Fehlererkennungsanwendung 40 in einem Speicher 42 der Arbeitsstation 20 gespeichert sein und jede der Komponenten der Fehlererkennungsanwendung 40 ist so eingerichtet, dass sie auf einem der Arbeitsstation 20 zugeordneten Prozessor 46 ausgeführt wird. Während die gesamte Fehlererkennungsanwendung 40 als in der Arbeitsstation 20 gespeichert dargestellt wird, könnten einige Komponenten der Fehlererkennungsanwendung 40 in anderen Arbeitsstationen oder Computergeräten innerhalb oder in Verbindung mit der Anlage 10 gespeichert sein und ausgeführt werden. Darüber hinaus kann die Fehlererkennungsanwendung 40 Bildschirmausgaben auf dem Bildschirm 37, der der Arbeitsstation 20 zugeordnet ist, oder auf jedem anderen gewünschten Bildschirm oder Anzeigegerät, einschließlich Handheld-Geräten, Laptops, anderen Arbeitsstationen, Druckern usw., bereitstellen. Ebenso kann die Fehlererkennungsanwendung 40 aufgeteilt und auf zwei oder mehr Computern oder Maschinen ausgeführt werden, die dafür konfiguriert werden können, in Verbindung miteinander zu arbeiten. Beispielsweise kann die Anwendung 40 in den Steuerungen 12 oder den Feldgeräten 14 und 16 ausgeführt werden.
  • Im Allgemeinen bietet bzw. ermöglicht die Fehlererkennungsanwendung 40 Fehlererkennung bezüglich des Betriebs der Prozessanlage 10 und konkreter Fehlererkennung bezüglich des durch die Steuerungsroutinen 29, 30 und 32 in den Steuerungen 12 und Feldgeräten 14 und 16 implementierten Prozessanlagen-Steuerungssystems. Insbesondere kann die Fehlererkennungsanwendung 40 potenziell anormale Betriebsbedingungen der Prozessanlage 10 durch Anwenden einer MSET auf Online-Daten von Prozessvariablen feststellen, die von den Steuerungen 12 und den Feldgeräten 14 und 16 empfangen wurden, um für jede in den Online-Daten von Prozessvariablen repräsentierte Prozessvariable einen Satz von geschätzten Werten zu berechnen. Die Fehlererkennungsanwendung 40 berechnet für jede Prozessvariable unter Verwendung des Satzes von geschätzten Werten und der Online-Daten von Prozessvariablen einen RMS-Fehlerwert und die Anwendung 40 vergleicht den RMS-Fehlerwert einer jeden Prozessvariablen mit einem entsprechenden RMS-Fehlerwert einer jeden Prozessvariablen. Wenn die Fehlererkennungsanwendung 40 feststellt, dass der RMS-Fehlerwert einer jeweiligen Prozessvariablen den entsprechenden RMS-Fehlerwert der jeweiligen Prozessvariablen überschreitet, legt die Anwendung 40 fest, dass innerhalb des Betriebs der Anlage 10 ein potenziell anormaler Betriebszustand vorliegt. Dementsprechend erzeugt die Fehlererkennungsanwendung 40 ein Warnsignal und überträgt es an den Bildschirm 37 oder einen anderen Bildschirm oder ein anderes Anzeigegerät.
  • Beispielsweise kann die Sequenzierungslogik 32 die Steuerungen 12 anweisen, alle oder einige Prozessvariablen der Anlage 10 zu messen und die Messungen an die Fehlererkennungsanwendung 40 zu übertragen. Die Ausgabe der Fehlererkennungsanwendung 40 kann auf eine Freigabe der Sequenzierungslogik 32 angewendet werden. Stellt die Anwendung 40 beispielsweise fest, dass innerhalb des Betriebs der Anlage 10 ein potenziell anormaler Betriebszustand vorliegt, kann die Freigabe möglicherweise nicht erfüllt sein, der Betrieb des Prozesses in der Anlage 10 kann möglicherweise nicht mit dem nachfolgenden Schritt der Sequenzierungslogik 32 fortfahren und die Fehlererkennungsanwendung 40 kann dann das Warnsignal erzeugen und an den Bildschirm 37 übertragen, um einen potentiellen Signal zu verhindern, bevor ein Stoppsignal darauf verweist.
  • Bevor jedoch die Fehlererkennungsanwendung 40 die MSET auf die Online-Prozessvariablendaten anwenden kann, muss die Anwendung 40 eine Systemmatrix erzeugen, indem sie eine Trainingstechnik auf Trainingsdaten anwendet, die von den Steuerungen 12 und den Feldgeräten 14 und 16 oder einer Historiker-Datenbank (z. B. Historiker 28A) eingehen. Während die Anlage 10, die gesteuert wird, hier als eine Stromerzeugungsanlage beschrieben wird, die mit verteilten Steuerungstechniken gesteuert wird, kann die hier beschriebene Fehlererkennungstrainingstechnik auch in anderen Arten von Anlagen und Steuerungssystemen eingesetzt werden, einschließlich industrieller Fertigungsanlagen, Wasser- und Abwasserbehandlungsanlagen sowie in Steuerungssystemen, die zentral oder innerhalb eines einzelnen Computers implementiert und daher nicht über die gesamte Anlage verteilt sind.
  • 2 zeigt generell ein beispielhaftes Prozesssteuerungssystem 50, ein Trainingssystem 52 und ein Fehlererkennungssystem 54, um in der Anlage 10 aus 1 beispielsweise eine Fehlererkennung durchzuführen. Das Prozesssteuerungssystem 50 kann auch die Steuermodule 29, 30 und 32 aus 1 sowie alle weiteren Steuerungsroutinen, die in den verschiedenen Steuergeräten (z. B. Steuerungen 12) und Feldgeräten (z. B. Geräte 14 und 16) der Anlage 10 aus 1 angeordnet und ausgeführt werden, einschließen. Das Trainingssystem 52 und das Fehlererkennungssystem 54 können jeweils in die Bediener-Arbeitsstation 20 oder 22 und insbesondere in den Speicher 42 integriert sein. Das Trainingssystem 52 und das Fehlererkennungssystem 54 können jeweils zusätzlich als Teil der Fehlererkennungsanwendung 40 integriert sein.
  • Allgemein ausgedrückt überwacht das Prozesssteuerungssystem 50 physikalische Parameter (z. B. Temperatur, Druck usw.) eines in einer Anlage ablaufenden Prozesses, um zu festzustellen, wann die physikalischen Parameter möglicherweise geändert werden müssen. Insbesondere kann das Prozesssteuerungssystem 50 Ausgaben von die physikalischen Parameter des Prozesses steuernden Feldgeräten messen, um Steuersignale zu erzeugen, die den Betrieb der Feldgeräte so einstellen, dass sich die physikalischen Parameter wie erforderlich ändern. Das Prozesssteuerungssystem 50 kann diese Steuersignale beispielsweise als Reaktion auf das Empfangen eines neuen Sollwerts des Prozesses oder das Erfassen des Vorliegens einer Fehlerbedingung beim Betrieb des Prozesses erzeugen.
  • Das Fehlererkennungssystem 54 kann das Vorliegen von Fehlerbedingungen im Betrieb eines Prozesses erkennen, indem es eine MSET verwendet, wobei dafür eine Systemmatrix benötigt wird, um die Berechnungen durchzuführen, durch die die MSET definiert wird. Im Allgemeinen kann das Prozesssteuerungssystem 50, um die Systemmatrix zu erzeugen, einen Datensatz, der Online-Daten des Prozesses, jeder der Prozessvariablen entsprechende Fehlerschwellen und eine maximale Systemmatrixgröße umfasst, aufzeichnen und/oder (z. B. von einem Datenhistoriker) empfangen. Das Prozesssteuerungssystem 50 kann den Datensatz an das Trainingssystem 52 übertragen, das die Systemmatrix durch Anwenden einer Systemmatrixtrainingssequenz auf den Datensatz erzeugt. Das Trainingssystem 52 kann dann die Systemmatrix an das Fehlererkennungssystem 54 übertragen, um nachfolgende Online-Daten mit geschätzten Daten zu vergleichen, die unter Verwendung der Systemmatrix in der MSET erzeugt wurden. Wenn das Fehlererkennungssystem 54 feststellt, dass die Differenz zwischen den nachfolgenden Online-Daten und den geschätzten Daten eine Fehlerschwelle überschreitet, kann das Fehlererkennungssystem 54 das Vorliegen eines Fehlers beim Prozessbetrieb feststellen und ein Warnsignal erzeugen, um den Bediener darüber zu informieren.
  • Das Prozesssteuerungssystem 50 kann Online-Daten eines Prozesses aufzeichnen und Fehlerschwellen, die jeder der Prozessvariablen entsprechen, und eine maximale Systemmatrixgröße erhalten. Ferner kann das Prozesssteuerungssystem 50 einen Bediener über an einem oder mehreren Feldgeräten erfolgenden Änderungen in Kenntnis gesetzt werden und von einem Bediener bezüglich Einstellungen an dem einen oder den mehreren Feldgeräten Eingaben, wie einen neuen Sollwert der Anlage oder ein Steuersignal für ein bestimmtes Feldgerät, erhalten.
  • Insbesondere schließt das Prozesssteuerungssystem 50 eine Prozesssteuerung 56 ein, die kommunikativ und physisch mit einem Prozess 58 sowie mit einer Benutzerschnittstelle 60 gekoppelt ist. Die Prozesssteuerung 56 kann die Steuerungen 12 aus 1 einschließen, die ein oder mehrere Steuersignale, die an die verschiedenen Steuergeräte innerhalb der Anlage 10 geliefert werden, sowie die Steuersignale, die von der Sequenzierungslogik 32 implementiert oder erzeugt werden, erzeugen, um die Steuermodule innerhalb des Prozesses zu steuern, und die zusammen dazu dienen, die Anlage 10 zu steuern. Natürlich kann die Prozesssteuerung 56 alle gewünschten Steuerungstypen umfassen, die alle gewünschten Arten von Steuerungsroutinen oder -techniken implementieren, wie z. B. PID, Fuzzy-Logik, neuronales Netzwerk, modellprädiktive Steuerungsroutinen usw.
  • Gleichermaßen umfasst der Prozess 58 die Einheiten, Maschinen, Geräte und die zugehörige Hardware, die zur Durchführung des gesteuerten Prozesses eingerichtet sind. In einer Energieerzeugungsanlage kann der Prozess 58 beispielsweise Generatoren, Brennstoffzufuhrsysteme, Wärmetauscher, Kondensatoren, Dampfgeneratoren, Ventile, Tanks usw. sowie Sensoren und Transmitter umfassen, die innerhalb der Anlage zum Messen verschiedener Prozessparameter oder -größen angeordnet sind.
  • Über die Benutzerschnittstelle 60 kann ein Bediener sich mit der Prozesssteuerung 56 und dem Prozess 58 verbundene Daten anzeigen lassen und/oder mit ihnen interagieren. So kann es sich bei der Benutzerschnittstelle 60 um eine Arbeitsstation (z. B. Arbeitsstation 20) handeln und diese kann einen Bildschirm aufweisen, über den sich der Bediener von der Prozesssteuerung 56 erzeugte Steuersignale, Online-Daten aus dem Prozess 58 und/oder andere geeignete Daten anzeigen lassen kann. Der Bediener kann zudem über die Benutzerschnittstelle 60 Befehle eingeben, wie Steuersignale zum Steuern des Betriebs des Prozesses 58, den einzelnen Prozessvariablen entsprechende Fehlerschwellen und eine maximale Systemmatrixgröße.
  • Insbesondere kann die Prozesssteuerung 56 von dem Prozess 58 Online-Daten Y empfangen und ein oder mehrere Steuersignale U erzeugen, die basierend auf dem Online-Daten Y den Betrieb eines oder mehrerer Feldgeräte (z. B. Feldgeräte 14, 16) einstellen. Diese Steuersignale werden durch den Vektor U in 2 dargestellt, um anzuzeigen, dass die Prozesssteuerung 56 dem Prozess 58 zum Steuern des Betriebs der Anlage 10 einen Vektor von Steuersignalen bereitstellen kann. Gleichermaßen wird, wie in 2 dargestellt, ein Vektor Y von Prozessvariablem innerhalb des Prozesses 58 gemessen (z. B. durch Sensoren usw.) und als Rückkopplungssignale an die Prozesssteuerung 56 zur Verwendung bei der Erzeugung der Steuersignale U geliefert. Die Prozesssteuerung 56 kann zudem zusätzliche Eingaben, wie Sollwerte SP und Zustandsvariablen, zur Verwendung bei der Erzeugung der Steuersignale U empfangen und diese Eingaben können durch einen Bediener an der Benutzerschnittstelle 60 erfolgen.
  • Zum Beispiel kann die Prozesssteuerung 56 von einem Bediener einen Sollwert empfangen, der angibt, dass die Anlage 10 von einem ersten Betriebszustand in einen in bestimmten Teilen der Anlage 10 eine höhere Temperatur erfordernden zweiten Betriebszustand wechselt. Die Prozesssteuerung 56 kann zudem einen Satz Online-Daten Y empfangen, die aktuelle physikalische Parameter, wie eine aktuelle Zustandsvariable, zumindest in den bestimmten Teilen der Anlage anzeigen, die die höhere Temperatur erfordern. Die Prozesssteuerung 56 kann sodann den Satz Online-Daten Y analysieren, um ein oder mehrere Steuersignale U zu erzeugen, die den Betrieb eines oder mehrerer Feldgeräte einstellen (z. B. Ventile öffnen/schließen, Gebläse aktivieren/deaktivieren usw.), so dass sich in den bestimmter Abschnitten der Anlage 10 die höhere Temperatur ergibt. Nachdem die Feldgeräte eingestellt wurden, kann der Prozess 58 (z. B. über die Feldgeräte) an die Prozesssteuerung 56 einen nachfolgenden Satz Online-Daten Y, einschließlich einer nachfolgenden Zustandsvariablen, übertragen, um die höhere Temperatur in den bestimmten Abschnitten der Anlage 10 zu bestätigen.
  • Jedenfalls kann die Prozesssteuerung 56, nachdem die Prozesssteuerung 56 einen Satz Online-Daten Y empfängt, den Satz Online-Daten Y im Speicher (z. B. Speicher 42) speichern. Beispielsweise kann ein Bediener die Benutzerschnittstelle 60 verwenden, um eine Anweisung einzugeben, die die Prozesssteuerung 56 veranlasst, den Satz Online-Daten Y abzuspeichern. Der Bediener kann zudem eine Anweisung eingeben, um eine Systemmatrixtrainingssequenz zum Erzeugen einer Systemmatrix zu starten. Das Prozesssteuerungssystem 50 kann sodann alle oder einen Teil der gespeicherten Online-Daten an das Trainingssystem 52 übertragen, damit diese als ein Trainingsdatensatz (z. B. Trainingsdatensatz Z) verwendet werden.
  • Im Allgemeinen repräsentiert ein Trainingsdatensatz Z eine Aggregation von in dem Prozess 58 gemessenen Online-Daten Y (einschließlich Daten, die in einer Historiker-Datenbank für Offline-Zwecke aufgezeichnet sind), die normale Betriebsbedingungen des Prozesses 58 repräsentieren. In der Praxis stellen die Online-Daten Y, wie sie in dem Prozess 58 gemessen werden, einen kontinuierlichen oder zumindest häufig aktualisierten Datenstrom dar, der den aktuellen Betriebszustand des Prozesses 58 repräsentiert. Die Prozesssteuerung 56 aggregiert die Online-Daten Y durch Ausführen von Routinen, um normale Prozessvariablenmessungen zu ermitteln und auszuwählen, oder einfach durch Empfangen eines Befehls zum Aggregieren der Online-Daten Y. Darüber hinaus kann der Trainingsdatensatz Z dynamische Informationen enthalten, um Änderungen des Betriebszustands des Prozesses 58 seit der Erfassung des Trainingsdatensatzes Z zu berücksichtigen. Diese dynamischen Informationen können Folgendes enthalten: eine Ableitung erster, zweiter oder beliebiger höherer Ordnung einer Prozessvariable; einen Mittelwert, einen Median, einen Modus, eine Standardabweichung, ein Maximum, ein Minimum oder jede andere statistische Darstellung historischer Werte einer Prozessvariable; Frequenzkomponenten eines Prozessvariablensignals; Zeitstempelinformationen eines Prozessvariablensignals; und/oder andere geeignete Informationen. Darüber hinaus können diese dynamischen Informationen in einen Vektor des Trainingsdatensatzes Z aufgenommen werden oder können einen speziellen Vektor umfassen, der in den Trainingsdatensatz Z aufgenommen wird.
  • Eine Systemmatrixtrainingssequenz erfordert im Allgemeinen einen Trainingsdatensatz, einen Satz Fehlerschwellen und eine maximale Systemmatrixgröße. Jede Fehlerschwelle entspricht im Allgemeinen einer Abweichung einer Prozessvariablen von einem geschätzten Wert, den das Trainingssystem 52 durch Anwenden der MSET auf den Trainingsdatensatz Z erzeugt. In der Regel wird jede Fehlerschwelle basierend auf einem Prozentsatz eines akzeptablen Wertebereichs einer entsprechenden Prozessvariablen während des Online-Betriebs eines Prozesses berechnet und wird vor der Systemmatrixtrainingssequenz berechnet. Der Satz Fehlerschwellen kann beispielsweise durch das Trainingssystem 52 berechnet werden. Die maximale Systemmatrixgröße kann im Allgemeinen einer maximalen Anzahl von in die Systemmatrix aufzunehmenden Vektoren entsprechen und kann auf der Speicherkapazität und/oder Rechenleistung der Bediener-Arbeitsstation 20, 22, Steuerungen 14 und/oder der Feldgeräte 14 oder 16 basieren. In der Praxis ist die maximale Systemmatrixgröße nicht anwendungsabhängig, und folglich kann ein Techniker einen Wert für die maximale Systemmatrixgröße basierend auf der Verarbeitungsgeschwindigkeit und der Speicherkapazität des den Trainingsprozess ausführenden Computers auswählen. Die maximale Systemmatrixgröße kann von einem Bediener als nicht einstellbarer Parameter festgelegt werden, um den Trainingsprozess zu standardisieren, indem eine Systemmatrix mit gleichbleibender Größe erzeugt wird, und um zukünftige Trainingssequenzen zu beschleunigen, indem zusätzliche Benutzereingaben eingespart werden. Dementsprechend kann ein Techniker einen Fehlerparameter eingeben, der zum Berechnen des Satzes Fehlerschwellen und einer maximalen Systemmatrixgröße verwendet wird (zusammenfassend als „Trainingsinitiierungseingabe X“ bezeichnet).
  • Wenn in Ausführungsformen ein Bediener oder Techniker eine Anweisung, eine Systemmatrixtrainingssequenz zu starten, eingibt, kann der Techniker/Bediener darüber hinaus eine Prozessvariable als dominante Variable festlegen. Die dominante Variable ist in der Regel als die Prozessvariable mit der über den gesamten Bereich normaler Betriebsbedingungen des Prozesses 58 hinweg größten prozentualen Varianz definiert. Alternativ kann das Trainingssystem 52 die dominante Variable automatisch bestimmen, indem es die prozentuale Varianz jeder Prozessvariablen über den normalen Betriebsbereich hinweg analysiert, um die Prozessvariable zu bestimmen, die der über den normalen Betriebsbereich hinweg größten prozentualen Varianz entspricht. In der Praxis kann die dominante Variable die Prozessvariable sein, die die anderen Prozessvariablen des Prozesses 58 am meisten beeinflusst, oder die dominante Variable kann einfach die Variable sein, die für den Techniker/Bediener von größtem Interesse ist. Dementsprechend kann der Techniker/Bediener eine dominante Variable in Situationen bestimmen, in denen das Trainingssystem 52 die Variable von Interesse möglicherweise nicht automatisch nach der oben beschriebenen numerischen Analyse festlegt. Wenn der Techniker/Bediener die dominante Variable bestimmt, überträgt die Benutzerschnittstelle 60 in jedem Fall die Festlegung als dominante Variable als Teil der Trainingsinitiierungseingabe X.
  • Im Allgemeinen verwendet das Trainingssystem 52 Eingaben des Prozesssteuerungssystems 50, um eine Systemmatrix zur Verwendung bei der Fehlererkennung während des Online-Betriebs des Prozesses 58 zu erzeugen. Das Trainingssystem 52 erzeugt die Systemmatrix durch Anwenden einer Systemmatrixtrainingssequenz auf die von dem Prozesssteuerungssystem 50 empfangenen Eingaben. Genauer gesagt ermittelt das Trainingssystem 52, ob die von dem Prozesssteuerungssystem 50 empfangenen Eingaben die notwendigen Daten enthalten, um die Systemmatrixtrainingssequenz durchzuführen, und führt, wenn dies der Fall ist, die Systemmatrixtrainingssequenz durch iteratives Anwenden der MSET auf den Trainingsdatensatz Z und die Trainingsinitiierungseingabe X durch, um die Systemmatrix zu erzeugen.
  • Wie in 2 veranschaulicht, weist das Trainingssystem 52 ein Trainingsinitiierungsmodul 62 und ein Systemmatrixbestimmungsmodul 64 auf. Das Trainingsinitiierungsmodul 62 verwendet im Allgemeinen die Eingaben des Prozesssteuerungssystems 50, um zu ermitteln, ob die zum Durchführen der Systemmatrixtrainingssequenz notwendigen Daten vorhanden sind. Genauer gesagt analysiert das Trainingsinitiierungsmodul 62 den Trainingsdatensatz Z und die Trainingsinitiierungseingabe X, um zu ermitteln, ob sie zusammen genommen einen Trainingsdatensatz, einen Fehlerparameter und eine maximale Systemmatrixgröße enthalten, die jeweils zum Durchführen der Systemmatrixtrainingssequenz erforderlich sind. Wenn das Trainingsinitiierungsmodul 62 ermittelt, dass ein Trainingsdatensatz, ein Fehlerparameter und eine maximale Systemmatrixgröße jeweils vorhanden sind, kann das Trainingsinitiierungsmodul 62 einen Satz Fehlerschwellen und ein Initiierungssignal erzeugen. Das Trainingsinitiierungsmodul 62 enthält jeweils den Trainingsdatensatz, den Satz Fehlerschwellen, die maximale Systemmatrixgröße und das Initiierungssignal in einem Trainingsinitiierungssignal V, das dazu konfiguriert ist, die Systemmatrixtrainingssequenz zu initiieren, die das Modul 62 sodann an das Systemmatrixbestimmungsmodul 64 sendet.
  • Als ein Beispiel für das Erzeugen des Satzes Fehlerschwellen werde angenommen, dass ein Prozess 58, der in einer Anlage 10 abläuft, n Prozessvariablen enthält, so dass 1 ≤i≤n, wobei i für eine bestimmte Prozessvariable steht. Beim Initiieren einer Systemmatrixtrainingssequenz kann die Benutzerschnittstelle 60 dem Bediener eine Aufforderung anzeigen, eine maximale Systemmatrixgröße und einen Fehlerparameter (z. B. Prozentsatz) auszuwählen, der einer Fehlerschwelle einer jeden Prozessvariablen (i) entspricht. Eine Fehlerschwelle (hier als Trms,i bezeichnet) kann folgendermaßen definiert werden: T rms ,i = α ( x max ,i x min ,i ) 100
    Figure DE112020007099T5_0001
    wobei xmax,i und xmin,i maximale bzw. minimale „normale“ Werte einer jeden Prozessvariable (i) in dem Trainingsdatensatzes Z sind und α der Fehlerparameter ist, den der Bediener anpassen kann, um gegebenenfalls die Fehlerschwelle einzustellen. Muss zum Beispiel der Techniker/Bediener Trms,i herabsetzen und dementsprechend die Genauigkeit der Systemmatrixtrainingssequenz erhöhen, kann der Techniker/Bediener α herabsetzen. Sobald der Bediener α auf ein gewünschtes Niveau einstellt und eine maximale Systemmatrixgröße bereitstellt, überträgt die Benutzerschnittstelle 60 α und die maximale Systemmatrixgröße über die Trainingsinitiierungseingabe X an das Trainingssystem 52. Das Trainingssystem 52 und insbesondere das Trainingsinitiierungsmodul 62 empfängt die Trainingsinitiierungseingabe X und den Trainingsdatensatz Z und berechnet unter Verwendung der Gleichung (1) für jede Prozessvariable (i) eine Fehlerschwelle.
  • Wenn das Trainingsinitiierungsmodul 62 jedoch ermittelt, dass eines oder mehrere von einem Trainingsdatensatz, einem Fehlerparameter und einer maximalen Systemmatrixgröße fehlen, erzeugt das Trainingsinitiierungsmodul 62 das Trainingsinitiierungssignal V möglicherweise nicht und initiiert somit die Systemmatrixtrainingssequenz nicht. Beispielsweise kann das Trainingsinitiierungsmodul 62 ermitteln, dass der Trainingsdatensatz vorhanden ist, aber dass der Fehlerparameter und die maximale Systemmatrixgröße fehlen, da keine Trainingsinitiierungseingabe X empfangen wurde. In der Regel wird die Systemmatrixtrainingssequenz offline durchgeführt, so dass ein Techniker/Bediener die Trainingssequenz nicht initiieren kann, aber die Trainingsinitiierungseingabe X kann in Ausführungsformen einen Bedienerbefehl repräsentieren, um die Systemmatrixtrainingssequenz zu initiieren oder erneut zu initiieren. Nachdem ein Techniker/Bediener in diesen Ausführungsformen ermittelt hat, dass das Trainingssystem 52 über einen angemessenen Trainingsdatensatz Z zum Durchführen der Systemmatrixtrainingssequenz verfügt, kann der Techniker/Bediener die Trainingsinitiierungseingabe X über die Benutzerschnittstelle 60 eingeben und das Trainingsinitiierungsmodul 62 anweisen, das Trainingsinitiierungssignal V zu erzeugen. Das Trainingsinitiierungsmodul 62 kann in Ausführungsformen ein Trainingsinitiierungssignal V nur basierend auf dem Trainingsdatensatz Z erzeugen, aber in der Regel verzögert das Trainingsinitiierungsmodul 62 das Erzeugen des Trainingsinitiierungssignals V bis ein Techniker/Bediener die Trainingsinitiierungseingabe X über die Benutzerschnittstelle 60 bereitstellt.
  • Darüber hinaus kann das Trainingsinitiierungsmodul 62 in Ausführungsformen einen Fehlerparameter und/oder eine maximale Systemmatrixgröße aus dem Speicher abrufen, wenn einer dieser Werte oder diese beiden Werte nicht in der Trainingsinitiierungseingabe X enthalten sind. Beispielsweise kann das Trainingsinitiierungsmodul 62 einen Fehlerparameter und/oder eine maximale Systemmatrixgröße abrufen, die ein Bediener vorbestimmen und im Speicher speichern kann. Das Trainingsinitiierungsmodul 62 kann zudem den Fehlerparameter und/oder eine maximale Systemmatrixgröße basierend auf vorherigen Systemmatrixtrainingssequenzen oder einer anderen Erzeugungstechnik / einem anderen Erzeugungsmodell, die geeignet sind, berechnen. Beispielsweise kann das Trainingsinitiierungsmodul 62 Werte für einen Fehlerparameter und/oder eine maximale Systemmatrixgröße basierend auf bekannter Rechenleistung / Speicherkapazitäten und/oder erforderlicher/gewünschter Genauigkeit des Systemmatrixtrainings berechnen. Wenn die Speicherkapazität (z. B. verfügbarer Speicher) des Steuernetzwerks zur Veranschaulichung für eine Systemmatrix größer als 2 MB nicht ausreichend ist, kann das Trainingsinitiierungsmodul 62 eine maximale Systemmatrixgröße berechnen, die einer Dateigröße kleiner oder gleich 2 MB entspricht.
  • Das Trainingsinitiierungssignal V kann den Trainingsdatensatz, einen Satz Fehlerschwellen, die maximale Systemmatrixgröße und ein Initiierungssignal enthalten, das dazu konfiguriert ist, das Systemmatrixbestimmungsmodul 64 zu veranlassen, die Systemmatrixtrainingssequenz durchzuführen. Im Allgemeinen kann der Satz Fehlerschwellen RMS-Fehlerschwellen für jede Prozessvariable entsprechen, aber es versteht sich, dass jede geeignete Fehlermetrik, wie Varianz, verwendet werden kann, um den Satz Fehlerschwellen zu definieren. Der RMS-Fehler ist ein bekannter Fehlerindex auf dem Gebiet der Prozessmodellierung, der von Praktikern (z. B. Anlagenbetreibern) weithin akzeptiert wird und eine robuste, selbstdefinierende Fehlerschwelle bereitstellt, da bei der Auswertung von Online-Daten Y der RMS-Fehler in der Regel der Wert von Interesse ist, unabhängig davon, ob der RMS-Fehler explizit im Trainingsprozess enthalten ist.
  • In jedem Fall kann das Trainingsinitiierungsmodul 62 zum Initiieren der Systemmatrixtrainingssequenz das Trainingsinitiierungssignal V an das Systemmatrixbestimmungsmodul 64 übertragen. Im Allgemeinen verwendet das Systemmatrixbestimmungsmodul 64 die in dem Trainingsinitiierungssignal V enthaltenen Daten zum Erzeugen der Systemmatrix, indem es die Systemmatrixtrainingssequenz durchführt. Genauer gesagt führt das Systemmatrixbestimmungsmodul 64 die Systemmatrixtrainingssequenz durch, indem es die MSET iterativ auf den Trainingsdatensatz Z anwendet und die Ergebnisse mit der Trainingsinitiierungseingabe X auswertet, um die Systemmatrix zu erzeugen.
  • Auf sehr abstrakter Ebene umfasst die durch das Systemmatrixbestimmungsmodul 64 durchgeführte Systemmatrixtrainingssequenz das iterative Analysieren und Einfügen von Vektoren aus dem Trainingsdatensatz Z in eine aktuelle Systemmatrix Di. Im Allgemeinen enthält die aktuelle Systemmatrix D; zu Beginn der Systemmatrixtrainingssequenz zwei Vektoren aus dem Trainingsdatensatz Z. Im Allgemeinen werden während jeder Iteration der Systemmatrixtrainingssequenz, die das Systemmatrixbestimmungsmodul 64 durchführt, der aktuellen Systemmatrix D; ein oder mehrere Vektoren aus dem Trainingsdatensatz Z hinzugefügt. Genauer gesagt kann das Systemmatrixbestimmungsmodul 64 Vektoren aus dem Trainingsdatensatz Z analysieren, indem es die mathematischen Operationen, durch die die MSET definiert wird, auf den Trainingsdatensatz Z anwendet, um für jeden Vektor in dem Trainingsdatensatz Z einen geschätzten Vektor zu erzeugen. Die geschätzten Vektoren können im Allgemeinen für jede im Trainingsdatensatz Z enthaltene Prozessvariable geschätzte Werte enthalten. Das Systemmatrixbestimmungsmodul 64 kann sodann für jede im Trainingsdatensatz Z repräsentierte Prozessvariable durch Vergleichen der Werte der Prozessvariablen in dem Trainingsdatensatz Z mit den entsprechenden Werten in den geschätzten Vektoren RMS-Fehlerwerte berechnen. Wenn der RMS-Fehlerwert einer Prozessvariablen die entsprechende Fehlerschwelle überschreitet, wird Vektor ausgewählt, der ein dem maximalen Fehler für diese Prozessvariable aus dem Trainingsdatensatz Z entspricht, und für nachfolgende Iterationen der Systemmatrixtrainingssequenz in die aktuelle Systemmatrix Di aufgenommen. Das Systemmatrixbestimmungsmodul 64 kann die aktuelle Systemmatrix Di auf diese Weise iterativ aktualisieren, bis von dem Systemmatrixbestimmungsmodul 64 ermittelt wird, dass die aktuelle Systemmatrix D; eine endgültige Systemmatrix Df ist, weil beispielsweise die Fehlerschwellen nicht länger überschritten werden und/oder die aktuelle Systemmatrix die maximale Systemmatrixgröße erreicht hat, die in den Eingabedaten aus dem Trainingsinitiierungsmodul 62 enthalten ist. Nach der Systemmatrixtrainingssequenz kann das Systemmatrixbestimmungsmodul 64 die endgültige Systemmatrix Dε an das Fehlererkennungssystem 54 zur Verwendung bei der Fehlererkennung während des Online-Betriebs des Prozesses 58 übertragen.
  • In der Praxis ist das Fehlererkennungssystem 54 dazu ausgelegt, potenzielle Fehlerbedingungen (z. B. „anormale“ Betriebsbedingungen) in der Anlage 10 zu erkennen. Dafür wendet das Fehlererkennungssystem 54 die mathematischen Operationen, durch die die MSET definiert wird, unter Verwendung der endgültigen Systemmatrix Dε und Online-Daten Y an, um ihre entsprechende Fehlerschwelle überschreitende Prozessvariablen in den Online-Daten Y zu ermitteln, und erzeugt für das Prozesssteuerungssystem 50 ein Warnsignal, das eine anormale Betriebsbedingung anzeigt. Das Fehlererkennungssystem 54 kann die endgültige Systemmatrix Df und den Satz Fehlerschwellen von dem Trainingssystem 52 erhalten und kann die Online-Daten Y von dem Prozesssteuerungssystem 50 erhalten.
  • Das Fehlererkennungssystem 54 weist ein Prozessschätzungsmodell 66 und ein Störungsermittlungsmodul 68 auf. Allgemein gesagt wendet das Prozessschätzungsmodell 66 die mathematischen Operationen, durch die die MSET definiert wird, unter Verwendung der endgültigen Systemmatrix Dε auf Online-Daten Y an. Genauer gesagt kann das Prozessschätzungsmodell 66 eine Matrix geschätzter Vektoren Y' ermitteln, die einen geschätzten Vektor enthält, der einem jeden Vektor in den Online-Daten Y entspricht, indem es die MSET mit der endgültigen Systemmatrix Dε anwendet. Das Prozessschätzungsmodell 66 überträgt sodann die Matrix geschätzter Vektoren Y' und den Satz Fehlerschwelle an das Störungsermittlungsmodul 68.
  • Im Allgemeinen identifiziert das Störungsermittlungsmodul 68 ihre entsprechende Fehlerschwelle überschreitende Prozessvariablen in den Online-Daten Y und erzeugt für das Prozesssteuerungssystem 50 ein Warnsignal, das eine anormale Betriebsbedingung anzeigt. Genauer gesagt berechnet das Störungsermittlungsmodul 68 für jede in den Online-Daten Y enthaltene Prozessvariable RMS-Fehlerwerte, indem es jeden Vektor in den Online-Daten Y mit seinem entsprechenden Vektor in der Matrix geschätzter Vektoren Y' vergleicht. Sollte ein RMS-Fehlerwert die entsprechende Fehlerschwelle überschreiten, erzeugt das Störungsermittlungsmodul 68 ein Warnsignal A zur Übertragung an zumindest die Benutzerschnittstelle 60, das auf eine mögliche Störung oder eine andere anormale Betriebsbedingung verweist, die mit dem Prozess 58 in Zusammenhang steht. Auf diese Weise kann das Modul 68 einen Bediener auf anormale Betriebsbedingungen des Prozesses 58 aufmerksam machen und es dem Bediener so ermöglichen, Korrekturmaßnahmen zu ergreifen, um Geräteschäden, Gerätefehler, Sequenzstopps oder andere potenzielle Probleme bei der Anlage 10 zu unterbinden.
  • 3A ist ein Flussdiagramm einer Systemmatrixtrainingssequenz 300, die eine Systemmatrix zur Verwendung in einem Fehlererkennungssystem erzeugt, um Störungen beim Betrieb einer Prozessanlage zu erkennen. Allgemein gesagt kann die Systemmatrixtrainingssequenz 300 starten (Zweig JA des Blocks START), wenn das Systemmatrixbestimmungsmodul 64 ein Initiierungssignal, einen Trainingsdatensatz Z, eine maximale Systemmatrixgröße Do,max und einen Satz Fehlerschwellen Eo empfängt. In der Regel wird die Systemmatrixtrainingssequenz 300 offline durchgeführt. Somit kann das Trainingsinitiierungsmodul 62 das Initiierungssignal nach dem Empfang des Trainingsdatensatzes Z, der maximalen Systemmatrixgröße Do,max und des Satzes Fehlerschwellen Eo automatisch erzeugen. Genauer gesagt kann das Systemmatrixbestimmungsmodul 64 versuchen, die Systemmatrixtrainingssequenz 300 zu starten, sobald das Systemmatrixbestimmungsmodul 64 das Initiierungssignal empfängt. Wenn das Systemmatrixbestimmungsmodul 64 das Initiierungssignal empfängt, aber eines oder mehrere von dem Trainingsdatensatz Z, der maximalen Systemmatrixgröße Do,max oder dem Satz Fehlerschwellen Eo noch nicht empfangen oder anderweitig darauf zugegriffen hat, kann das Systemmatrixbestimmungsmodul 64 die Systemmatrixtrainingssequenz 300 nicht starten (Zweig NEIN des Blocks START).
  • Das Trainingsinitiierungssignal ist im Allgemeinen eine Anweisung, die von dem Trainingsinitiierungsmodul 62 empfangen wird und das Systemmatrixbestimmungsmodul 64 anweist, die Systemmatrixtrainingssequenz 300 zu starten. Die maximale Systemmatrixgröße Do,max ist im Allgemeinen ein Skalarwert, der die maximale Anzahl von Vektoren aus dem Trainingsdatensatz Z repräsentiert, die die Systemmatrixtrainingssequenz 300 in die Systemmatrix aufnehmen kann. Die Systemmatrixtrainingssequenz 300 kann zum Beispiel durch das Systemmatrixbestimmungsmodul 64 durchgeführt werden.
  • Der Satz Fehlerschwellen Eo kann durch eine Fehlermatrix 302 repräsentiert werden, wobei jeder Eintrag in der Fehlermatrix 302 eine Fehlerschwelle einer Prozessvariablen eines Prozesses (z. B. Prozess 58) ist. Es sei angenommen, dass ein Prozess n Prozessvariablen aufweist. Die Fehlermatrix 302 kann n Einträge haben und jeder Eintrag in der Fehlermatrix 302 kann eine Fehlerschwelle für eine entsprechende Prozessvariable sein. Dementsprechend ist Trms1,1 eine Fehlerschwelle für die erste Prozessvariable, Trms2,1 eine Fehlerschwelle für die zweite Prozessvariable, Trms3,1 eine Fehlerschwelle für die dritte Prozessvariable usw. Jede in dem Satz Fehlerschwellen enthaltende Fehlerschwelle kann beispielsweise durch das Trainingsinitiierungsmodul 62 berechnet werden.
  • Der Trainingsdatensatz Z kann durch eine Trainingsdatenmatrix 304 repräsentiert werden, wobei jeder Eintrag in der Trainingsdatenmatrix 304 eine Online-Messung einer Prozessvariablen eines Prozesses (z. B. Prozess 58) zu einem bestimmten Zeitpunkt sein kann. Jede Spalte der Trainingsdatenmatrix 304 kann eine Messung jeder Prozessvariablen (z. B. PV1, PV2,..., PVn) des Prozesses zu einem bestimmten Zeitpunkt (z. B. T1, T2,..., TL) während des Online-Betriebs des Verfahrens repräsentieren. Jede Zeile der Trainingsdatenmatrix 304 kann Messungen einer einzelnen Prozessvariablen des Prozesses zu unterschiedlichen Zeitpunkten während des Online-Betriebs des Prozesses repräsentieren. Es sei beispielsweise angenommen, dass ein Prozess n Prozessvariablen aufweist und jede der Prozessvariablen L-mal gemessen wird, um einen Trainingsdatensatz Z zu erstellen. Die Trainingsdatenmatrix 304 kann n x L Einträge aufweisen und jeder Eintrag in der Trainingsdatenmatrix 304 kann eine Online-Messung einer Prozessvariablen des Prozesses sein. Dementsprechend ist a1,1,obs eine zu einem ersten Zeitpunkt erfolgte Online-Messung einer ersten Prozessvariablen, a2,1,obs eine zu einem ersten Zeitpunkt erfolgte Online-Messung einer zweiten Prozessvariablen, a2,2,obs eine zu einem zweiten Zeitpunkt erfolgte Online-Messung der zweiten Prozessvariablen usw. (z. B. verweist die Bezeichnung „obs“ im Allgemeinen auf Online-Daten des Prozesses).
  • Die Systemmatrixtrainingssequenz 300 fährt mit dem Erzeugen einer initialen Systemmatrix 308 fort (Block 306). Allgemein gesagt enthält die initiale Systemmatrix 308 zwei Vektoren aus dem Trainingsdatensatz Z, die einen minimalen bzw. einen maximalen Wert einer dominanten Prozessvariablen enthalten. Die dominante Prozessvariable kann in dem Trainingsinitiierungssignal X angegeben werden und/oder das Systemmatrixbestimmungsmodul 64 kann die dominante Prozessvariable bestimmen, indem es die prozentuale Varianz jeder der Prozessvariablen über den normalen Betriebsbereich hinweg analysiert, um die Prozessvariable zu bestimmen, die der über dem normalen Betriebsbereich hinweg größten prozentualen Varianz entspricht. Das Systemmatrixbestimmungsmodul 64 kann jeden Eintrag in dem Trainingsdatensatz Z analysieren, der der dominanten Prozessvariablen entspricht, um sowohl den minimalen als auch den maximalen Wert der dominanten Prozessvariablen zu bestimmen. Das Systemmatrixbestimmungsmodul 64 erzeugt sodann eine initiale Systemmatrix 308, die wie folgt definiert ist: D i = [ x max ,d ,x min ,d ]
    Figure DE112020007099T5_0002
    wobei xmax,d und xmin,d zwei unterschiedliche Vektoren (z. B. zwei unterschiedliche Datenspalten) aus dem Trainingsdatensatz Z repräsentieren, die den maximalen bzw. den minimalen Wert der dominanten Variablen enthalten.
  • Es sei zum Beispiel angenommen, dass die dominante Prozessvariable in dem durch die Trainingsdatenmatrix 304 repräsentierten Prozess die erste Prozessvariable (z. B. PV1) ist. Das Systemmatrixbestimmungsmodul 64 kann jeden der mit der ersten Prozessvariable (z. B. a1,1,obs, a1,2,obs, a1,3,obs,..., a1,L,obs) in Verbindung stehenden L Einträge analysieren, um einen ersten Prozessvariableneintrag mit einem kleineren Wert als jeder andere erste Prozessvariableneintrag und einen ersten Prozessvariableneintrag mit einem größeren Wert als jeder andere erste Prozessvariableneintrag zu bestimmen. Es sei zum Beispiel angenommen, dass das Systemmatrixbestimmungsmodul 64 bestimmt, dass die ersten Prozessvariableneinträge a1,1,obs und a1,2,obs dem maximalen bzw. dem minimalen Wert der ersten Prozessvariablen entsprechen. Das Systemmatrixbestimmungsmodul 64 kann die Vektoren xi,1,obs und xi,2,obs aus dem Trainingsdatensatz Z, die a1,1,obs bzw. a1,2,obs enthalten, in die initiale Systemmatrix 308 aufnehmen.
  • In der Regel können die zwei Vektoren, die die initiale Systemmatrix 308 umfassen, nicht ausreichend sein, um die Grenzen für „normale“ Prozessbetriebsbedingungen aller Prozessvariablen in einem Prozess zu definieren. Genauer gesagt kann die initiale Systemmatrix 308 unzureichend sein, um Prozessvariablenwerte zu schätzen, die für jede Prozessvariable zu einem RMS-Fehlerwert führen, der den entsprechenden RMS-Fehlerschwellenwert erfüllt, was wiederum zu falsch positiven/negativen Ermittlungen über das Vorliegen von Fehlerbedingungen innerhalb des Prozesses (z. B. Prozess 58) führen kann. Um dies zu vermeiden, kann die Systemmatrixtrainingssequenz 300 Prozessvariablenwerte unter Verwendung der initialen Systemmatrix 308 schätzen, prüfen, ob einer der Prozessvariablen-RMS-Fehlerwerte den entsprechenden RMS-Fehlerschwellenwert überschreitet, und mehr Vektoren aus dem Trainingsdatensatz Z in die initiale Systemmatrix 308 (im Folgenden als „aktuelle Systemmatrix“ oder „aktuell konfigurierte Systemmatrix“ bezeichnet) aufnehmen, um die „normalen“ Prozessbetriebsbedingungen besser in der Systemmatrix zu repräsentieren. Die Systemmatrixtrainingssequenz 300 kann diese Aktionen auch iterativ mit der aktuell konfigurierten Systemmatrix durchführen, bis der RMS-Fehlerwert für jede Prozessvariable den entsprechenden RMS-Fehlerschwellenwert erfüllt oder die maximale Systemmatrixgröße erreicht ist
  • Dementsprechend fährt die Systemmatrixtrainingssequenz 300 fort, indem sie die aktuell konfigurierte Systemmatrix in der MSET verwendet, um eine Matrix geschätzter Daten 312 zu erzeugen (Block 310). Das Systemmatrixbestimmungsmodul 64 wendet die MSET auf den Trainingsdatensatz Z gemäß der Formel: X e = D i ( D i T D i ) 1 ( D i T X o )
    Figure DE112020007099T5_0003
    an, um die Matrix geschätzter Daten 312 zu erzeugen, wobei Xo ein beobachteter Vektor in dem Trainingsdatensatz Z ist und Xe ein geschätzter Vektor in der Matrix geschätzter Daten 312 ist. Für jeden Trainingsdatensatz Z, der L beobachtete Vektoren (z. B. Xo,1, Xo,2, Xo,3,..., Xo,L) enthält, ermittelt das Systemmatrixbestimmungsmodul 64 L entsprechende geschätzte Vektoren (e.g., Xe,1, Xe,2, Xe,3,..., Xe,L). Es sei angenommen, dass der Trainingsdatensatz Z beispielsweise drei beobachtete Vektoren (z. B. Xo,1, Xo,2 und Xo,3) enthält. Durch Anwenden der Systemmatrix (z. B. der initialen Systemmatrix 308) auf jeden der beobachteten Vektoren (Xo,1, Xo,2 und Xo,3) ermittelt das Systemmatrixbestimmungsmodul 64 drei entsprechende geschätzte Vektoren (z. B. Xe,1, Xe,2 und Xe,3).
  • Die Systemmatrixtrainingssequenz 300 fährt damit fort, jeden geschätzten Vektor Xe mit einem entsprechenden beobachteten Vektor Xo zu vergleichen, um für jede Prozessvariable einen RMS-Fehlerwert zu berechnen (Block 314). Im Allgemeinen kann das Systemmatrixbestimmungsmodul 64 eine Differenzmatrix 316 gemäß der folgenden Formel erzeugen: Δ i ,j = α i ,j ,est α i , j ,obs
    Figure DE112020007099T5_0004
    für alle i = 1,..., n und j = 1,..., L. Insbesondere kann das Systemmatrixbestimmungsmodul 64 jeden Eintrag im Trainingsdatensatz 304 (z. B. a1,1,obs, a1,2,obs, a1,3,obs,..., an,L,obs) von einem entsprechenden Eintrag in der Matrix geschätzter Daten 312 (z.B. a1,1,est, a1,2,est, a1,3,est,..., an,L,est) subtrahieren (die Bezeichnung „est“ bezeichnet im Allgemeinen geschätzte Daten des Prozesses), um jeden Eintrag in einer Differenzmatrix 316 (z. B. Δ1,1, Δ1,2, Δ1,3,..., Δn,L) zu erzeugen. Beispielsweise kann das Systemmatrixbestimmungsmodul 64 den Eintrag a1,1,obs von a1,1,est subtrahieren, um in der Differenzmatrix 316 den Eintrag Δ1,1 zu erzeugen.
  • Das Systemmatrixbestimmungsmodul 64 kann zudem für jede Prozessvariable die maximalen Fehlerwerte durch Berechnen des Absolutwerts eines jeden Eintrags in der Differenzmatrix 316 ermitteln. Das Systemmatrixbestimmungsmodul 64 kann für jede Prozessvariable einen Eintrag mit dem größten Absolutwert ermitteln und den Eintrag mit dem größten Absolutwert als den maximalen Fehlerwert der Prozessvariablen (z. B. 316a, 316b, 316c) festlegen. Beispielsweise kann das Systemmatrixbestimmungsmodul 64 den Absolutwert eines jeden Eintrags in der Differenzmatrix 316 berechnen, der der ersten Prozessvariablen (PV1) entspricht, den Eintrag mit dem größten Absolutwert ermitteln und den Eintrag mit dem größten Absolutwert als maximalen Fehlerwert der ersten Prozessvariable 316a festlegen.
  • Das Systemmatrixbestimmungsmodul 64 kann zudem zum Erzeugen der RMS-Fehlermatrix 318 für jede Prozessvariable gemäß der folgenden Formel den RMS-Fehlerwert berechnen: Erms i ,1 = j = 1 L ( X e ,j ( i ) X o ,j ( i ) ) 2 L
    Figure DE112020007099T5_0005
    für alle i = 1,..., n. Beispielsweise kann das Systemmatrixbestimmungsmodul 64 für die erste Prozessvariable (PV1) den RMS-Fehler berechnen, um in der RMS Fehlermatrix 318 den Eintrag Erms1,1 zu erzeugen.
  • Im Allgemeinen geben die RMS-Fehlerwerte die Genauigkeit der MSET für eine gegebene Iteration der Systemmatrixtrainingssequenz 300 unter Verwendung der auf den Trainingsdatensatz Z angewendeten Systemmatrix an. Mit zunehmender Genauigkeit der die Systemmatrix verwendenden MSET nehmen die RMS-Fehlerwerte ab. Daraus folgend müssten bei jeder Iteration der Systemmatrixtrainingssequenz 300 die den jeweiligen Prozessvariablen entsprechenden RMS-Fehlerwerte abnehmen. Daher kann das Systemmatrixbestimmungsmodul 64 in Ausführungsformen für jede Prozessvariable die RMS-Fehlerwerte bei einer Iteration mit den RMS-Fehlerwerten der Prozessvariablen bei einer vorherigen Iteration vergleichen, um sicherzustellen, dass die Genauigkeit der die Systemmatrix verwendenden MSET zunimmt.
  • Die Systemmatrixtrainingssequenz 300 fährt damit fort, für jede Prozessvariable den RMS-Fehler mit einer entsprechenden RMS-Fehlerschwelle zu vergleichen, um zu bestimmen, ob RMS-Fehlerwerte vorliegen, die die entsprechende RMS-Fehlerschwelle überschreiten (Block 320). Im Allgemeinen subtrahiert das Systemmatrixbestimmungsmodul 64 RMS-Fehlerschwellenwerte, die in der Fehlermatrix 302 enthalten sind, von den RMS-Fehlerwerten, die in der RMS-Fehlermatrix 318 enthalten sind, um RMS-Differenzwerte zu berechnen, die sodann in eine RMS-Differenzmatrix 322 aufgenommen werden. Genauer gesagt berechnet das Systemmatrixbestimmungsmodul 64 RMS-Differenzwerte gemäß der Formel: Drms i ,1 = Erms i ,1 Trms i ,1
    Figure DE112020007099T5_0006
    für alle i = 1,..., n. Beispielsweise kann das Systemmatrixbestimmungsmodul 64 für die erste Prozessvariable (PV1) den RMS-Differenzwert berechnen, um in der RMS-Differenzmatrix 322 den Eintrag Drms1,1 zu erzeugen. Wie in 3B dargestellt, bestimmt das Systemmatrixbestimmungsmodul 64 sodann (bei Block 324) gemäß der folgenden Beziehung, ob der RMS-Fehlerwert den RMS-Schwellenwert überschreitet: 0 < Drms i ,1
    Figure DE112020007099T5_0007
    für alle i = 1,..., n. Das Systemmatrixbestimmungsmodul 64 kann entweder bestimmen, dass für eine der Prozessvariablen der RMS-Differenzwert größer als Null ist (Zweig JA des Blocks 324) oder dass für eine Prozessvariable der RMS-Differenzwert kleiner oder gleich Null ist (Zweig NEIN des Blocks 324).
  • Wenn das Systemmatrixbestimmungsmodul 64 bestimmt, dass mindestens ein RMS-Differenzwert größer als Null ist (Zweig JA des Blocks 324), dann kann das Systemmatrixbestimmungsmodul 64 mindestens einen Vektor aus dem Trainingsdatensatz Z bestimmen, der in die Systemmatrix aufgenommen werden soll (Block 326). Genauer gesagt kann das Systemmatrixbestimmungsmodul 64 von jeder Prozessvariablen, die einen RMS-Differenzwert hat, der größer als Null ist, einen Vektor maximaler Fehler bestimmen. Es sei zum Beispiel angenommen, dass der RMS-Differenzwert, der der ersten Prozessvariablen (z. B. Drms1,1) entspricht, größer als Null ist und dass der größte Eintrag in der Differenzmatrix 316 für die erste Prozessvariable im dritten Vektoreintrag enthalten ist (z. B. Δ1,3 = Δ1,max). Das Systemmatrixbestimmungsmodul 64 kann sodann für die erste Prozessvariable den dritten Vektoreintrag in dem Trainingsdatensatz Z (z. B. T3 = [a1,3,obs, a2,3,obs, a3,3,obs,..., an,3,obs]) als Vektor maximaler Fehler festlegen.
  • Das Systemmatrixbestimmungsmodul 64 kann sodann den Vektor maximaler Fehler zum Durchführen einer weiteren Iteration der Systemmatrixtrainingssequenz 300 in die Systemmatrix aufnehmen (Block 328). Im Allgemeinen kann das Systemmatrixbestimmungsmodul 64 eine aktuelle Systemmatrix 330 erzeugen, die die Vektoren enthält, die die initiale Systemmatrix 308 und alle Vektoren aus dem Trainingsdatensatz Z umfassen, die einen maximalen Fehler einer entsprechenden Prozessvariablen enthalten, deren RMS-Differenzwert größer als Null (z. B. x(Δi,max)) ist. Es sei beispielsweise angenommen, dass während einer ersten Iteration der Systemmatrixtrainingssequenz 300 eine erste Prozessvariable (PV1) und eine dritte Prozessvariable (PV3) einen RMS-Differenzwert aufweisen, der größer als Null ist, und die Werte aus dem Trainingsdatensatz Z, die den maximalen Fehlern einer jeden Prozessvariablen entsprechen, a1,3,obs bzw. a3,5,obs sind. Das Systemmatrixbestimmungsmodul 64 kann die Vektoren, die die maximalen Werte (T3 = [a1,3,obs, a2,3,obs, a3,3,obs,..., an,3,obs] und T5 = [a1,5,obs, a2,5,obs, a3,5,obs,..., an,5,obs]) enthalten, als die Vektoren maximaler Fehler der ersten und der dritten Prozessvariablen festlegen und kann diese Vektoren in die initiale Systemmatrix 308 aufnehmen. Daraufhin erzeugt das Systemmatrixbestimmungsmodul 64 die aktuelle Systemmatrix 330, die [xmax,d, xmin,d, T3, T5] enthält.
  • Vor dem Initiieren einer nachfolgenden Iteration der Systemmatrixtrainingssequenz 300 kann das Systemmatrixbestimmungsmodul 64 die Größe der aktuellen Systemmatrix 330 prüfen, um sicherzustellen, dass sie die maximale Systemmatrixgröße Do,max nicht überschreitet (Block 332). Im Allgemeinen kann das Systemmatrixbestimmungsmodul 64 einfach die Anzahl der Vektoren zählen, die in der aktuellen Systemmatrix 330 enthalten sind, und ermitteln, ob diese Anzahl die maximale Systemmatrixgröße Do,max überschreitet. Wenn die Anzahl von Vektoren in der aktuellen Systemmatrix 330 größer oder gleich der maximalen Systemmatrixgröße Do,max ist (Zweig JA des Blocks 332), dann kann das Systemmatrixbestimmungsmodul 64 die Systemmatrixtrainingssequenz 300 beenden, indem es die aktuelle Systemmatrix 330 als endgültige Systemmatrix Df (Block 334) festlegt und die endgültige Systemmatrix Df und den Satz Fehlerschwellen Eo an das Prozessschätzungsmodell 66 überträgt (Block 336). Zusätzlich oder alternativ kann das Systemmatrixbestimmungsmodul 64 ein Warnsignal an einen Techniker/Bediener senden, dass die Systemmatrixtrainingssequenz 300 nicht für alle Prozessvariablen des Trainingsdatensatzes Z die RMS-Fehlerschwellen erfüllt. Wenn die Anzahl von Vektoren in der aktuellen Systemmatrix 330 kleiner als die maximale Systemmatrixgröße Do,max ist (Zweig NEIN des Blocks 332), dann kann das Systemmatrixbestimmungsmodul 64 eine nachfolgende Iteration der Systemmatrixtrainingssequenz 300 initiieren, indem die MSET unter Verwendung der aktuellen Systemmatrix 330 gemäß Gleichung (3) auf den Trainingsdatensatz Z (Block 310) angewendet wird.
  • Durch das Integrieren der Vektoren maximaler Fehler in die aktuelle Systemmatrix 330 (und damit in die endgültige Systemmatrix Df) wird die Gesamtgenauigkeit des Fehlererkennungssystems 54 erhöht. Jeder Vektor maximaler Fehler ist in dem Trainingsdatensatz Z enthalten und jeder Vektor maximaler Fehler repräsentiert normale Betriebsbedingungen des Prozesses 58. Außerdem enthält jeder Vektor maximaler Fehler mindestens eine Prozessvariable, die die Fehlerschwellen überschreitet, die einen „normalen“ Betriebsbedingung des Prozesses 58 definieren, und infolgedessen kann das Fehlererkennungssystem 54 vor der Systemmatrixtrainingssequenz 300 einen Vektor maximaler Fehler fälschlicherweise als „anormale“ Betriebsbedingung ermitteln (z. B. ein „falsch positives“ Ergebnis). Durch die Systemmatrixtrainingssequenz 300 wird jedoch jeder Vektor maximaler Fehler in die Systemmatrix aufgenommen, wodurch sich die Genauigkeit von geschätzten Werten, die durch Anwenden der MSET auf die Online-Daten Y erzeugt werden, erhöht. Das Fehlererkennungssystem 54 kann dann weniger falsch positive Ergebnisse erzeugen, da die Fehlerwerte (z. B. die Differenzmatrix 316), die durch den Vergleich der Online-Daten Y mit den geschätzten Werten erzeugt werden, die Abweichung der Online-Daten Y von den „normalen“ Betriebsbedingungen genauer anzeigen können.
  • Darüber hinaus kann das Systemmatrixbestimmungsmodul 64 in Ausführungsformen RMS-Fehlerwerte früherer Iterationen der Systemmatrixtrainingssequenz 300 analysieren, um die RMS-Fehlerwerte nachfolgender Iterationen der Systemmatrixtrainingssequenz 300 zu extrapolieren. In diesen Ausführungsformen kann das Systemmatrixbestimmungsmodul 64 ermitteln, dass für eine oder mehrere Prozessvariablen die RMS-Fehlerwerte derart extrapoliert werden, dass sie abnehmen, dass aber die Größenordnung solcher Abnahmen nicht ausreicht, um die RMS-Fehlerschwellen zu erfüllen (z. B. gilt Gleichung (7) für mindestens eine Prozessvariable), bevor die maximale Systemmatrixgröße Do,max erreicht wird. Eine derartige Ermittlung kann anzeigen, dass die Systemmatrixtrainingssequenz 300 fehlgeschlagen ist und das Systemmatrixbestimmungsmodul 64 infolgedessen keine endgültige Systemmatrix Df bestimmen kann. Unter diesen Umständen muss das Systemmatrixbestimmungsmodul 64 möglicherweise die Systemmatrixtrainingssequenz 300 erneut durchführen, wahrscheinlich mit anderen Eingabe-Trainingsparametern (z. B. einem anderen Satz Fehlerschwellen Eo, einer anderen maximalen Systemmatrixgröße Do,max usw.). Dementsprechend kann das Systemmatrixbestimmungsmodul 64 ein Warnsignal (z. B. Warnsignal A) erzeugen, um einen Bediener über die Benutzerschnittstelle 60 auf die fehlgeschlagene Systemmatrixtrainingssequenz 300 hinzuweisen.
  • Wenn das Systemmatrixbestimmungsmodul 64 ermittelt, dass alle RMS-Differenzwerte kleiner oder gleich Null sind (Zweig NEIN des Blocks 324), dann kann das Systemmatrixbestimmungsmodul 64 die aktuelle Systemmatrix (z. B. die aktuelle Systemmatrix 330) als eine endgültige Systemmatrix Df festlegen, um damit die Systemmatrixtrainingssequenz 300 zu beenden (Block 334). Anschließend kann das Systemmatrixbestimmungsmodul 64 die endgültige Systemmatrix Dε und den Satz Fehlerschwellen Eo an das Fehlererkennungssystem 54 (Block 336) und insbesondere an das Prozessschätzungsmodell 66 übertragen, um währenddessen des Online-Betriebs des Prozesses 58 mit der endgültigen Systemmatrix Df und dem Satz Fehlerschwellen Eo eine Fehlererkennung durchzuführen.
  • 4A ist ein Flussdiagramm mehrerer Systemmatrixtrainingssequenziterationen 400, die einen Satz Systemmatrizen zur Verwendung in einem Fehlererkennungssystem erzeugen, um Störungen im Betrieb einer Prozessanlage zu erkennen. Generell gilt, dass, wenn in einem Steuerungssystem eine große Datenmenge vorhanden ist, die Daten in der Regel in Form vieler kleinerer Datensätze ankommen. Die kleineren Datensätze können in Form mehrerer Dateien, mehrerer Tabellen in einer Datenbank (z. B. Historiker 28A, Konfigurationsdatenbank 28B) oder mehrerer Datenpakete im Kommunikationsnetz oder im internen Computerspeicher (z. B. Speicher 42) vorliegen. Selbst wenn Daten in einem einzelnen Paket im Netzwerk ankommen, teilen Benutzer (z. B. Betreiber) die Daten zur einfacheren Handhabung und Verarbeitung häufig in kleinere Teile auf. Beispielsweise kann ein Fehlererkennungssystem (z. B. das Fehlererkennungssystem 54) mehrere Systemmatrizen speichern, die als Ergebnis aus mehreren Iterationen der von einem Bediener jeweils mit anderen Trainingsdatensätzen Z initiierten Systemmatrixtrainingssequenz 300 hervorgegangen sind, was Probleme bei dem Fehlererkennungssystem 54 verursachen kann.
  • Im Allgemeinen veranschaulichen die mehreren Systemmatrixtrainingssequenziterationen 400 ein Szenario, das dazu gedacht ist, die kleineren Datensätze in ein Prozesssteuerungssystem aufzunehmen, indem die in 3A und 3B beschriebene Trainingssequenz durchlaufen wird. Das Systemmatrixbestimmungsmodul 64 kann mehrere Trainingsdatensätze Z1-ZY empfangen, wobei jeder der mehreren Trainingsdatensätze Z1-ZY normale Betriebsbedingungen eines Prozesses in einem einzigartigen Betriebszustand oder zu einer bestimmten Uhrzeit beschreiben kann. Das Systemmatrixbestimmungsmodul 64 kann die Systemmatrixtrainingssequenz 300 auf jeden der mehreren Trainingsdatensätze Z1-ZY anwenden und kann mehrere endgültige Systemmatrizen Df,1-Df,Y erzeugen. Dementsprechend kann das Systemmatrixbestimmungsmodul 64 jede der mehreren endgültigen Systemmatrizen Df,1-Df,Y im Speicher (z. B. Speicher 42) speichern, um eine Datenbank endgültiger Systemmatrizen zu erzeugen, die das Fehlererkennungssystem 54 verwenden kann, um Werte, die den Online-Daten Y entsprechen, genau zu schätzen. Beispielsweise kann das Prozessschätzungsmodell 66 die Online-Daten Y von dem Prozesssteuerungssystem 50 empfangen, einen Betriebszustand des Prozesses 58 durch Analysieren der Werte der Online-Daten Y ermitteln und auf die Datenbank endgültiger Systemmatrizen zugreifen, um eine von den mehreren endgültigen Systemmatrizen Df,1-D1,Y abzurufen, die dem Betriebszustand des Prozesses 58 entspricht, um sie in der MSET zu verwenden.
  • In Fällen, in denen eine Prozessanlage (z. B. Anlage 10) jedoch eine große Anzahl von Betriebszuständen aufweist oder ein Techniker/Bediener eine große Anzahl von Systemmatrixtrainingssequenzen 300 initiiert, kann die Anzahl der in der Datenbank endgültiger Systemmatrizen enthaltenen Matrizen selbst Probleme verursachen. Genauer gesagt kann das Fehlererkennungssystem 54 während der Online-Ausführung der Fehlerbestimmungsprotokolle ermitteln, dass die Protokolle einen vorbestimmten Zeitschwellenwert überschreiten, dass die Anzahl gespeicherter Systemmatrizen einen vorbestimmten Schwellenwert überschritten hat und/oder dass das Fehlererkennungssystem 54 anderweitig zu ineffizient arbeitet, um die Online-Daten Y zu verarbeiten.
  • Als Reaktion darauf kann das Fehlererkennungssystem 54 ein Warnsignal A erzeugen, das diese Informationen über die Ineffizienz enthält, und das Warnsignal A kann eine Anweisung beinhalten, die mehreren endgültigen Systemmatrizen Df,1-Df,Y zu aggregieren oder die Prozesssteuerung 56 oder der Bediener (über die Benutzerschnittstelle 60) kann ein Signal (X, Z) erzeugen, das eine entsprechende Anweisung enthält. Im Allgemeinen kann eine aggregierte Systemmatrix, die aus dem Aggregieren der mehreren endgültigen Systemmatrizen Df,1-Df,Y in einer einzigen Systemmatrix entstanden ist, die Kennwerte eines jeden der jeweils zum Erzeugen der mehreren endgültigen Systemmatrizen Df,1-Df,Y verwendeten Trainingsdatensätze Z1-ZY enthalten. Jedoch kann ein einfaches Aggregieren aller mehreren endgültigen Systemmatrizen Df,1-D1,Y zu einer einzigen Systemmatrix zu ähnliche Ineffizienzprobleme wie das Beibehalten der mehreren endgültigen Systemmatrizen Df,1-Df,Y führen, da sich die Gesamtmenge der Daten nicht geändert hat. Um der begrenzten Speicherkapazität Rechnung zu tragen und die Kennwerte aller Trainingsdatensätze zu bewahren, kann das Trainingssystem 52 die Systemmatrixtrainingssequenz 300 derart ausführen, dass die mehreren endgültigen Systemmatrizen Df,1-Df,Y als Trainingsdatensatz dienen. Auf diese Weise kann die aggregierte Systemmatrix die Grenzen „normaler“ Prozessbetriebsbedingungen über die Trainingsdatensätze aller der mehreren endgültigen Systemmatrizen Df,1-Df,Y hinweg definieren, indem in ihr aus den mehrfachen endgültigen Systemmatrizen Df,1-D1,Y eine minimal ausreichende Datenmenge aufgenommen wird.
  • Dementsprechend kann ein Techniker/Bediener als Reaktion auf ein Warnsignal (z. B. Warnsignal A) oder auf Anforderung eines Technikers/Bedieners eine in 4B dargestellte Trainingssequenz mit aggregierter Systemmatrix 410 initiieren. Im Allgemeinen erzeugt die Trainingssequenz mit aggregierter Systemmatrix 410 eine aggregierte endgültige Systemmatrix Df,agg zur Verwendung in einem Fehlererkennungssystem, um Störungen beim Betrieb eines Prozesses zu erkennen. Die Sequenz mit aggregierter Systemmatrix 410 enthält im Allgemeinen das Durchführen der Systemmatrixtrainingssequenz 300 unter Verwendung eines aggregierten Trainingsdatensatzes Zagg, in dem jede der mehreren endgültigen Systemmatrizen Df,1-Df,Y enthalten ist, um eine aggregierte endgültige Systemmatrix Df,agg zu erzeugen. Genauer gesagt kann das Systemmatrixbestimmungsmodul 64 auf die Datenbank endgültiger Systemmatrizen zugreifen, um den aggregierten Trainingsdatensatz Zagg zu erzeugen, indem alle der mehreren endgültigen Systemmatrizen Df,1-D1,Y in eine aggregierte Matrix 412 aufgenommen werden. Das Systemmatrixbestimmungsmodul 64 wendet dann die Systemmatrixtrainingssequenz 300 auf den aggregierten Trainingsdatensatz Zagg an und erzeugt die aggregierte endgültige Systemmatrix Df,agg. Das Systemmatrixbestimmungsmodul 64 kann anschließend die aggregierte endgültige Systemmatrix Df,agg an das Fehlererkennungssystem 54 zur Verwendung in dem Fehlererkennungsprozess übertragen, wie dies unter Bezugnahme auf 2 beschrieben wurde.
  • Auf diese Weise kann die Trainingssequenz mit aggregierter Systemmatrix 410 aus 4B die aus großen Datenmengen resultierende Verarbeitungs- und Speicherbelastung des Trainingssystems 52 und des Fehlererkennungssystems 54 verringern. Jede der mehreren endgültigen Systemmatrizen Df,1 -Df,Y behält die Kennwerte der jeweiligen Trainingsdatensätze Z1-ZY bei, die verwendet werden, um die mehreren endgültigen Systemmatrizen Df,1-Df,Y zu erzeugen, wenn die Matrizen Df,1-Df,Y durch die MSET erzeugt werden. Wenn die mehreren endgültigen Systemmatrizen Df,1-Df,Y kombiniert werden, um den aggregierten Trainingsdatensatz Zagg zu erzeugen, der dann verwendet wird, um die aggregierte endgültige Systemmatrix Df,agg zu erzeugen, enthält die aggregierte endgültige Systemmatrix Df,agg die wichtigen Kennwerte aller Trainingsdatensätze Z1-ZY. Somit wird eine umfangreiche Anzahl „normaler“ Betriebsbedingungen des Prozesses in dieser einzelnen aggregierten endgültigen Systemmatrix Df,agg zusammengefasst, wodurch die Platzanforderungen an die Speicherplatte des internen Speichers 42 reduziert und die Geschwindigkeit des Trainingssystems 52 und Fehlererkennungssystem 54 durch Minimieren der Datenanforderungen für Echtzeitberechnungen erhöht werden.
  • Nach der Implementierung kann jede der hier beschriebenen Simulationssoftware in jedem computerlesbaren Speicher, z. B. auf einer Magnetplatte, einer Laserplatte oder einem anderen Speichermedium, in einem RAM oder ROM eines Computers oder Prozessors usw. gespeichert werden. Gleichermaßen kann diese Software an einen Benutzer, eine Prozessanlage oder eine Bediener-Arbeitsstation unter Verwendung jedes bekannten oder gewünschten Übermittlungsverfahrens geliefert werden, einschließlich z. B. auf einer computerlesbaren Platte oder einem anderen transportablen Computerspeichermechanismus oder über einen Kommunikationskanal wie eine Telefonleitung, das Internet, das World Wide Web, ein anderes lokales Netzwerk oder ein Weitverkehrsnetzwerk usw. (wobei die Übermittlung als gleich oder austauschbar mit der Bereitstellung dieser Software über ein transportables Speichermedium angesehen wird). Darüber hinaus kann diese Software direkt ohne Modulation oder Verschlüsselung bereitgestellt werden, oder sie kann vor der Übertragung über einen Kommunikationskanal mit jeder geeigneten Modulationsträgerwelle und/oder Verschlüsselungstechnik moduliert und/oder verschlüsselt werden.
  • Obwohl die vorliegende Erfindung unter Bezugnahme auf spezifische Beispiele beschrieben wurde, die nur veranschaulichend sein und die Erfindung nicht einschränken sollen, ist es für den Durchschnittsfachmann offensichtlich, dass Änderungen, Hinzufügungen oder Streichungen zu den offenbarten Ausführungsformen möglich sind, ohne vom Geist und Umfang der Erfindung abzuweichen.

Claims (25)

  1. System zum Erkennen von Störungen beim Betrieb eines Prozesses, umfassend: eine mit dem Prozess gekoppelte Prozesssteuerung zur Steuerung des Prozesses; eine mit der Prozesssteuerung gekoppelte Benutzerschnittstelle, die dazu konfiguriert ist, von einem Bediener einen Satz Fehlerschwellen und eine maximale Systemmatrixgröße zu erhalten; ein Fehlererkennungssystem zum Erkennen von Störungen beim Betrieb des Prozesses, wobei das Fehlererkennungssystem zu Folgendem konfiguriert ist: Bestimmen eines geschätzten Vektors durch Anwenden einer Methode zur multivariaten Zustandsschätzung (MSET) unter Verwendung einer endgültigen Systemmatrix und des Satzes Fehlerschwellen auf einen Satz Online-Daten aus dem Prozess, und Erzeugen eines Warnsignals, das eine Störung beim Betrieb des Prozesses anzeigt, indem der geschätzte Vektor mit dem Satz Online-Daten verglichen wird; und ein kommunikativ mit der Prozesssteuerung, der Benutzerschnittstelle und dem Fehlererkennungssystem gekoppeltes Trainingssystem zum Erzeugen einer Systemmatrix, wobei das Trainingssystem zu Folgendem konfiguriert ist: (a) Erzeugen einer initialen Systemmatrix unter Verwendung eines Trainingsdatensatzes, der eine Vielzahl von Trainingsdatensatzvektoren enthält, (b) Festlegen der initialen Systemmatrix als aktuelle Systemmatrix, (c) Berechnen eines Satzes geschätzter Vektoren unter Verwendung der aktuellen Systemmatrix in der MSET und des Trainingsdatensatzes, (d) Bestimmen einer Wurzel des mittleren quadratischen Fehlers (RMS-Fehler) und eines maximalen Fehlers für jede Prozessvariable im Trainingsdatensatz durch Vergleichen des Satzes geschätzter Vektoren mit dem Trainingsdatensatz, (e) Ermitteln einer ersten Prozessvariablen mit einem RMS-Fehler größer als eine entsprechende Fehlerschwelle, (f) Speichern eines ersten Trainingsdatensatzvektors, der den maximalen Fehler für die erste Prozessvariable enthält, in der aktuellen Systemmatrix, (g) iteratives Durchführen der Schritte (c)-(g), bis der RMS-Fehler keiner der Prozessvariablen die entsprechende Fehlerschwelle überschreitet oder eine Größe der aktuellen Systemmatrix die maximale Systemmatrixgröße überschreitet, (h) Festlegen der aktuellen Systemmatrix als endgültige Systemmatrix, und (i) Übertragen der endgültigen Systemmatrix und des Satzes Fehlerschwellen an das Fehlererkennungssystem.
  2. System nach Anspruch 1, wobei die initiale Systemmatrix (i) einen minimalen Trainingsdatensatzvektor, der einen minimalen Wert in dem Trainingsdatensatz mindestens einer der Prozessvariablen enthält, und (ii) einen maximalen Trainingsdatensatzvektor, der einen maximalen Wert in dem Trainingsdatensatz mindestens einer der Prozessvariablen enthält, enthält.
  3. System nach Anspruch 2, wobei die Benutzerschnittstelle ferner so konfiguriert ist, dass sie vom Bediener eine Festlegung einer dominanten Variablen empfängt, durch die eine dominante Variable des Prozesses angegeben wird, und wobei (i) der minimale Trainingsdatensatzvektor den minimalen Wert der dominanten Variablen enthält und (ii) der maximale Trainingsdatensatzvektor den maximalen Wert der dominanten Variablen enthält.
  4. System nach Anspruch 1, wobei das Vergleichen des Satzes geschätzter Vektoren mit dem Trainingsdatensatz das Subtrahieren eines jeden Trainingsdatensatzvektors von einem entsprechenden geschätzten Vektor umfasst, um einen jeweiligen Fehler zu berechnen, der jeder Prozessvariablen eines jeden Trainingsdatensatzvektors entspricht.
  5. System nach Anspruch 4, wobei das Bestimmen des maximalen Fehlers für jede Prozessvariable das Vergleichen des Absolutwerts des jeweiligen Trainingsfehlers für die Prozessvariable in jedem der Trainingsdatensatzvektoren umfasst.
  6. System nach Anspruch 1, wobei der Trainingsdatensatz eine Vielzahl endgültiger Systemmatrizen ist.
  7. System nach Anspruch 1, wobei die Online-Daten eine Vielzahl von Online-Daten-Vektoren enthalten und wobei das Fehlererkennungssystem zu Folgendem konfiguriert ist: Bestimmen eines oder mehrerer RMS-Fehler durch Vergleichen eines jeden Online-Daten-Vektors mit einem entsprechenden geschätzten Vektor; Ermitteln eines Störungs-RMS-Fehlers, der eine entsprechende RMS-Fehlerschwelle überschreitet, Erzeugen des dem Störungs-RMS-Fehler entsprechenden Warnsignal; und Übertragen des Warnsignals an die Benutzerschnittstelle.
  8. System nach Anspruch 1, wobei der Trainingsdatensatz keine Zustandsvariable enthält, die einen Betriebszustand des Prozesses anzeigt, und wobei jeder Trainingsdatensatzvektor eine normale Betriebsbedingung des Prozesses anzeigt.
  9. Verfahren zum Trainieren eines Fehlererkennungssystems zum Erkennen von Störungen bei einem Betrieb eines Prozesses innerhalb einer Prozessanlage, das Verfahren Folgendes umfassend: Empfangen eines Trainingsdatensatzes, der einen oder mehrere Trainingsdatensatzvektoren enthält, von einer Prozesssteuerung; Empfangen eines Satzes Fehlerschwellen und einer maximalen Systemmatrixgröße von einer Benutzerschnittstelle; Ermitteln einer endgültigen Systemmatrix durch: (a) Erzeugen einer initialen Systemmatrix unter Verwendung des Trainingsdatensatzes, (b) Festlegen der initialen Systemmatrix als aktuelle Systemmatrix, (c) Berechnen eines Satzes geschätzter Vektoren unter Verwendung der aktuellen Systemmatrix in einer Methode zur multivariaten Zustandsschätzung (MSET) und des Trainingsdatensatzes, (d) Bestimmen einer Wurzel des mittleren quadratischen Fehlers (RMS-Fehler) und eines maximalen Fehlers für jede Prozessvariable im Trainingsdatensatz durch Vergleichen des Satzes geschätzter Vektoren mit dem Trainingsdatensatz, (e) Ermitteln einer ersten Prozessvariablen mit einem RMS-Fehler größer als eine entsprechende Fehlerschwelle, (f) Speichern eines ersten Trainingsdatensatzvektors, der den maximalen Fehler für die erste Prozessvariable enthält, in der aktuellen Systemmatrix, (g) iteratives Durchführen der Schritte (c)-(g), bis der RMS-Fehler keiner der Prozessvariablen die entsprechende Fehlerschwelle überschreitet oder eine Größe der aktuellen Systemmatrix die maximale Systemmatrixgröße überschreitet, und (h) Festlegen der aktuellen Systemmatrix als endgültige Systemmatrix; und Aktualisieren eines Prozessschätzungsmodells durch Integrieren der endgültigen Systemmatrix und des Satzes Fehlerschwellen.
  10. Verfahren nach Anspruch 9, wobei die initiale Systemmatrix (i) einen minimalen Trainingsdatensatzvektor, der einen minimalen Wert in dem Trainingsdatensatz mindestens einer der Prozessvariablen enthält, und (ii) einen maximalen Trainingsdatensatzvektor, der einen maximalen Wert in dem Trainingsdatensatz mindestens einer der Prozessvariablen enthält, enthält.
  11. Verfahren nach Anspruch 10, ferner Folgendes umfassend: Empfangen einer Festlegung einer dominanten Variablen von der Benutzerschnittstelle, durch die eine dominante Variable des Prozesses angegeben wird, und wobei (i) der minimale Trainingsdatensatzvektor den minimalen Wert der dominanten Variablen enthält und (ii) der maximale Trainingsdatensatzvektor den maximalen Wert der dominanten Variablen enthält.
  12. Verfahren nach Anspruch 9, wobei das Vergleichen des Satzes geschätzter Vektoren mit dem Trainingsdatensatz das Subtrahieren eines jeden Trainingsdatensatzvektors von einem entsprechenden geschätzten Vektor umfasst, um einen jeweiligen Fehler zu berechnen, der jeder Prozessvariablen eines jeden Trainingsdatensatzvektors entspricht.
  13. Verfahren nach Anspruch 12, wobei das Bestimmen des maximalen Fehlers für jede Prozessvariable das Vergleichen des Absolutwerts des jeweiligen Trainingsfehlers für die Prozessvariable in jedem der Trainingsdatensatzvektoren umfasst.
  14. Verfahren nach Anspruch 9, wobei der Trainingsdatensatz eine Vielzahl endgültiger Systemmatrizen ist.
  15. Verfahren nach Anspruch 9, ferner Folgendes umfassend: Empfangen eines Online-Daten-Vektors von dem Prozess; Bestimmen eines geschätzten Vektors durch Anwenden der MSET unter Verwendung der endgültigen Systemmatrix; Bestimmen eines RMS-Fehlers für jede Prozessvariable des Online-Daten-Vektors durch Vergleichen des Online-Daten-Vektors mit dem geschätzten Vektor; Ermitteln eines Störungs-RMS-Fehlers, der eine entsprechende Fehlerschwelle überschreitet, Erzeugen eines dem Störungs-RMS-Fehler entsprechenden Warnsignal; und Übertragen des Warnsignals an die Benutzerschnittstelle, um sie einem Bediener anzuzeigen.
  16. Verfahren nach Anspruch 9, wobei der Trainingsdatensatz keine Zustandsvariable enthält, die einen Betriebszustand des Prozesses anzeigt, und wobei jeder Trainingsdatensatzvektor eine normale Betriebsbedingung des Prozesses anzeigt.
  17. Fehlererkennungstrainingssystem zur Verwendung beim Erkennen von Störungen bei einem Betrieb eines Prozesses, umfassend: ein Fehlererkennungssystem zum Erkennen von Störungen beim Betrieb des Prozesses, wobei das Fehlererkennungssystem zu Folgendem konfiguriert ist: Bestimmen eines geschätzten Vektors durch Anwenden einer Methode zur multivariaten Zustandsschätzung (MSET) unter Verwendung einer endgültigen Systemmatrix und eines Satzes Fehlerschwellen auf einen Satz Online-Daten aus dem Prozess, und Erzeugen eines Warnsignals, das eine Störung beim Betrieb des Prozesses anzeigt, indem der geschätzte Vektor mit dem Satz Online-Daten verglichen wird; und ein kommunikativ mit dem Fehlererkennungssystem gekoppeltes Trainingssystem zum Erzeugen einer Systemmatrix, wobei das Trainingssystem zu Folgendem konfiguriert ist: (a) Erzeugen einer initialen Systemmatrix unter Verwendung eines Trainingsdatensatzes, der eine Vielzahl von Trainingsdatensatzvektoren enthält, (b) Festlegen der initialen Systemmatrix als aktuelle Systemmatrix, (c) Berechnen eines Satzes geschätzter Vektoren unter Verwendung der aktuellen Systemmatrix in der MSET und des Trainingsdatensatzes, (d) Bestimmen einer Wurzel des mittleren quadratischen Fehlers (RMS-Fehler) und eines maximalen Fehlers für jede Prozessvariable im Trainingsdatensatz durch Vergleichen des Satzes geschätzter Vektoren mit dem Trainingsdatensatz, (e) Ermitteln einer ersten Prozessvariablen mit einem RMS-Fehler größer als eine entsprechende Fehlerschwelle, (f) Speichern eines ersten Trainingsdatensatzvektors, der den maximalen Fehler für die erste Prozessvariable enthält, in der aktuellen Systemmatrix, (g) iteratives Durchführen der Schritte (c)-(g), bis der RMS-Fehler keiner der Prozessvariablen die entsprechende Fehlerschwelle überschreitet oder eine Größe der aktuellen Systemmatrix eine maximale Systemmatrixgröße überschreitet, (h) Festlegen der aktuellen Systemmatrix als endgültige Systemmatrix, und (i) Übertragen der endgültigen Systemmatrix und eines Satzes Fehlerschwellen an das Fehlererkennungssystem.
  18. Fehlererkennungstrainingssystem nach Anspruch 17, wobei die initiale Systemmatrix (i) einen minimalen Trainingsdatensatzvektor, der einen minimalen Wert in dem Trainingsdatensatz mindestens einer der Prozessvariablen enthält, und (ii) einen maximalen Trainingsdatensatzvektor, der einen maximalen Wert in dem Trainingsdatensatz mindestens einer der Prozessvariablen enthält, enthält.
  19. Fehlererkennungstrainingssystem nach Anspruch 18, wobei (i) der minimale Trainingsdatensatzvektor den minimalen Wert der dominanten Variablen des Prozesses enthält und (ii) der maximale Trainingsdatensatzvektor den maximalen Wert der dominanten Variablen des Prozesses enthält.
  20. Fehlererkennungstrainingssystem nach Anspruch 17, wobei das Vergleichen des Satzes geschätzter Vektoren mit dem Trainingsdatensatz das Subtrahieren eines jeden Trainingsdatensatzvektors von einem entsprechenden geschätzten Vektor umfasst, um einen jeweiligen Fehler zu berechnen, der jeder Prozessvariablen eines jeden Trainingsdatensatzvektors entspricht.
  21. Fehlererkennungstrainingssystem nach Anspruch 20, wobei das Bestimmen des maximalen Fehlers für jede Prozessvariable das Vergleichen des Absolutwerts des jeweiligen Trainingsfehlers für die Prozessvariable in jedem der Trainingsdatensatzvektoren umfasst.
  22. Fehlererkennungstrainingssystem nach Anspruch 17, wobei der Trainingsdatensatz eine Vielzahl endgültiger Systemmatrizen ist.
  23. Fehlererkennungstrainingssystem nach Anspruch 17, wobei die Online-Daten eine Vielzahl von Online-Daten-Vektoren enthalten und wobei das Fehlererkennungssystem zu Folgendem konfiguriert ist: Bestimmen eines oder mehrerer RMS-Fehler durch Vergleichen eines jeden Online-Daten-Vektors mit einem entsprechenden geschätzten Vektor; Ermitteln eines Störungs-RMS-Fehlers, der eine entsprechende RMS-Fehlerschwelle überschreitet, Erzeugen des dem Störungs-RMS-Fehler entsprechenden Warnsignal; und Übertragen des Warnsignals an eine Benutzerschnittstelle, um sie einem Bediener anzuzeigen.
  24. Fehlererkennungstrainingssystem nach Anspruch 17, wobei der Trainingsdatensatz keine Zustandsvariable enthält, die einen Betriebszustand des Prozesses anzeigt, und wobei jeder Trainingsdatensatzvektor eine normale Betriebsbedingung des Prozesses anzeigt.
  25. Verfahren zum Trainieren eines Fehlererkennungssystems zum Erkennen von Störungen bei einem Betrieb eines Prozesses innerhalb einer Prozessanlage, das Verfahren Folgendes umfassend: Empfangen einer Vielzahl von Trainingsdatensätzen, die jeweils einen oder mehrere Trainingsdatensatzvektoren enthalten, von einer Prozesssteuerung; Empfangen eines Satzes Fehlerschwellen und einer maximalen Systemmatrixgröße von einer Benutzerschnittstelle; Ermitteln einer aggregierten endgültigen Systemmatrix durch: (a) Erzeugen einer initialen Systemmatrix unter Verwendung eines jeweiligen Trainingsdatensatzes aus der Vielzahl von Trainingsdatensätzen, (b) Festlegen der initialen Systemmatrix als aktuelle Systemmatrix, (c) Berechnen eines Satzes geschätzter Vektoren unter Verwendung der aktuellen Systemmatrix in einer Methode zur multivariaten Zustandsschätzung (MSET) und des jeweiligen Trainingsdatensatzes, (d) Bestimmen einer Wurzel des mittleren quadratischen Fehlers (RMS-Fehler) und eines maximalen Fehlers für jede Prozessvariable im jeweiligen Trainingsdatensatz durch Vergleichen des Satzes geschätzter Vektoren mit dem jeweiligen Trainingsdatensatz, (e) Ermitteln einer ersten Prozessvariablen mit einem RMS-Fehler größer als eine entsprechende Fehlerschwelle, (f) Speichern eines ersten jeweiligen Trainingsdatensatzvektors, der den maximalen Fehler für die erste Prozessvariable enthält, in der aktuellen Systemmatrix, (g) iteratives Durchführen der Schritte (c)-(g), bis der RMS-Fehler keiner der Prozessvariablen die entsprechende Fehlerschwelle überschreitet oder eine Größe der aktuellen Systemmatrix die maximale Systemmatrixgröße überschreitet, (h) Bestimmen der aktuellen Systemmatrix als endgültige Systemmatrix, (i) iteratives Durchführen der Schritte (a)-(i) bis eine jeweilige endgültige Systemmatrix für jeden jeweiligen Trainingsdatensatz der Vielzahl von Trainingsdatensätzen festgelegt worden ist, (j) Erzeugen eines aggregierten Trainingsdatensatzes, der jede jeweilige endgültige Systemmatrix enthält, (g) iteratives Durchführen der Schritte (a)-(h) mit dem aggregierten Trainingsdatensatz, bis der RMS-Fehler keiner der Prozessvariablen die entsprechende Fehlerschwelle überschreitet oder eine Größe der aktuellen Systemmatrix die maximale Systemmatrixgröße überschreitet, und (n) Festlegen der endgültigen Systemmatrix als aggregierte endgültige Systemmatrix; und Aktualisieren eines Prozessschätzungsmodells durch Integrieren der aggregierten endgültigen Systemmatrix und des Satzes Fehlerschwellen.
DE112020007099.9T 2020-04-17 2020-04-20 Verbesserte mustererkennungstechnik für datengesteuerte fehlererkennung in einer prozessanlage Pending DE112020007099T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/851,449 US11449044B2 (en) 2020-04-17 2020-04-17 Successive maximum error reduction
US16/851,449 2020-04-17
PCT/US2020/028965 WO2021211142A1 (en) 2020-04-17 2020-04-20 Improved pattern recognition technique for data-driven fault detection within a process plant

Publications (1)

Publication Number Publication Date
DE112020007099T5 true DE112020007099T5 (de) 2023-03-30

Family

ID=78081469

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020007099.9T Pending DE112020007099T5 (de) 2020-04-17 2020-04-20 Verbesserte mustererkennungstechnik für datengesteuerte fehlererkennung in einer prozessanlage

Country Status (6)

Country Link
US (1) US11449044B2 (de)
CN (1) CN115427767A (de)
CA (1) CA3175819A1 (de)
DE (1) DE112020007099T5 (de)
GB (1) GB2608545A (de)
WO (1) WO2021211142A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11768878B2 (en) * 2019-09-20 2023-09-26 Fisher-Rosemount Systems, Inc. Search results display in a process control system
US11768877B2 (en) * 2019-09-20 2023-09-26 Fisher-Rosemount Systems, Inc. Smart search capabilities in a process control system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764509A (en) 1996-06-19 1998-06-09 The University Of Chicago Industrial process surveillance system
US6684121B1 (en) * 2003-05-16 2004-01-27 Taiwan Semiconductor Manufacturing Company Real time work-in-process (WIP) system
US7152052B2 (en) * 2003-08-12 2006-12-19 George Shu-Xing Cheng Apparatus and method of controlling single-input-multi-output systems
US9110453B2 (en) * 2011-04-08 2015-08-18 General Cybernation Group Inc. Model-free adaptive control of advanced power plants
US9574903B2 (en) 2013-12-19 2017-02-21 Uchicago Argonne, Llc Transient multivariable sensor evaluation
US11348018B2 (en) 2017-12-19 2022-05-31 Aspen Technology, Inc. Computer system and method for building and deploying models predicting plant asset failure

Also Published As

Publication number Publication date
WO2021211142A1 (en) 2021-10-21
GB2608545A (en) 2023-01-04
US11449044B2 (en) 2022-09-20
GB202214340D0 (en) 2022-11-16
US20210325835A1 (en) 2021-10-21
CN115427767A (zh) 2022-12-02
CA3175819A1 (en) 2021-10-21

Similar Documents

Publication Publication Date Title
US7912676B2 (en) Method and system for detecting abnormal operation in a process plant
CN102520717B (zh) 用于在加工厂中预防异常状况的数据呈现系统
DE102020118259A1 (de) Echtzeitsteuerung unter verwendung der gerichteten vorhersage-simulation innerhalb eines steuerungssystems einer prozessanlage
DE10021698B4 (de) Auf einem einzelnen Computer realisierte integrierende Funktionalität für ein verteiltes Prozessregelsystem
US8606544B2 (en) Methods and systems for detecting deviation of a process variable from expected values
DE102014109033A1 (de) Nicht intrusive datenanalyse in einem prozesssteuerungssystem
US8145358B2 (en) Method and system for detecting abnormal operation of a level regulatory control loop
US20080167839A1 (en) Method and System for Modeling a Process in a Process Plant
EP3279756B1 (de) Diagnoseeinrichtung und verfahren zur überwachung des betriebs einer technischen anlage
DE102012108760A1 (de) Inferentielle Prozessmodellierung, Qualitätsprognose und Fehlererkennung unter Verwendung von mehrstufiger Datensegregation
DE112011101738T5 (de) Mehrstufiges Prozessmodellierungsverfahren
DE102010037159A1 (de) Verfahren und Vorrichtungen zur Verwaltung von Prozesssteuersystemtests
DE102010017273A1 (de) Verfahren und Vorrichtung zur Voraussage einer Prozessqualität in einem Prozesssteuerungssystem
DE102012110166A1 (de) Prognostizierte Fehleranalyse
DE102004011162A1 (de) Verknüpfungsautomatik von Prozess-Ereignisdaten zu einem Datenarchivsystem
DE102007041240A1 (de) Verfahren zum Verbessern einer Diagnosefunktion eines Feldgerätes
EP3210088B1 (de) Verfahren und assistenzsystem zur erkennung einer störung in einer anlage
DE102021133261A1 (de) Verbesserte methode zur erkennung fehlerhafter variablen für datengesteuerte fehlererkennung in einer prozessanlage
DE112020007099T5 (de) Verbesserte mustererkennungstechnik für datengesteuerte fehlererkennung in einer prozessanlage
DE102019107401A1 (de) Systeme und verfahren zur verwaltung von warnungen im zusammenhang mit geräten eines prozesssteuerungssystems
DE102022205285A1 (de) Informationsverarbeitungsvorrichtung, Vorhersageverfahren und Vorhersageprogramm
DE102017007909A1 (de) Produktionssteuerung, ausgestattet mit einer Funktion zur Identifizierung der Ursache nach einem Betriebsstop einer Produktionseinrichtung, die Fertigungseinrichtungen umfasst
EP4060433A1 (de) Verfahren und system zur prädiktion des betriebs einer technischen anlage
EP4200680A1 (de) Verfahren zur diagnose eines steuer- und/oder regelungssystems sowie steuer- und/oder regelungssystem
EP3686697A1 (de) Regleroptimierung für ein leitsystem einer technischen anlage