-
GEBIET DER TECHNIK
-
Das vorliegende Patent betrifft allgemein Unterstützungssysteme für Prozessanlagen und Prozesssteuerungssysteme, die innerhalb der Prozessanlagen verwendet werden, und insbesondere die Verwendung einer diagnostischen Plattform zum Formulieren von Regeln innerhalb eines Prozessanlagenunterstützungssystems, um Regeln zu erzeugen, die an verschiedenen, unterschiedlichen Arten von Daten innerhalb von oder von Prozessanlagen und/oder Prozesssteuerungssystemen ausgeführt werden können, um Probleme oder Schwierigkeiten innerhalb der Prozessanlagen zu erkennen, beispielsweise Probleme innerhalb von Computer- und Kommunikationssystemen, die eine Prozessanlagensteuerfunktionalität implementieren.
-
STAND DER TECHNIK
-
Verteilte Prozesssteuerungssysteme wie sie in chemischen, Erdöl- oder anderen Prozessanlagen verwendet werden, beinhalten in der Regel einen oder mehrere Prozesssteuerungen, die über analoge, digitale oder kombinierte analog/digitale Busse oder über eine drahtlose Kommunikationsverbindung oder ein drahtloses Netzwerk kommunikationsmäßig mit einer oder mehreren Feldvorrichtungen verbunden sind. Die Feldvorrichtungen, bei denen es sich beispielsweise um Ventile, Ventilsteller, Schalter und Sender (z.B. Temperatur-, Druck-, Füllstand- und Durchflusssensoren) halten kann, sind innerhalb der Prozessumgebung angeordnet und führen im Allgemeinen physikalische oder Prozesssteuerfunktionen aus, wie beispielsweise das Öffnen oder Schließen von Ventilen, das Messen von Prozessparameter usw., um einen oder mehrere Prozesse zu steuern, die innerhalb der Prozessanlage oder des Systems ausgeführt werden. Intelligente Feldvorrichtungen, beispielsweise die Feldvorrichtungen, die sich nach dem bekannten FOUNDATION® Fieldbus-Protokoll richten, können auch Steuerungsberechnungen, Alarmfunktionen und andere Steuerfunktionen durchführen, die üblicherweise innerhalb einer Prozesssteuerung implementiert werden. Die Prozesssteuerungen, die typischerweise auch innerhalb der Anlagenumgebung angeordnet sind, empfangen Signale, die von den Feldvorrichtungen durchgeführte Prozessmessungen und/oder andere Informationen empfangen, welche die Feldvorrichtungen betreffen, und führen eine Steuerungsanwendung aus, die beispielsweise verschiedene Steuermodule laufen lässt, die Prozesssteuerungsentscheidungen treffen, Steuersignale auf Basis der empfangenen Informationen generieren und sich mit den Steuermodulen oder -blöcken koordinieren, die in den Feldvorrichtungen ausgeführt werden, wie HART®-, WirelessHART®- und FOUNDATION® Fieldbus-Feldvorrichtungen. Die Steuermodule in der Steuerung schicken die Steuersignale über die Kommunikationsleitungen oder -verbindungen an die Feldvorrichtungen, um dadurch den Betrieb von zumindest einem Teil der Prozessanlage oder des Systems zu steuern.
-
Informationen von den Feldvorrichtungen und der Steuerung werden üblicherweise über eine Datenautobahn an einer oder mehreren anderen Hardware-Vorrichtungen zur Verfügung gestellt, beispielsweise an Bedienerarbeitsplätzen, Personal Computern oder Rechenvorrichtungen, Datenarchivaren bzw. Data Historians, Reportgeneratoren, zentralisierten Datenbanken oder anderen zentralisierten administrativen Rechenvorrichtungen, die in der Regel in Kontrollräumen oder an anderen Orten abseits der raueren Anlagenumgebung aufgestellt sind. Jede dieser Hardware-Vorrichtungen ist typischerweise über der Prozessanlage oder über einem Teil der Prozessanlage zentralisiert. Diese Hardware-Vorrichtungen bewirken, dass verschiedene unterschiedliche Anwendungen laufen bzw. ausgeführt werden, die einer Bedienperson beispielsweise ermöglichen, Funktionen in Bezug auf die Steuerung eines Prozesses und/oder den Betrieb der Prozessanlage zu erfüllen, beispielsweise das Änderung von Einstellungen der Prozesssteuerungsroutinen, das Modifizieren des Betriebs der Steuermodule innerhalb der Steuerungen oder Feldvorrichtungen, das Betrachten des aktuellen Zustands des Prozesses, das Betrachten von Alarmmeldungen, die von Feldvorrichtungen und Steuerungen generiert werden, das Simulieren des Betriebs des Prozesses für die Zwecke der Schulung von Personal oder der Prüfung der Prozesssteuerungs-Software, das Führen und Aktualisieren eine Konfigurationsdatenbank usw. Die von den Hardware-Vorrichtungen, den Steuerungen und den Feldvorrichtungen genutzte Datenautobahn kann drahtgebundene Kommunikationswege, drahtlose Kommunikationswege oder eine Kombination aus drahtgebundenen und drahtlosen Kommunikationswegen beinhalten.
-
Beispielsweise beinhaltet das DeltaVTM-Steuersystem, das von Emerson Process Management verkauft wird, mehrere verschiedene Anwendungen, die in bzw. von unterschiedlichen Vorrichtungen, die sich an verschiedenen verteilten Stellen innerhalb einer Prozessanlage befinden, gespeichert und ausgeführt werden. Eine Konfigurationsanwendung, die in einer oder mehreren Workstations oder Rechenvorrichtungen liegt, ermöglicht den Anwendern die Erzeugung oder Änderung von Prozesssteuermodulen und das Herunterladen dieser Prozesssteuermodule an zweckgebundenen verteilten Steuerungen über eine Datenautobahn. In der Regel bestehen diese Steuermodule aus kommunikationstechnisch untereinander verbundenen Funktionsblöcken, die Objekte in einem objektorientierten Programmierprotokoll sind, das innerhalb des Steuerungsplans Funktionen auf Basis von erhaltenen Eingaben durchführt und an anderen Funktionsblöcken innerhalb des Steuerungsplans Ausgaben bereitstellt. Die Konfigurationsanwendung kann einem Entwickler das Erzeugen und Ändern von Bedienoberflächen ermöglichen, die von einer Viewer- bzw. Betrachtungsanwendung verwendet werden, um einer Bedienperson Daten anzuzeigen und um die Bedienperson in die Lage zu versetzen, Einstellungen, beispielsweise Sollwerte, innerhalb der Prozesssteuerroutine zu ändern. Von jeder zweckgebundenen Steuerung und, in manchen Fällen, von einer oder mehreren Feldvorrichtungen, wird eine jeweilige Steueranwendung gespeichert und ausgeführt, welche die ihr zugewiesenen und in sie heruntergeladenen Steuermodule laufen lässt, um eine tatsächliche Prozesssteuerungsfunktion zu implementieren. Die Betrachtungsanwendungen, die an einer oder mehreren Bedienerarbeitsplätzen bzw. -Workstations (oder an einer oder mehreren an einem anderen Ort befindlichen Rechenvorrichtungen, die mit den Bedienerarbeitsplätzen und der Datenautobahn in Kommunikationsverbindung stehen) ausgeführt werden können, empfangen über die Datenautobahn Daten von der Steueranwendung und präsentieren diese Daten Entwicklern, Bedienpersonen oder Anwendern des Prozesssteuerungssystems, die diese Bedienoberflächen verwenden, und können beliebige von einer Anzahl unterschiedlicher Ansichten bereitstellen, beispielsweise eine Bedieneransicht, eine Ingenieursansicht, eine Technikeransicht usw. Eine Data-Historian- bzw. Datenarchivierungsanwendung ist typischerweise gespeichert in und wird ausgeführt von einer Data-Historian- bzw. Datenarchivierungsvorrichtung, die manche oder alle von den Daten, die über die Datenautobahn bereitgestellt werden, erfasst oder speichert, während eine Konfigurationsdatenbankanwendung in einem noch anderen Computer, der an der Datenautobahn hängt, laufen kann, um die aktuelle Konfiguration der Prozesssteuerroutine und die damit assoziierten Daten zu speichern. Alternativ dazu kann die Konfigurationsdatenbank in der gleichen Workstation liegen wie die Konfigurationsanwendung.
-
Wie aus der obigen Erörterung hervorgeht, gibt es auf jeden Fall viele Unterstützungsanwendungen und -systeme, die in oder über den verschiedenen Rechenvorrichtungen innerhalb einer Prozessanlage und eines Prozessanlagensteuerungssystems implementiert werden, beispielsweise verschiedene Hardware- und Software-Diagnoseanwendungen, Steueranwendungen, Konfigurationsanwendungen, Software- und Firmware-Anwendungen von Computerbetriebssystemen, Kommunikationsvorrichtungen, Netzwerksicherheitsvorrichtungen usw. Jede dieser verschiedenen Anwendungen oder Komponenten eines Prozessanlagensteuersystems kann verschiedene unterschiedliche Arten von Daten in verschiedenen unterschiedlichen Formaten und an verschiedenen unterschiedlichen Orten oder Datenbanken innerhalb der Anlage erfassen, generieren und speichern. Die Anwendungen können beispielsweise grundsätzliche oder grundlegende Computereinstellungen oder Konfigurationseinstellungen, beispielsweise solche, die mit verschiedenen Computerhardware-Vorrichtungen innerhalb der Anlage assoziiert sind, und Software- oder Firmware-Parameter des Betriebsssystems, die in verschiedenen Computern innerhalb der Anlage verwendet werden, speichern. Außerdem können die Anwendungen grundsätzliche Kommunikations- und Kommunikationsnetzwerkeinstellungen, Konfigurationsdaten oder andere Daten speichern, die auf die Art und Weise bezogen sind, wie elektronische Datenübertragungen unter Verwendung verschiedener unterschiedlicher Arten von Kommunikations-Hardware und -Software, die gemäß verschiedenen innerhalb der Anlage verwendeten Kommunikationsprotokollen implementiert werden, eingerichtet werden. Darüber hinaus können andere Anwendungen Daten generieren und speichern, die sich auf die Art und Weise beziehen, wie verschiedene Diagnoseanwendungen für Prozesssteuerungs-Software und Prozessanlagen-Hardware und -Software innerhalb der Anlage eingerichtet oder konfiguriert werden, um verschiedene Steuerungs-, Anzeige-, Kommunikations-, Kalibrierungs-, Diagnose-, Sicherheits- und andere Aktionen innerhalb der Anlage durchzuführen. Selbstverständlich können viele Anwendungen oder Systeme innerhalb einer Anlagenumgebung vorhanden sein und ausgeführt werden, und mit jeder bzw. mit jedem von diesen Anwendungen oder Systemen können verschiedene unterschiedliche Arten von Daten, Konfigurationseinstellungen usw. assoziiert sein.
-
Darüber hinaus können manche neuere Prozessanlagensysteme „Big Data“-Maschinen beinhalten, die manche oder alle von den Daten erfassen, die innerhalb einer oder über eine Prozessanlage generiert und von den verschiedenen Systemen innerhalb der Anlage generiert werden. „Big Data“ betrifft im Allgemeinen das Erfassen eines oder mehrerer Datensätze, die so groß oder komplex sind, dass herkömmliche Datenbankverwaltungswerkzeuge und/oder Datenverarbeitungsanwendungen (z.B. relationale Datenbanken und Desktop-Statistikpakete) nicht in der Lage sind, die Datensätze innerhalb einer zumutbaren Zeitspanne zu verwalten. In der Regel sind Anwendungen, die Big Data bzw. Massendaten verwenden, transaktional und auf einen Endanwender gerichtet oder abgestellt. Zum Beispiel können Web-Suchmaschinen, Social-Media-Anwendungen, Marketing-Anwendungen und Retail-Anwendungen Massendaten verwenden und manipulieren. Massendaten können von einer verteilten Datenbank unterstützt werden, welche die volle Ausnutzung der Parallelverarbeitungsfähigkeit moderner mehrkerniger Multiprozessserver gestattet. Wie oben angegeben, gibt es einige neuere Entwicklungen hin zur Einverleibung von Massendaten oder Massendatenmaschinen in ein Prozesssteuerungssystem für den Zweck der Archivierung von Prozesssteuerdaten in einem Maß, das bisher nicht möglich war. Jedoch gibt es derzeit keine oder nur sehr begrenzte Möglichkeiten, diese Daten, die von einer Prozessanlage oder einem Prozess erfasst werden, zu analysieren oder zu verwenden, um eine umfassende oder systematische Analyse des Anlagenbetriebs durchzuführen, um Trends erkennen, Vorhersageanalysen durchführen, Anomalien innerhalb des Anlagenbetriebs erkennen, die Anlage neu justieren oder konfigurieren zu können, damit diese wirtschaftlicher betrieben werden kann, usw.
-
Daher sei klargestellt, dass verschiedene unterschiedliche Prozessanlagen oder Prozesssteuerungssysteme, die mit verschiedenen Prozessanlagen oder Anlagenstandorten assoziiert sind, zwar gleiche grundlegende Computer-Hardware, Kommunikationsnetzwerke, Prozesssteuerungs- und Diagnosesoftwaresysteme und andere Unterstützungsanwendungen verwenden können, aber jede Anlage während des Betriebs anders eingerichtet und konfiguriert werden kann, was im Grunde aus jeder Anlage oder sogar jedem Teilabschnitt innerhalb einer Anlage ein einmaliges Computersystem macht, das auf einmalige Weise konfiguriert ist und betrieben wird. Es kann sehr viele Faktoren geben, die in die Einrichtung oder Konfiguration eines Anlagensteuerungs- und Kommunikationsnetzwerkes einfließen, einschließlich von Steuereinstellungen, Konfigurationseinstellungen, Hardware-Verbindungen, Software des Computerbetriebssystems und Versionen davon, Updates von Computer-Hardware und -Software, die in der Anlage installiert worden sein können oder auch nicht, Identitäten und Standorte von Datenbanken und anderer Hardware innerhalb der Anlage, Firewall- oder andere Sicherheitseinrichtungen usw. Darüber hinaus können Anlagenbetreiber Fehler bei der Einrichtung oder Konfiguration der Anlagen-Hardware- und -Softwaresysteme machen. In den meisten Fällen verstehen Anlagenbetreiber und in manchen Fällen sogar Personen, die für die Informationstechnik (IT) der Anlage zuständig sind, die zugrundeliegende Konfiguration und Struktur eines Anlagennetzwerkes (beispielsweise einschließlich von Computer- und Kommunikationsnetzwerken der Anlage) nicht vollständig, und daher sind diese Personen im Allgemeinen nicht in der Lage, die Quelle aller Fehler oder Probleme zu erkennen, die in einem Anlagensystem auftreten können, geschweige denn die Fehler zu beheben, wenn die Netzwerke oder Systeme der Anlage arbeiten. Um Anlagenpersonal bei der Aufrechterhaltung und beim Betreiben dieser komplexen Prozesssteuerungssysteme innerhalb einer Anlage zu unterstützen, bieten die Anbieter von Software für Prozesssteuerungssysteme Anwendern im Allgemeinen technische Unterstützung an, um die Anwender (Kunden) im Falle von Computer- und Netzwerkproblemen bei der Suche nach den Ursachen und bei der Anwendung von Fixes bzw. Patches für erkannte Probleme zu unterstützen.
-
Jedoch kann die Suche nach den Ursachen von Problemen beim Kunden eine zeitaufwändige Aufgabe sein, da diese Ursachensuche üblicherweise das Erfassen von Diagnosedaten aus den Computersystemen des Kunden und dann die Analyse der erfassten Daten auf manuelle Weise beinhaltet, um Anomalien, falsche Einstellungen usw. zu erkennen. Die Ursache für manche Probleme ist schwer zu finden, was eine Eskalation des Problems bis dahin beinhalten kann, dass Technikexperten sich tatsächlich bis in den Quellcode der Steuerungs- und Netzwerksoftware vorarbeiten müssen, um die grundlegende Ursache für das Problem zu bestimmen. Andererseits ist die Ursache für manche Probleme leicht zu finden, da es sich dabei um bekannte Probleme handelt, die bereits in Systemen anderer Kunden vorgekommen sind, und die Informationen, die diese Probleme betreffen, an einem bekannten Ort oder auf eine bekannte Weise dokumentiert oder gespeichert worden sein können, um sie bei späteren Fehlerursachensuchen und Problemlösungen zu verwenden. Im Allgemeinen werden in manchen Systemen die erkannten Probleme und die Lösungen dafür in einem Wissensbasisartikel bzw. Knowledge Base Article (KBA) gespeichert, auf den von IT-Personal, das im System eines Kunden auf den gleichen oder einen ähnlichen Fehler stößt, zugegriffen werden kann.
-
Im Allgemeinen beinhaltet der Prozess der Suche nach der Ursache und der Bereitstellung einer Lösung für ein Problem eines Kunden unter Verwendung von Systemen, die eine Fehlerursachensuche unterstützen, derzeit das Erfassen von Daten vom Standort des Kunden, die von einem lokal zuständigen Ingenieur, einem Produktingenieur (PE) oder jemand anderem spezifiziert werden, in einem globalen Service-Center (GSC) und dann das Überprüfenlassen der erfassten Daten vom Personal des globalen Service-Centers (GSC) (beispielsweise einem Produktingenieur oder einem lokal zuständigen Ingenieur), um zu bestimmen, ob die Symptome/Probleme des Kunden bekannt und in einem bereits gespeicherten KBA aufgeführt sind. Für erfahrene oder hochkompetente Ingenieure kann dieser Prozess eine leicht zu lösende Aufgabe ein, da diese erfahrenen Ingenieure diese Analyse schon oft durchgeführt haben. Zum Beispiel kann es sein, dass die erfahrenen Ingenieure genau wissen, welche Protokolldatei (von einer Anzahl von Datendateien, die von einem Standort eines Kunden erfasst worden sind) sie öffnen müssen, nach welchen Schlüsselwörtern/Tokens sie in den Protokolldateien suchen müssen, usw., um ein Problem oder eine Schwierigkeit aus der Welt zu schaffen oder die Ursache dafür zu erkennen.
-
Andererseits kann es jedoch sein, dass neu eingestellte oder wenig kompetente Ingenieure länger brauchen, um Daten zu analysieren, die bei der Korrektur von Problemen helfen sollen, obwohl die Probleme bekannte Probleme sind, und insbesondere wenn die Probleme neu sind (d.h. solche, die nicht mit irgendwelchen gespeicherten KBAs assoziiert sind). Die manuelle Herangehensweise ist außerdem nicht skalierbar, da die Anzahl der erfahrenen oder hochkompetenten Ingenieure nicht immer proportional ist zur Anzahl der neuen oder wenig kompetenten Ingenieure.
-
Um die Sache zu vereinfachen, wurde ein stärker automatisierter Prozess entwickelt, um bei der Erkennung und Lösung von Problemen bei der Unterstützung an einem Kundenstandort zu helfen. Insbesondere wendet dieser automatisierte Prozess zuvor erzeugte Analyseregeln auf die Datendateien an, die vom Standort eines Kunden erfasst worden sind, und verwendet diese Regeln, um Analyseergebnisse zu generieren, die auf einen oder mehrere KBAs, die beim Verstehen oder Lösen eines Problems helfen können, hinweisen oder diese(n) identifizieren. Diese Regeln können automatisch auf jeden neuen Satz von Kundendaten angewendet werden, um die Ingenieure im Support Center bei der Diagnose von Netzwerk- und Prozesssteuerungssystemen am Kundenstandort zu unterstützen. Jedoch ist dieser automatisierte Prozess ein niemals abgeschlossener Prozess, der die Hinzufügung von mehr Analyseregeln erfordert, um mehr Probleme lösen zu können. Leider erfordert die Generierung neuer Analyseregeln innerhalb dieses automatisierten Prozesses die Beteiligung eines Entwicklungsteams, das versteht, wie die neuen Analyseregeln erzeugt und codiert werden müssen, damit sie von der mit dem automatisierten Prozess assoziierten analytischen Rechenmaschinen verwendet werden können.
-
Genauer ist an einem derzeit verwendeten Analyseunterstützungssystem ein Ingenieur im Service Center beteiligt, der Diagnosedaten, die von der Anlage eines Kunden erfasst worden sind, in eine oder mehrere analytische Rechenmaschinen eingibt, die dann die erfassten Daten durch Anwenden eines Satzes finiter Analyseregeln auf die Daten analysieren und nach bekannten Probleme suchen. Nach der Anwendung der Analyseregeln produziert die analytische Rechenmaschine eine Liste von Analyseergebnissen, die alle gefundenen Probleme angibt, auf Basis der in der analytischen Rechenmaschine verwendeten Analyseregeln und bietet eine oder mehrere mögliche Lösungen für das Problem an, wobei diese Lösungen von den Analyseregeln vorgegeben werden, die innerhalb der analytischen Rechenmaschine angewendet werden. Jedoch kann in diesem System nur ein Entwickler weitere Analyseregeln zur analytischen Rechenmaschine hinzufügen. Genauer schreibt ein Ingenieur eines Unterstützungssystems, um Analyseregeln zu entwickeln, die manuellen Fehlerursachensuchschritte, die er üblicherweise durchführt, nieder und gibt dieses Protokoll dann in Schriftform an ein Entwicklungsteam weiter. Ein Regelentwickler verwendet diese manuellen Fehlerursachensuchschritte dann, um einen Computercode zu schreiben, der die manuellen Fehlerursachensuchschritte, wie sie von dem lokal zuständigen Ingenieur durchgeführt werden, automatisiert, um eine oder mehrere neue Analyseregeln zu bilden. Der Entwickler testet und veröffentlicht dann die neuen Analyseregeln an der analytischen Rechenmaschine, die diese neuen Regeln danach verwendet, um Kundendaten zu analysieren. Jedoch müssen die neuen Regeln von einem hochspezialisierten oder erfahrenen Entwickler manuell erzeugt werden, der sich mit der analytischen Rechenmaschine auskennt und der in der Lage ist, neue Regeln in der Sprache und dem Format programmieren, die innerhalb der analytischen Rechenmaschine funktionieren. Darüber hinaus ist der Prozess der Entwicklung neuer Regeln zeitaufwändig und kann zu einer erheblichen Verzögerung führen zwischen der Zeit, zu der ein bestimmtes Problem (das erste Mal) auftritt, und der Zeit, zu der eine Regel, die eine Lösung für dieses Problem erkennt und anbietet, erzeugt und an der analytischen Rechenmaschine bereitgestellt wird, um später das gleiche Problem an anderen Kundenstandorten zu erkennen.
-
KURZFASSUNG
-
Es wird ein System oder eine Anwendung zur Formulierung von Regeln geschaffen und in ein elektronisches System zur technischen Unterstützung von Kunden integriert, das die Nutzer des Systems zur technischen Unterstützung von Kunden in die Lage versetzt, bei Bedarf eigene kundenspezifische Analyseregeln zur Verwendung bei der Diagnostizierung und Erkennung von Problemen am Standort einer Prozessanlage eines Kunden zu erstellen, ohne eine Anfrage an einen Entwickler stellen und auf die Bereitstellung einer oder mehrerer neuer Regeln warten zu müssen, die in späteren Versionen des Systems zur technischen Unterstützung von Kunden bereitgestellt werden. Eine Vorrichtung zur Formulierung von Analyseregeln kann nach Bedarf auch von lokalen Geschäftsstellen und lokalen Technologiegruppen verwendet werden oder kann von Personal an Standorten des Kunden verwendet werden. Die kundenspezifischen Analyseregeln können zwischen Ingenieuren, die das elektronische System zur technischen Unterstützung von Kunden verwenden, geteilt werden, um lokal zuständige Ingenieure oder Anwender in die Lage zu versetzen, neue Regeln zu generieren und sofort zu verwenden. Darüber hinaus können Regeln, die auf verteilte Weise von lokalen Gruppen oder Anwendern erzeugt werden, zur Verteilung an andere Anwender an einem zentralisierten System bereitgestellt werden und können verwendet werden, um Entwickler in die Lage zu versetzen zu verstehen, welche Analyseregeln von lokalen Anwendern erzeugt werden. Außerdem kann die Vorrichtung zur Formulierung von Analyseregeln in einem Online-Unterstützungssystem verwendet werden, wo Ingenieure vor Ort eine oder mehrere kundenspezifische Analyseregeln erstellen, um bestimmte Datenströme oder Ereignisse innerhalb des Anlagensteuerungssystems zu überwachen und die Regeln zu verwenden, um nach der Erkennung der Ereignisse bestimmte Aktionen innerhalb der Anlage auszulösen, beispielsweise Alarmeinstellung, Erfassen und Analysieren zusätzlicher Daten usw.
-
In einer Ausführungsform liefert eine Anwendung zur Formulierung von Regeln bzw. eine Rule-Builder-Anwendung eine strukturierte Umgebung zur grafischen Erzeugung oder Programmierung neuer Analyseregeln, die beispielsweise dafür ausgelegt sein können, Daten von einem oder vielen unterschiedlichen Computersystemen und Anwendungen innerhalb einer Prozessanlage zu verwenden oder zu analysieren, beispielsweise unter anderem von Computer-Hardware und Netzwerkkonfigurationsanwendungen, Anwendungen zur Steuerung und Konfiguration von Anlagenausstattungen, Systemen zur Steuerung oder Diagnose von Prozessanlagen usw. Darüber hinaus können die in den Regeln verwendeten Daten Daten beinhalten, die auf beliebige Weise, beispielsweise durch Datenarchivare, Bedienoberflächen, Workstations, Steuerungen, Eingabe-/Ausgabevorrichtungen, Feldvorrichtungen, einer Massendatenmaschine usw., die innerhalb einer Anlage liegen, jeweils mit dem Ziel erfasst wurden, zu ermöglichen, dass die Analyseregeln mehr systematische oder umfassende Diagnosen, Prognosen, Analysen usw. durchführen können, wenn eine Prozessanlage überwacht wird.
-
Die Rule-Builder-Anwendung kann eine Konfigurationsroutine oder -maschine zur Erzeugung von Bedienoberflächenelementen beinhalten, um eine grafische Konstruierung oder Programmierung einer neuen Analyseregel zu erleichtern, und kann eine Runtime Engine zur Ausführung der Analyseregeln beinhalten, um eine Analyse von oder im Hinblick auf Daten innerhalb eines Prozesses oder einer Prozessanlage durchzuführen, beispielsweise einschließlich von Computer- und Kommunikationsnetzwerkdaten, Hardware-Konfigurationsdaten der Prozessanlage usw. In manchen Fällen kann die Konfigurationsmaschine eine Oberflächenroutine beinhalten, die verschiedene Komponenten oder Werkzeuge, die bei der Formulierung einer Analyseregel verwendet werden sollen, an einer Anzeigevorrichtung anzeigt, unter anderem beispielsweise Hinweise auf Datenquellen (z.B. Quellen von Eingabedaten, die in einer Regel verwendet werden sollen), logische oder Ablaufsteuerungsoperationen, die in einer Regel verwendet werden sollen, und Ausgabeaktionen, die als Ergebnis der Implementierung einer Regel oder der Erkennung eines Problems durch die Regel stattfinden können. Die Konfigurationsmaschine kann auch einen Regel- oder Logik-Compiler beinhalten, der die angezeigte Regel in ein Software-Format umwandelt, das von einer Runtime Engine (z.B. einer Analysemaschine) ausführbar ist. Die Runtime Engine kann eine Datenabfrageroutine zum Abfragen von Daten, die bei der Ausführung einer Regel verwendet werden, und eine Regelausführungsroutine beinhalten, welche die ausführbaren Analyseregeln anwendet oder ausführt.
-
In manchen Fällen kann die Oberflächenroutine Befehle beinhalten, die in einem Speicher gespeichert sind und die, wenn sie an einem Prozessor ausgeführt werden, auf einer Anwenderanzeige eine Werkzeugkastenregion generieren, die eine oder mehrere Quellen unterschiedlicher Daten, einen oder mehrere Sätze von Steuerungsfluss- oder logischen Operationen und eine oder mehrere Ausgabeaktionen anzeigt, und die eine Workflow-Region auf der Anzeige des Anwenders generieren. Während der Verwendung kann ein Anwender durch die Datenquellen (oder eine Datenquellenhierarchie), die in der Werkzeugkastenregion angezeigt werden, navigieren, um spezifische Eingabedaten, die in einer Analyseregel verwendet werden sollen, zu lokalisieren oder zu definieren, und kann eine oder mehrere Eingabedatenquellen in die Workflow-Region ziehen. Genauer kann die Datenhierarchieregion Eingabedatenindikatoren oder andere Indikatoren für Daten, die von verschiedenen anderen Computersystemen oder Anwendungen innerhalb einer Anlage erhältlich sind, anzeigen. Solch eine Datenquellenhierarchie kann von einem Anlagenkonfigurationssystem oder einer Anlagenkonfigurationsdatenbank kommen oder gefüllt werden, welche(s) die Datenarten, die innerhalb einer Anlage generiert werden, die Anwendungen, die Daten innerhalb einer Anlage generieren oder speichern, und das Format und/oder die Struktur dieser Daten, die innerhalb einer Anlage gespeichert werden, definiert. Außerdem kann die Werkzeugkastenregion Hinweise auf verschiedene logische oder Steuerungsflussoperationen, die in einer Analyseregel verwendet werden können, beinhalten. Hierbei kann der Anwender eine Auswahl aus dem Satz von Steuerungsfluss- oder logischen Operationen treffen und diese Operationen in den Workflow-Bereich ziehen, um eine oder mehrere logische Operationen zu definieren, die auf die ausgewählten Eingabedaten in einer oder mehreren Regeln angewendet werden sollen, um die Reihenfolge oder Sequenz dieser Operationen zu definieren. Ebenso kann die Werkzeugkastenregion Hinweise auf eine oder mehrere Aktionen beinhalten, und der Anwender kann eine oder mehrere dieser Ausgabeoperationen innerhalb der Werkzeugkastenregion des Anzeigebildschirms auswählen und diese Ausgabeaktionen in den Workflow-Bereich ziehen, um die Aktionen zu definieren, die von einer Regel als Reaktion auf die logischen Bestimmungen, die von den logischen oder Steuerungsflussoperationen der Analyseregel getroffen werden, durchgeführt werden. Diese Ausgabeoperationen könne eine oder mehrere Aktionen spezifizieren, die durchgeführt werden sollen, wenn eine logische Operation oder Bestimmung durchgeführt wird, und die Ausgabeoperationen können Aktionen wie Anzeigeaktionen, Alarmierungsaktionen, physische Operationen oder physische Aktionen in der Anlage usw. beinhalten.
-
Um einen Anwender in die Lage zu versetzen, eine Regel auf grafische Weise zu erzeugen, kann die Bedienoberflächenroutine daher eine Canvas- oder Workflow-Region auf einer Bedienoberfläche oder Anzeige, die als Hauptpräsentationsfenster dient, für die grafische Erzeugung und Darstellung von erzeugen Regeln erzeugen, und die Oberflächenroutine kann auch einen Überblicksbereich generieren, der einen Überblick oder eine Zusammenfassung der gerade erzeugten Regel anzeigt. Im Allgemeinen kann jeder Anwender die Konfigurationsroutine einer Anwendung zur Formulierung von Regeln verwenden, um die Teilelemente (Dateneingaben, Steuerungsflusslogik und Ausgabeaktionen) einer Analyseregel innerhalb der Workflow-Region grafisch anzuordnen, um dadurch die Art und Weise zu definieren, wie die Logik der Regel an Eingabedaten (wie in der Regel spezifiziert) operiert, um Ausgabeaktionen zu erzeugen, welche die Notwendigkeit für manche Aktion(en) innerhalb der Anlage andeuten oder angeben.
-
Die Regelkonfigurationsmaschine kann auch eine Compiler-Routine beinhalten, die in einem Speicher gespeichert ist und die an einem Prozessor ausführbar ist, um die grafische Darstellung der Regel, die vom Anwender unter Verwendung der Bedienoberflächenroutine erzeugt worden ist, in eine kompilierte Regel, das heißt in ein ausführbares Format zu transformieren, das von einer Analysemaschine unterstützt wird. Die kompilierte Regel kann in einer Online-Analysemaschine an spezifizierten Datendateien getestet werden, um zu bestimmen, ob die Regel korrekt oder nach Wunsch arbeitet. Wenn er fertig ist, kann der Anwender die kompilierte Regel als neue Regel im Speicher speichern, und danach kann die Regel von einer Offline-Analysemaschine oder von einer Laufzeitanalysemaschine innerhalb der Anlagenumgebung angewendet oder ausgeführt werden, um Daten aus der Anlage zu analysieren, um dadurch Probleme in der Anlage zu erkennen und zu diagnostizieren.
-
In manchen Fällen kann der Anwender eine Regel erzeugen und kann dann diese Regel auf archivierte Daten, die innerhalb einer Massendatenmaschine (oder einer anderen Archivierungsdatenbank) gespeichert sind, anwenden, um zu bestimmen, ob die Regel für den beabsichtigten Zweck geeignet operiert. Wenn nicht, kann der Anwender die Regel abändern oder ändern, beispielsweise durch Einbeziehung zusätzlicher Logik oder Eingabe-/Ausgabedaten in die Regel, und kann dann die abgeänderte Regel auf denselben Satz von archivierten Daten (oder an Daten von der bzw. den gleichen Quelle(n)) erneut anwenden, um dadurch die abgeänderte Regel zu testen. Wenn die Rule-Builder-Anwendung mit einer Prozessanlage verbunden ist, die eine Massendatenmaschine aufweist, die alle oder die meisten von den Daten erfasst, die in einem Prozess generiert oder erkannt werden, sind die Daten, die mit den in der abgeänderten Regel verwendeten neuen Parametern assoziiert sind, sofort in der Massendatenarchivierungsdatenbank verfügbar, da diese Daten als Teil der Massendatenarchitektur des Prozesses erfasst wurden. Auf diese Weise kann ein Regelerzeuger Regeln schnell oder leichter entwerfen und an archivierten Daten testen und erneut testen, bevor er diese Regeln innerhalb einer Online-Anlagenumgebung oder einem Offline-System zur technischen Unterstützung von Kunden in Betrieb nimmt.
-
Der Anwender kann somit die Konfigurationsmaschine verwenden, um auf grafische Weise eine Regel zur Bestimmung unrichtiger Computer- oder Kommunikationsnetzwerkeinstellungen, -konfigurationen usw. zu erzeugen und zu kompilieren, um Fehler innerhalb der Anlagenausstattung zu erkennen, um Fehler im Betrieb der Anlage zu erkennen, um den Betrieb der Anlage zu analysieren, um ein aktuelles Problem innerhalb einer Anlage zu diagnostizieren, um mögliche künftige Probleme innerhalb der Anlage vorauszusagen, um Beziehungen innerhalb von Anlagendaten und Anlagenausstattung zu identifizieren usw. Die Rule-Builder-Anwendung wie hierin beschrieben bietet somit eine robuste und effiziente Architektur zur grafischen Erzeugung und Ausführung logischer Regeln in einem Prozessanlagenunterstützungssystem ebenso wie in einer Computer- und Kommunikationsnetzwerkumgebung einer Prozessanlage.
-
In einer anderen Ausführungsform beinhaltet ein Rechensystem zur Erleichterung einer grafischen Konstruktion einer Analyseregel zur Verwendung bei der Analyse von Daten aus einer Prozessanlage einen nichtflüchtigen computerlesbaren Speicher, in dem mehrere Vorlagen für Regelkomponenten gespeichert sind, einschließlich einer oder mehrerer Vorlagen für Datenquellen, die Datenquellen innerhalb der Prozessanlage definieren, einer oder mehrerer funktionaler Vorlagen, die logische Bestimmungsoperationen definieren, die unter Verwendung von Daten aus der Prozessanlage durchgeführt werden sollen, und einer oder mehrerer Ausgabevorlagen, die Aktionen angeben, die als Reaktion auf eine logische Bestimmungsoperation durchgeführt werden sollen. Das Computersystem beinhaltet außerdem eine Konfigurationsmaschine, die an einer elektronischen Verarbeitungsvorrichtung operiert und die ferner eine Oberflächenroutine beinhaltet, die über eine Bedienoberflächenvorrichtung folgendes generiert: eine Bibliotheksregion, die grafische Darstellungen der Vorlagen für Regelkomponenten anzeigt, einschließlich einer oder mehrerer Vorlagen für Datenquellen, einer oder mehrerer funktionaler Vorlagen und einer oder mehrerer Ausgabevorlagen, und eine Workflow-Region, die auf Basis einer Anwenderauswahl der grafischen Darstellungen einer oder mehrerer Regelkomponentenvorlagen Regelkomponenten empfängt und anzeigt, wobei die Regelkomponenten mindestens eine Datenquellenkomponente, eine funktionale Komponente und eine Ausgabekomponente beinhalten. Die Konfigurationsmaschine operiert so, dass sie eine grafische Eingaberoutine ausführt, um ein interaktives Fenster für jede von einem Satz von Regelkomponenten, die aus den Regelkomponentenvorlagen abgeleitet werden, anzuzeigen, wobei das interaktive Fenster für jede von den Regelkomponenten einen Anwender in die Lage versetzt, einen oder mehrere spezifische Parameter für jede von den Regelkomponenten zu definieren. Genauer zeigt die grafische Eingaberoutine für die Datenquellenkomponente ein interaktives Dateneingabefenster an, das einen oder mehrere vom Anwender definierbare Parameter beinhaltet, die einen spezifischen Datensatz von einer spezifischen Datenquelle, der für die Analyseregel abgerufen werden soll, spezifizieren. Darüber hinaus zeigt die grafische Eingaberoutine für die funktionale Komponente ein oder mehrere interaktive funktionale Fenster an, die einen oder mehrere vom Anwender definierbare Parameter beinhalten, die eine oder mehrere logische Operationen spezifizieren, die unter Verwendung des spezifischen Datensatzes aus der spezifischen Datenquelle durchgeführt werden sollen. Außerdem zeigt die grafische Eingaberoutine für die Ausgabekomponente ein interaktives Ausgabefenster an, das vom Anwender definierbare Parameter beinhaltet, die eine Aktion spezifizieren, die in Verbindung mit einer durch die eine oder die mehreren logischen Operationen getroffenen Bestimmung ergriffen werden soll.
-
Das Computersystem beinhaltet auch einen Compiler, der an einem Prozessor ausgeführt wird, um die Regelkomponenten, einschließlich der vom Anwender definierten Parameter für jede der Regelkomponenten, in eine ausführbare Analyseregel zu kompilieren, und beinhaltet eine Runtime Engine, die an einer elektronischen Verarbeitungsvorrichtung ausgeführt wird, um die ausführbare Analyseregel auszuführen.
-
Falls gewünscht, kann der nichtflüchtige computerlesbare Speicher einen Satz von Metadaten für jede von den mehreren Datenquellenvorlagen speichern, wobei die Metadaten für jede der Datenquellenvorlagen eine Struktur der Daten von einer Datenquelle definieren. Die Metadaten können beispielsweise eine Struktur der Daten definieren, wie sie in einer Datendatei definiert werden, die von der Datenquelle erhalten wird, die mit der Datenquellenvorlage assoziiert ist. Die vom Anwender definierbaren Parameter der Eingabedatenkomponente können einen Hinweis auf einen oder mehrere Parameter beinhalten, die in den Metadaten für eine Datenquelle definiert sind, beispielsweise einen Hinweis auf eine Zeile und einen Datenschlüssel, die in einem Datenbankformat gespeichert sind, einen Variablennamen für den Datenwert der Daten, auf die von der Datenquellenkomponente verwiesen wird, und/oder eine mathematische Operation, die auf einen Datenwert angewendet werden soll, auf den von der Datenquellenkomponente verwiesen wird.
-
Außerdem können die vom Anwender definierbaren Parameter der funktionalen Komponente einen Hinweis auf einen Variablennamen von Daten, die der einen oder in einer von den mehreren logischen Operationen verwendet werden werden sollen, einen Hinweis auf einen logischen Zustand, der in Bezug auf Daten getestet werden soll, die von dem Variablennamen spezifiziert werden, und/oder einen Hinweis auf eine Reihenfolge der Ausführung einer oder mehrerer logischer Operationen beinhalten.
-
Die vom Anwender definierbaren Parameter der Ausgabekomponente können einen Hinweis auf Informationen beinhalten, die als Teil einer Ausgabeanzeige bereitgestellt werden sollen, beispielsweise einen Hinweis auf einen Wissensbasisartikel, der in einer Datenbank gespeichert ist, wobei der Wissensbasisartikel Informationen in Bezug auf die Korrektur eines erkannten Problems speichert, einen Hinweis auf eine elektronische Kommunikation (beispielsweise eine E-Mail, einen Alarm, ein Steuersignal usw.), die als Reaktion auf eine Bestimmung initiiert werden soll, die von einer logischen Operation getroffen wird, die von einer funktionalen Komponente spezifiziert wird, und/oder einen Hinweis auf eine Meldung, die an einer Bedienoberfläche innerhalb oder assoziert mit einer Prozessanlage bereitgestellt werden soll.
-
Außerdem können die Datenquellenvorlagen generell irgendeine oder irgendwelche der folgenden definieren: eine Server/Workstation-Hardware-Datenquelle, eine Betriebssystemdatenquelle, eine Prozesssteuerungsdatenquelle, eine Chargendatenquelle, eine Netzwerkkommunikations-/Infrastrukturdatenquelle, eine Bedienoberflächendatenquelle, eine Datenbankdatenquelle, eine Software- und Anwendungsdatenquelle, eine Sicherheitssystemdatenquelle, eine Datenquelle für einfache oder redundante/gespiegelte OPC-Server, eine Logbuchdatenquelle oder einer Virtualisierungsdatenquelle, die jeweils in verschiedenen Prozesssteuerungssystemen und Unterstützungssystemen einer Prozessanlage generiert oder gespeichert werden können.
-
Die Runtime Engine kann eine Ausführungsmaschine, welche die ausführbare Analyseregel ausführt, und einen Datenabfrager beinhalten, der Daten aus einer Datendatei abfragt, die in einer Datenbank für einen bestimmten Prozessanlagenstandort gespeichert ist, die von der Datenquellenkomponente spezifiziert wird. Das Computersystem kann ferner eine Datenbank beinhalten, die mehrere Sätze von Kundendatendateien speichert, wobei jeder von den mehreren Sätzen von Kundendatendateien mit einem anderen Prozessanlagenstandort des Kunden oder mit einer anderen Erfassungszeit am selben Prozessanlagenstandort des Kunden assoziiert ist, und die Runtime Engine kann die ausführbare Analyseregel unter Verwendung von Daten aus einem spezifizierten Satz von den mehreren Sätzen von Kundendatendateien ausführen. In manchen Fällen kann die Runtime Engine eine interaktive Anwenderkomponente beinhalten, beispielsweise ein Dialogfenster, das es einem Anwender ermöglicht, zu spezifizieren, welcher von den mehreren Sätzen von Kundendatendateien verwendet werden soll.
-
Außerdem kann das Computersystem eine Veröffentlichungs- bzw. Publisher-Routine beinhalten, die an einem Prozessor ausgeführt wird, um die ausführbare Analyseregel an einer Regeldatenbank zu veröffentlichen, damit sie von anderen Anwendern verwendet werden kann. Die Oberflächenroutine kann ferner über die Bedienoberflächenvorrichtung eine Übersichtsregion generieren, die eine Zusammenfassung der in der Workflow-Region angezeigten Analyseregel anzeigt.
-
In einer anderen Ausführungsform beinhaltet ein computerimplementiertes Verfahren zur Erleichterung einer grafischen Konstruktion einer Analyseregel das Speichern mehrerer Vorlagen für Regelkomponenten an einem nichtflüchtigen computerlesbaren Speicher, einschließlich einer oder mehrerer Vorlagen für Datenquellen, die Datenquellen innerhalb einer Prozessanlage definieren, einer oder mehrerer funktionaler Vorlagen, die logische Bestimmungsoperationen definieren, die unter Verwendung von Daten aus der Prozessanlage durchgeführt werden sollen, und einer oder mehrerer Ausgabevorlagen, die Aktionen angeben, die als Reaktion auf eine logische Bestimmungsoperation durchgeführt werden sollen. Das Verfahren beinhaltet außerdem die Erzeugung einer Bibliotheksregion, die grafische Darstellungen der Vorlagen für Regelkomponenten anzeigt, an einer Bedienoberflächenvorrichtung unter Verwendung einer elektronischen Verarbeitungsvorrichtung, einschließlich einer oder mehrerer Vorlagen für Datenquellen, einer oder mehrerer funktionaler Vorlagen und einer oder mehrerer Ausgabevorlagen, und eine Workflow-Region, die auf Basis einer Anwenderauswahl der grafischen Darstellungen einer oder mehrerer Regelkomponentenvorlagen Regelkomponenten empfängt und anzeigt, wobei die Regelkomponenten mindestens eine Datenquellenkomponente, eine funktionale Komponente und eine Ausgabekomponente beinhalten. Außerdem beinhaltet das Verfahren folgendes: Erzeugen eines interaktiven Fensters in der Workflow-Region unter Verwendung einer elektronischen Verarbeitungsvorrichtung für jede aus einem Satz von Regelkomponenten, die von den Vorlagen für Regelkomponenten abgeleitet werden, als Reaktion auf eine von einem Anwender getroffene Auswahl für jede der Vorlagen für Sätze von Regelkomponenten, und die Verwendung des interaktiven Fensters für jede von den Regelkomponenten, um einen Anwender in die Lage zu versetzen, spezifische Parameter für jede der Regelkomponenten zu definieren. Genauer kann das Verfahren für die Datenquellenkomponente ein interaktives Dateneingabefenster verwenden, das einen oder mehrere vom Anwender definierbare Parameter beinhaltet, die einen spezifischen Datensatz von einer spezifischen Datenquelle, der für die Analyseregel abgerufen werden soll, spezifizieren. Ebenso kann das Verfahren für die funktionale Komponente ein oder mehrere interaktive funktionale Fenster verwenden, die einen oder mehrere vom Anwender definierbare Parameter beinhalten, die eine oder mehrere logische Operationen spezifizieren, die unter Verwendung des spezifischen Datensatzes aus der spezifischen Datenquelle durchgeführt werden sollen. Außerdem kann das Verfahren für die Ausgabekomponente ein interaktives Ausgabefenster verwenden, das vom Anwender definierbare Parameter beinhaltet, die eine Aktion spezifizieren, die in Verbindung mit einer durch die eine oder die mehreren logischen Operationen getroffenen Bestimmung ergriffen werden soll.
-
Ebenso beinhaltet das Verfahren das Kompilieren der Regelkomponenten, einschließlich der vom Anwender definierten Parameter für jede der Regelkomponenten, in eine ausführbare Analyseregel an einer elektronischen Verarbeitungsvorrichtung und das Ausführen der ausführbaren Analyseregel an einer elektronischen Verarbeitungsvorrichtung.
-
In einer noch anderen Ausführungsform beinhaltet ein Rechensystem zur Erleichterung einer grafischen Konstruktion einer Analyseregel zur Verwendung bei einer Online-Analyse von Daten in einer Prozessanlage mit einer Prozessanlagenausstattung, die Daten online produziert oder speichert, einen nichtflüchtigen computerlesbaren Speicher, in dem mehrere Vorlagen für Regelkomponenten gespeichert sind, einschließlich einer oder mehrerer Vorlagen für Datenquellen, die Datenquellen definieren, die mit der Prozessanlagenausstattung innerhalb der Prozessanlage assoziiert sind, einer oder mehrerer funktionaler Vorlagen, die logische Bestimmungsoperationen definieren, die unter Verwendung von Daten aus der Prozessanlage durchgeführt werden sollen, und einer oder mehrerer Ausgabevorlagen, die Aktionen angeben, die als Reaktion auf eine logische Bestimmungsoperation durchgeführt werden sollen. Das Computersystem beinhaltet außerdem eine Konfigurationsmaschine, die an einer elektronischen Verarbeitungsvorrichtung operiert und die ferner eine Oberflächenroutine beinhaltet, die über eine Bedienoberflächenvorrichtung folgendes generiert: eine Bibliotheksregion, die grafische Darstellungen der Vorlagen für Regelkomponenten anzeigt, einschließlich einer oder mehrerer Vorlagen für Datenquellen, einer oder mehrerer funktionaler Vorlagen und einer oder mehrerer Ausgabevorlagen, und eine Workflow-Region, die auf Basis einer Anwenderauswahl der grafischen Darstellungen von einer oder mehreren der Regelkomponentenvorlagen Regelkomponenten empfängt und anzeigt, wobei die Regelkomponenten mindestens eine Datenquellenkomponente, eine funktionale Komponente und eine Ausgabekomponente beinhalten.
-
Hierbei kann die Konfigurationsmaschine so operieren, dass sie eine grafische Eingaberoutine ausführt, um ein interaktives Fenster für jede von einem Satz von Regelkomponenten, die aus den Regelkomponentenvorlagen abgeleitet werden, anzuzeigen, wobei das interaktive Fenster für jede von den Regelkomponenten einen Anwender in die Lage versetzt, spezifische Parameter für jede von den Regelkomponenten zu definieren. Zum Beispiel kann die grafische Eingaberoutine für die Datenquellenkomponente ein interaktives Dateneingabefenster anzeigen, das einen oder mehrere vom Anwender definierbare Parameter beinhaltet, die einen spezifischen Datensatz von einer spezifischen Datenquelle, der für die Analyseregel abgerufen werden soll, spezifizieren. Ebenso kann die grafische Eingaberoutine für die funktionale Komponente ein oder mehrere interaktive funktionale Fenster anzeigen, die einen oder mehrere vom Anwender definierbare Parameter beinhalten, die eine oder mehrere logische Operationen spezifizieren, die unter Verwendung des spezifischen Datensatzes aus der spezifischen Datenquelle durchgeführt werden sollen. Darüber hinaus kann die grafische Eingaberoutine für die Ausgabekomponente ein interaktives Ausgabefenster anzeigen, das vom Anwender definierbare Parameter beinhaltet, die eine Aktion spezifizieren, die in Verbindung mit einer durch die eine oder die mehreren logischen Operationen getroffenen Bestimmung ergriffen werden soll.
-
Außerdem kann das Computersystem einen Compiler beinhalten, der an einem Prozessor ausgeführt wird, um die Regelkomponenten, einschließlich der vom Anwender definierten Parameter für jede der Regelkomponenten, in eine ausführbare Analyseregel zu kompilieren, und kann eine Runtime Engine beinhalten, die mit der Prozessanlagenausstattung gekoppelt ist, die an einer elektronischen Verarbeitungsvorrichtung ausgeführt wird, um die ausführbare Analyseregel auszuführen, um Daten aus der Prozessanlage online zu analysieren. In manchen Fällen können die vom Anwender definierbaren Parameter der Ausgabekomponente einen Hinweis auf eine oder mehrere elektronische Kommunikationen innerhalb eines Prozessanlagensteuerungssystems beinhalten, die als Reaktion auf eine Bestimmung, die von einer logischen Operation getroffen wird, die von einer funktionalen Komponente spezifiziert wird, initiiert werden sollen (beispielsweise einen Alarm, ein Steuersignal, ein Sicherheitsabschaltungssignal usw.), und/oder können einen Hinweis auf eine Meldung beinhalten, die an einem Prozesssteuerungsoperator, der mit der Prozessanlage assoziiert ist, bereitgestellt werden soll. Darüber hinaus kann eine von den Datenquellenvorlagen auf einen Datenstrom aus einem Prozesssteuerungssystem der Prozessanlage, auf Daten, die mit Prozesssteuerungsereignissen innerhalb der Prozessanlage in Beziehung stehen, oder auf Daten, die mit Bedienerarbeitsplatzereignissen innerhalb der Prozessanlage in Beziehung stehen, verweisen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockschema eines Beispiels für ein System zur technischen Unterstützung von Prozessanlagen, das mit zahlreichen Prozessanlagenstandorten des Kunden verbunden ist.
-
2 ist ein Blockschema eines Beispiels für ein System zur technischen Unterstützung von Prozessanlagen, in das eine Rule-Builder-Anwendung integriert ist.
-
3 stellt ein Blockschema einer Ausführungsform der Rule-Builder-Anwendung von 2 dar.
-
4 stellt ein Beispiel für eine Bildschirmpräsentation dar, die von der Rule-Builder-Anwendung von 3 erzeugt werden kann, um verschiedene Aktionen in Bezug auf Erstellung, Testung und Veröffentlichung neuer Analyseregeln durchzuführen.
-
5 stellt ein Beispiel für eine Bildschirmpräsentation dar, die von einer Rule-Builder-Anwendung generiert werden kann, um Aspekte einer neuen Analyseregel zu definieren.
-
6 stellt ein Beispiel für eine Bildschirmpräsentation dar, die von einer Rule-Builder-Anwendung generiert werden kann, um einen Anwender in die Lage zu versetzen, eine neue Analyseregel zu definieren, zu betrachten und zu bearbeiten.
-
7 zeigt ein Beispiel für eine Bildschirmpräsentation, die einen Anwender darstellt, der eine Dateneingabequelle zur Verwendung als Teil einer gerade erzeugten neuen Analyseregel spezifiziert.
-
8 zeigt ein Beispiel für eine Bildschirmpräsentation, die einen Anwender darstellt, der eine logische Operation spezifiziert, die auf die in 7 spezifizierte Datenquelle angewendet werden soll, wenn eine neue Analyseregel erzeugt wird.
-
9 zeigt ein Beispiel für eine Bildschirmpräsentation, die einen Anwender darstellt, der zwei Ausgabeaktionen spezifiziert, die als Reaktion auf verschiedene Situationen in einem logischen Ablauf der in 8 spezifizierten logischen Operation verwendet werden sollen, wenn eine neue Analyseregel erzeugt wird.
-
10 stellt ein Beispiel für eine Anzeige dar, die als Ausgabe einer Regel produziert wird, die unter Verwendung einer Rule-Builder-Anwendung definiert wird.
-
11 zeigt ein Diagramm eines Beispiels für ein System und ein Verfahren zur Verwendung einer Rule-Builder-Anwendung in einer Online-Anlagenumgebung, um Anlagenprobleme in Echtzeit zu erkennen.
-
Die Figuren zeigen Ausführungsformen der vorliegenden Erfindung, die lediglich der Veranschaulichung dienen sollen. Der Fachmann wird aus der folgenden Beschreibung ohne Weiteres erkennen, dass alternative Ausführungsformen der hierin dargestellten Strukturen und Verfahren angewendet werden können, ohne von den Grundlagen der hierin beschriebenen Erfindung abzuweichen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
1 zeigt ein Support Center bzw. ein Zentrum 10 für die technische Betreuung oder Unterstützung von Kunden, das über Datennetzwerk-Kommunikationsverbindungen, bei denen es sich beispielsweise um Internetverbindungen, Local Area Network(LAN)-Leitungen, Wide Area Network(WAN)-Leitungen, drahtgebundene oder drahtlose Kommunikationsverbindungen und/oder irgendeine andere Art von Daten- oder Kommunikationsverbindung handeln kann, mit verschiedenen Kundenstandorten oder Orten 12, 14, 16 und 18 verbunden ist. Jeder der Kundenstandorte 12–18 beinhaltet eine andere Prozessanlage oder andere Bereiche oder Teile einer Prozessanlage oder ist mit (einer) solchen assoziiert, und jeder dargestellte Standort 12–18 beinhaltet ein Prozesssteuerungsnetzwerk 20, das verschiedene Prozesssteuerungsvorrichtungen aufweist, beispielsweise Steuerungen, Eingabe-/Ausgabevorrichtungen, Feldvorrichtungen, Datenarchivare, Bedienerarbeitsplätze und -oberflächen usw., die verwendet werden, um Anlagenausstattungen zu steuern und zu überwachen. Die Prozessanlagen an den Kundenstandorten 12–18 können eine beliebige Zahl von Bedienerarbeitsplätzen, Host-Workstations, Datenbanken und anderen Prozessanlagenausstattung beinhalten, die mit einem typischen Prozesssteuerungsnetzwerk oder Prozesssteuerungssystem assoziiert sind, und diese Vorrichtungen können eine beliebige Zahl von unterschiedlichen Anlagensteuerungs-, -überwachungs- und -unterstützungsanwendungen speichern und ausführen.
-
Natürlich kann jedes von den Prozesssteuerungsnetzwerken 20 innerhalb der Anlagen an den Kundenstandorten 12–18 mit unterschiedlicher Ausstattung konfiguriert sein, unterschiedliche Zahlen und Arten von Steuerungen, Feldvorrichtungen und anderer Anlagenausstattung aufweisen, kann dafür eingerichtet sein, unterschiedliche Arten von Prozessen oder Anlagenausstattung zu steuern, kann unterschiedliche Steuerungs- und Unterstützungsanwendungen laufen lassen, kann unterschiedliche Betriebssysteme oder Versionen von Betriebssystemen verwenden, usw. Außerdem kann jeder von den Kundenstandorten 12–18 einen oder mehrere Computer und Kommunikationsnetzwerkvorrichtungen beinhalten, welche die verschiedenen Prozesssteuerungsvorrichtungen miteinander verbinden, und die Anlagen an den Kundenstandorten 12–18 können die gleichen oder unterschiedliche Arten von Hardware-, Firmware- und Software-Anwendungen zur Unterstützung von Anwendern und Betreibern bereitstellen. Es sei klargestellt, dass jedes der Prozesssteuerungsnetzwerke 20 und der Computersysteme, die diese Prozesssteuerungsnetzwerke 20 unterstützen, verschiedene Prozesssteuerungsnetzwerk- und Betriebssystem-Software ebenso wie andere computerimplementierte Anwendungen, mit denen unterschiedliche Daten assoziiert sind, laufen lassen kann. Genauer weisen die Prozesssteuerungsnetzwerke 20 in vielen Fällen Datenarchivare oder andere Datenbanken auf, die mit der Anlage assoziierte Daten erfassen und speichern, einschließlich von Konfigurationsdaten, Laufzeitdaten, Computernetzwerkeinstellungsdaten, Kommunikationsnetzwerkdaten, Fehlerdaten, Unterstützungsanwendungsdaten usw., die innerhalb der Anlage erzeugt werden. Ebenso beinhalten die Computersysteme innerhalb dieser Anlagen Betriebssystem-Software, Kommunikationsnetzkonfigurations-Software usw., die Daten in einer beliebigen Anzahl unterschiedlicher Arten und/oder Formate generieren und speichern kann.
-
Das Zentrum 10 für die technische Unterstützung von Kunden beinhaltet dagegen verschiedene Computer- und Verarbeitungsvorrichtungen, die verwendet werden, um Unterstützung für die Suche nach Problemursachen zu bieten oder Kunden an den Kundenstandorten 12–18 bei der Diagnostizierung von Problemen oder Schwierigkeiten zu helfen, die mit den Prozessanlagen 20 an den Kundenstandorten 12–18 assoziiert sind. Zum Beispiel kann das Zentrum 10 für die technische Unterstützung von Kunden ein oder mehrere Computer-Unterstützungssysteme (Computersysteme) 30, ebenso wie eine oder mehrere Datenbanken 32 beinhalten, die operieren, um Daten von jedem der Kundenstandorte 12–18 abzurufen und zu analysieren, um Hilfe bei der Erkennung und Diagnostizierung von Problemen in den Anlagen oder Prozesssteuerungssystemen an den Kundenstandorten 12–18 bereitstellen zu können. Allgemein gesagt können die Computer-Unterstützungssysteme 30 eine beliebige Anzahl von Computern oder anderen Verarbeitungsvorrichtungen, einschließlich von Workstations, Servern, Analysemaschinen usw., beinhalten, die Daten verwenden, die von den verschiedenen Kundenstandorten 12–18 erfasst werden (wobei diese Daten in verschiedenen Datendateien gespeichert werden können, die hierin auch als Kundendatendateien bezeichnet werden und die in den Datenbanken 32 gespeichert sind). Man beachte, dass Datenerfassungsanwendungen 34, die an jedem der Kundenstandorte 12–18 angeordnet sein können und die insbesondere innerhalb einer oder mehrerer Verarbeitungsvorrichtungen an den Kundenstandorten 12–18 liegen können, an den Prozessoren an den Kundenstandorten 12–18 ausgeführt werden können, um Daten von den verschiedenen Anwendungen, die an den Kundenstandorten 12–18 angewendet werden, zu erfassen, und die so operieren können, dass sie diese Daten an das Zentrum 10 für die technische Unterstützung von Kunden schicken. In manchen Fällen können die Kunden die Datenerfassungsanwendungen 34 zu gewünschten Zeiten, auf Verlangen des Support Center 10 oder auch periodisch ausführen, um verschiedene Datendateien von den verschiedenen Anwendungen, Betriebssystemen, Hardware-Systemen usw. an den Kundenstandorten zu erfassen. Die Kunden können dann die Ausgabe der Datenerfassungsanwendung 34 als Zip-Datei unter Verwendung einer Website eines Dritten für Sicherheitszwecke hochladen. Personal am Support Center 10 kann dann die Zip-Dateien von der Website eines Dritten herunterladen, kann die heruntergeladenen Zip-Dateien entpacken (um die verschiedenen Kundendatendateien für eine bestimmte Erfassung abzurufen) und können diese Datendateien in der Datenbank 32 als zu einer bestimmten Zeit mit einem bestimmten Kunden assoziiert speichern oder herunterladen. In anderen Fällen kann das Computer-Unterstützungssystem 30 Kommunikations- und Steueranwendungen beinhalten, die periodisch oder auf Verlangen ausgeführt werden, um direkt mit der Datenerfassungsanwendung 34 oder über einen Dritten oder eine andere Website mit den Datenerfassungsanwendungen 34 zu kommunizieren, um zu bewirken, dass die Datenerfassungsanwendungen 34 neue Daten von den Anlagen 20 an den Kundenstandorten 12–18 erfassen. Die erfassten Daten können in verschiedenen unterschiedlichen Datendateien abgelegt werden, die mit verschiedenen Anwendungen und anderen Datenquellen innerhalb der Anlagen 20 assoziiert sind, und diese Datendateien können zusammen als Kundendatensatz von einem bestimmten Kundenstandort (zu einer bestimmten Zeit) gespeichert werden. Diese Daten können an den Kundenstandorten 12–18 von den Betriebssteuerungsnetzwerken und -anwendungen generiert werden oder mit diesen assoziiert sein, ebenso wie mit den Computer- und Betriebssystemen, die mit den Anlagennetzwerken assoziiert sind oder von diesen verwendet werden.
-
Allgemein gesprochen wird jeder der Datenerfasser 34 in einem Computer an einem Kundenstandort 12–18 gespeichert und ausgeführt, oder kann in manchen Fällen auch in Computern (z.B. Servern) am Zentrum 10 für die technische Unterstützung von Kunden gespeichert und ausgeführt werden. Darüber hinaus operieren die Datenerfasser 34 so, dass sie sich mit den anderen Computern oder elektronischen Vorrichtungen innerhalb der Kundenstandorte 12–18 verbinden, um bestimmte Arten von Daten zu erfassen und um diese Daten in vorgegebenen Dateien abzulegen, die dann an die Datenbanken 32 am Zentrum 10 für die technische Unterstützung von Kunden geschickt und/oder dort gespeichert werden. Die Datenerfasser 34 können dafür eingerichtet sein, Daten periodisch, auf Verlangen und/oder zu vorgegebenen Zeiten zu erfassen, und können für jeden von den Kundenstandorten 12–18 unterschiedlich ausgelegt sein, um verschiedene Daten zu erfassen, die mit den an den Kundenstandorten 12–18 vorhandenen Hardware- und Software-Anwendungen assoziiert sind. Die Datenerfasser 34 können so operieren, dass sie auf spezifisch konfigurierte Daten zugreifen und diese erfassen, um abhängig von den Kundenstandorten, Ausstattungen und Software-Anwendungen an diesen Standorten usw. verschiedene unterschiedliche Arten von Daten zu erfassen, und können Daten in unterschiedlichen Formaten, Dateistrukturen usw. erfassen. Somit können die verschiedenen Datenerfasser 34 für jeden der Kundenstandorte 12–18 verschiedene Arten von Daten erfassen, die mit verschiedenen Anwender- oder Kundenanwendungen und -ausstattungen assoziiert sind. Allgemein gesprochen erfassen die Datenerfasser 34 Daten des Prozesssteuerungstyps (beispielsweise einschließlich von Konfigurations- und Betriebsdaten), Daten zu Computer-Hardware, einschließlich von Workstation- und Serverkonfigurationsdaten, Kommunikationsnetzkonfigurationsdaten, Bedienoberflächendaten, Betriebssystemdaten oder irgendwelche anderen Arten von Daten, beispielsweise Metadaten, die über oder für Computer oder andere Vorrichtungen an den Kundenstandorten 12–18 gespeichert werden. Solche Daten können beispielsweise Beschreibungen von oder Hinweise zu den Einstellungen der Computer oder Netzwerke an den Kundenstandorten 12–18 beinhalten (beispielsweise Anzeigeauflösungseinstellungen, Anzeigeeinstellungen, Netzwerkeinstellungen, Schnittstelleneinstellungen usw.). Darüber hinaus kann jede der unterschiedlichen Datenarten in jeweils anderen Datendateien in den gleichen oder verschiedenen Datenformaten gespeichert werden, wobei die Formate allgemein von der Art der Daten, der Anwendung oder dem System abhängen, die bzw. das die Daten generiert, usw.
-
Auf jeden Fall erfassen die Datenerfasser 34 periodisch oder zu verschiedenen Zeiten, wie von Anwendern an den Kundenstandorten 12–18 oder auf andere Weise konfiguriert, Datendateien mit den Kundendaten und stellen sie an den Datenbanken 32 zur Verwendung durch eine oder mehrere Analysemaschinen bereit, die von den Computersystemen 30 am Zentrum 10 für die technische Unterstützung von Kunden implementiert werden. Genauer kann das Computersystem 30 eine oder mehrere Analysemaschinen speichern und ausführen, die vorab gespeicherte Analyseregeln verwenden, um die erfassten Daten in den Kundendatendateien zu analysieren, um Probleme zu erkennen, die mit dem System des Kunden oder den Anlagen 20 an den Kundenstandorten 12–18 assoziiert sind. Falls gewünscht, können die Analysemaschinen am Zentrum 10 die gespeicherten Analyseregeln verwenden, um Kundendaten jedes Mal automatisch zu analysieren, wenn sie eine neue Kundendatendatei oder einen neuen Satz von Kundendatendateien empfangen, um die Kundenstandorte automatisch und periodisch auf bekannte Probleme oder Schwierigkeiten hin zu analysieren. Außerdem kann das Kundenbetreuungszentrum 10 einen oder mehrere eigenständige Computer oder Ingenieursoberflächen (z.B. Workstations) beinhalten, die dafür eingerichtet sein können, spezifische Probleme zu lösen, die mit verschiedenen von den Kundenstandorten 12–18 assoziiert sind. Genauer können diese Workstations von lokal zuständigen Ingenieuren verwendet werden, die sich über eine Schnittstelle mit Kunden verbinden können, die ein bestimmtes Problem haben, um den Kunden dabei zu helfen, neue Probleme oder Schwierigkeiten zu lösen, die durch den Betrieb der Analysemaschinen unter Verwendung des Satzes vorab gespeicherter Analyseregeln nicht erkannt worden sind. In diesen Fällen kann der Ingenieur veranlassen, dass ein Datenerfasser 34 Daten einer oder mehrerer bestimmter Arten erfasst oder einen neuen Datensatz vom Kundenstandort erfasst, und der lokal zuständige Ingenieur kann eine manuelle Prüfung der Daten implementieren, um diese Daten zu analysieren. In manchen Fällen kann der lokal zuständige Ingenieur eine oder mehrere Analyseregeln verwenden, um die Daten zu analysieren, und diese Regeln können Regeln sein, die in den Analysemaschinen gespeichert sind und von diesen verwendet werden, oder es können neue Regeln sein, die vom lokal zuständigen Ingenieur erzeugt werden oder diesem zur Verfügung stehen.
-
Um die Generierung, Erzeugung und Verwendung der Analyseregeln, die innerhalb des Zentrums 10 für die technische Unterstützung von Kunden verfügbar sind und die von dortigen Computern ausgeführt werden, transparenter und leichter zu machen, kann das Zentrum 30 für die technische Unterstützung von Kunden eine oder mehrere Rule-Builder-Anwendungen beinhalten, die es lokal zuständigen Ingenieuren oder anderen Anwendern ermöglichen, neue Analyseregeln zu erzeugen und zu testen, wenn neue Situationen, in denen Kunden Unterstützung brauchen, oder Probleme entstehen. Darüber hinaus können Rule-Builder-Anwendungen die lokal zuständigen Ingenieure in die Lage versetzen, neu erzeugte Analyseregeln hochzuladen oder, falls gewünscht, für die Verwendung durch andere Ingenieure (entweder am gleichen Zentrum 10 für die technische Unterstützung von Kunden oder an anderen Technik-Support Centers) zu empfehlen. Die Rule-Builder-Anwendungen können auch die Verwendung neuer Analyseregeln durch die Analyseserver an den gleichen oder an anderen Zentren für die technische Unterstützung von Kunden ermöglichen, so dass diese automatisch auf verschiedene Kundendatendateien angewendet werden, wenn diese Dateien am Zentrum 30 erfasst oder verfügbar gemacht werden.
-
2 zeigt ein detaillierteres Blockschema eines Beispiels für ein Zentrum 10 für die technische Unterstützung von Kunden wie das von 1. Genauer beinhaltet das Zentrum 10 für die technische Unterstützung von Kunden von 2 eine oder mehrere Datenbanken 32, die verschiedenen Kundendatendateien (z.B. verschiedene Sätze von Kundendatendateien) empfangen und speichern, die von den Kundenstandorten 12–18 von 1 erfasst werden. Ferner beinhaltet das Zentrum 10 für die technische Unterstützung von Kunden eine Analysemaschine 50, einen Satz von Analyseregeln, die in einer Regeldatenbank 52 gespeichert sind, und eine Bedienoberfläche 54. Diese Komponenten 50, 52 und 54 können beispielsweise in einer oder mehreren Workstations oder anderen elektronischen Verarbeitungsvorrichtungen am Zentrum 10 implementiert werden. Darüber hinaus kann die Bedienoberflächenvorrichtung 54 von Ingenieuren oder anderem Personal verwendet werden, um den Betrieb der Analysemaschine 50 zu verwalten, um beispielsweise die Analysemaschine 50 unter Verwendung der Analyseregeln auf verschiedene Datendateien in der Regeldatenbank 52 anzuwenden und um die Ausgaben der Analysemaschine 50 zu überprüfen, wenn die Analysemaschine 50 die in der Regeldatenbank 52 gespeicherten Analyseregeln verwendet, um Kundendatendateien (wie sie in der Datenbank 32 gespeichert oder dort verfügbar sind) zu analysieren. In einem Beispiel kann die Analysemaschine 50 operieren, wenn ein neuer Satz von Kundendatendateien hereinkommt oder in der Datenbank 32 gespeichert wird, und kann dadurch jede der Analyseregeln oder spezifisch konfigurierte Teilsätze der Analyseregeln, die in der Regeldatenbank 52 gespeichert sind, anwenden, um die Daten innerhalb der Kundendatendateien zu analysieren, um bekannte Probleme oder Schwierigkeiten zu erkennen. Die Analysemaschine 50 kann dann erkannte Schwierigkeiten oder Probleme auf oder an der Bedienoberfläche 54 angeben.
-
Allgemein gesprochen sind die Analyseregeln in der Regeldatenbank 52 logische Regeln, die für die Verwendung bei der Analyse der Kundendatendateien erzeugt und gespeichert wurden, um spezifische Schwierigkeiten oder Probleme an Kundenstandorten ausfindig zu machen und um lokal zuständigen Ingenieuren oder anderem Unterstützungspersonal am technischen Support Center 10 bei der Diagnose oder Erkennung spezifischer Probleme an den Kundenstandorten zu helfen. Solche Probleme können über die Bedienoberfläche 54 als Satz von Warnungen, erkannte Schwierigkeiten usw. angezeigt werden, und jede von diesen erkannten Schwierigkeiten kann mit einem Wissensbasisartikel (KBA), der in einer Wissensbasisartikeldatenbank 56 gespeichert ist, assoziiert sein. Jeder KBA kann ein Problem oder eine Schwierigkeit definieren oder damit assoziiert sein, und kann mögliche Lösungen, Patches oder Problemumgehungen, die mit dem erfassten Problem assoziiert sind, bereitstellen. Solche KBAs können in der Datenbank 56 oder an irgendeinem anderen Ort, der über die Bedienoberfläche 54 zugänglich ist, gespeichert sein. Die KBAs in der Datenbank 56 können verwendet werden, um lokal zuständigen Ingenieuren und Kunden Informationen bereitzustellen, um die Kunden darüber zu informieren, wie Schwierigkeiten, die in ihren Anlagen erkannt worden sind, auf Basis der Analyse ihrer Daten bereinigt oder korrigiert werden können.
-
Außerdem kann das Zentrum 10 für die technische Unterstützung von Kunden eine lokal ausgerichtete Ingenieursstation 60 beinhalten, die beispielsweise von einem lokal zuständigen Ingenieur oder anderem Unterstützungspersonal verwendet werden kann, um detailliertere und tiefergehende Analysen der Kundendatendateien, die in der Datenbank 32 gespeichert sind, durchzuführen oder um bei der Lösung bestimmter Probleme zu helfen, für die noch keine Analyseregeln erzeugt worden sind, um sie auf Basis der Daten innerhalb der Kundendatendateien zu erkennen. Die lokal ausgerichtete Ingenieursstation 60 kann eine Workstation oder eine andere elektronische Verarbeitungsvorrichtung sein und kann einen Computerprozessor und einen Speicher beinhalten, die mit einer Bedienoberfläche 62 verbunden sind. Die lokal ausgerichtete Station 60 kann Zugriff auf die Kundendatendateien 32 innerhalb der Datenbank oder des Dateiservers 32 und auf die verschiedenen Analyseregeln innerhalb der Regeldatenbank 52 haben. Während des Betriebs kann ein lokal zuständiger Ingenieur oder anderer Anwender die Station 60 verwenden, um Daten aus den Datendateien 32 zu erfassen und/oder um über den Dateiserver 32 und den oder die (in 2 nicht gezeigten) Datenerfasser innerhalb der Kundenstandorte 12–18 tatsächlich neue Daten vom Kundenstandort abzurufen, um Daten zur Analyse zu erhalten. Der lokal zuständige Ingenieur an der lokal ausgerichteten Station 60 kann diese Daten manuell analysieren, um Probleme, die mit neuen Aufgaben assoziiert sind, oder Schwierigkeiten zu erkennen, die bisher von der Analysemaschine 50 unter Verwendung der in der Regeldatenbank 52 gespeicherten Analyseregeln noch nicht identifiziert worden sind. Darüber hinaus kann der lokal zuständige Ingenieur an der Station 60 eine lokal ausgerichtete Analysemaschine laufen lassen, um eine oder mehrere von den verschiedenen Analyseregeln, die in der Regeldatenbank 52 gespeichert sind, oder falls gewünscht, andere Analyseregeln, die lokal, beispielsweise an der Station 60 gespeichert sind, auszuführen, um neue Probleme oder Schwierigkeiten mit dem Kundenstandort zu diagnostizieren und zu erkennen. Als Teil dieses Prozesses kann der lokal zuständige Ingenieur tatsächlich erkennen oder bestimmen, dass eine neue Analyseregel erzeugt werden kann oder werden sollte, um ein bestimmtes Problem in der Zukunft zu erkennen, und kann in diesen Situationen eine Rule-Builder-Anwendung 64 wie in 2 dargestellt verwendet, um solch eine Analyseregel zu erzeugen.
-
Allgemein gesprochen kann der lokal zuständige Ingenieur die Rule-Builder-Anwendung 64 verwenden, um durch Bestimmen oder Spezifizieren von Daten, die mit einem Satz von Kundendatendateien 32, der in der Regel verwendet werden soll, assoziiert sind, Flow-Logik oder logischer Aussagen bzw. Anweisungen (Operationen), die in der Analyseregel verwendet werden sollen, ebenso wie einer oder mehrerer Ausgabeaktionen, die mit der Analyseregel assoziiert sind, beispielsweise der Anzeige eines Zeigers an einem der KBAs, die in der KBA-Datenbank 56 gespeichert sind, oder irgendeiner anderen Aktion, die als Reaktion auf die Erkennung eines Problems auf der Basis der neuen Analyseregel durchgeführt werden soll, auf grafische Weise einen neuen Satz von Analyseregeln zu erzeugen. In manchen Fällen kann der lokal zuständige Ingenieur einen neuen KBA in der KBA-Datenbank 56, die mit so einer neuen Analyseregel assoziiert ist, erzeugen und speichern. Es sei klargestellt, dass die Rule-Builder-Anwendung 64 einem Anwender gestatten kann, eine neue Analyseregel auf interaktive und grafische Weise zu erzeugen und die Analyseregel online unter Verwendung von Daten von einer oder mehreren von den Kundendatendateien in der Datenbank 32 zu testen, um den Betrieb der neuen Analyseregel zu testen und sicherzustellen, dass die neue Analyseregel für den gewünschten Zweck, für den sie gedacht ist, funktioniert.
-
Nach der Erzeugung einer neuen Analyseregel und der Bestimmung, dass die neue Analyseregel für die Verwendung durch anderes Unterstützungspersonal oder für die Verwendung in der Analysemaschine 50 von Vorteil sein kann, um andere Kundendaten zu analysieren, kann der lokal zuständige Ingenieur bewirken, dass die Rule-Builder-Anwendung 64 eine neue Analyseregel an einer Publisher-Anwendung 66 bereitstellt, die dann so operiert, dass sie die Regel in der Regeldatenbank 52 zur Verwendung durch die Analysemaschine 50 oder anderes Unterstützungspersonal, wann immer dies nötig ist, veröffentlicht. Eine neu veröffentlichte Analyseregel kann anderen lokal zuständigen Ingenieuren über die allgemeine Regeldatenbank 52 zugänglich gemacht werden, um sie beispielsweise bei der Diagnostizierung von Probleme für andere Kunden auf jede gewünschte Weise verwenden zu können. Darüber hinaus kann das Bereitstellen von veröffentlichten Analyseregeln für andere Anwender das Bereitstellen solcher Analyseregeln für Anwender an anderen Support Centers über ein drahtgebundenes und/oder drahtloses Kommunikationsnetzwerk oder das Bereitstellen neuer Analyseregeln für Kunden an Kundenstandorten beinhalten.
-
3 stellt ein Blockschema eines Beispiels für eine Ausführungsform der Rule-Builder-Anwendung 64 von 2 dar. In diesem Beispiel beinhaltet die Rule-Builder-Anwendung 64 eine Regelkonfigurationsmaschine 68 zur Verwendung bei der Erzeugung neuer Regeln und eine Runtime Engine 69 zur Verwendung beim Testen neuer Regeln, während diese erzeugt werden. Allgemein gesprochen ist die Konfigurationsmaschine 68 eine in einem Speicher eines Computers gespeicherte Anwendung zur Ausführung auf einem Prozessor eines Computers, die ausgeführt wird, um einem Anwender über eine Anwenderanzeige (veranschaulicht in der Anwenderanzeige 62 von 2) eine grafische Anzeige- und Programmierungsumgebung bereitzustellen, um einen Anwender in die Lage zu versetzen, eine oder mehrere Analyseregeln auf einfache Weise zu erzeugen. Die Konfigurationsmaschine 68 kann auch mit der Kundendatendateidatenbank 32 gekoppelt sein, die Kundendatendateien speichert, und kann unter Verwendung dieser Datendateien und der mit diesen Datendateien assoziierten Dateiformat- oder Dateistrukturinformationen operieren, um eine neue Analyseregel zu erzeugen. Genauer beinhaltet die Konfigurationsmaschine 68 von 3 eine Oberflächenroutine 70 und eine Regelkompilierungsmaschine 72, ebenso wie einen Satz von Vorlagendateien oder Bibliotheksdateien 73–75, die verschiedenen Vorlagen oder bekannte Regelelemente zur Verwendung bei der Erzeugung neuer Analyseregeln speichern. Genauer können die Bibliotheksdateien 73–75 einen Satz von Datenquellenzeiger- und -strukturdateien 73, einen Satz logischer oder Ablaufsteueroperationen 74 und einen Satz von Ausgabeaktionen 75 beinhalten.
-
Die Oberflächenroutine 70 interagiert mit der an der Anzeige 62 (die auch andere Bedienoberflächenkomponenten, wie eine Maus, eine Tastatur, eine Touchscreeneingabe, eine Audio- oder Tonerzeugungsausstattung usw. beinhaltet) implementierten Bedienoberfläche und steuert deren Operationen, um einem Anwender, beispielsweise einem lokal zuständigen Ingenieur an der lokal ausgerichteten Ingenieursstation 60 von 2, eine interaktive grafische Anzeigeumgebung bereitzustellen, um den Anwender in die Lage zu versetzen, auf einfache Weise eine neue Analyseregel zu erzeugen. Allgemein gesprochen zeigt die Oberflächenroutine 70 eine Rule-Builder-Programmierumgebung an einer Anwenderanzeige an und gestattet dem Anwender, Aktionen an der oder über die Anzeige durchzuführen (beispielsweise Ziehen und Ablegen von Komponenten an der Anzeige an verschiedenen Orten, Auswählen von Objekten auf der Anzeige, Eingeben oder anderweitiges Eingeben von Informationen an der Anzeige usw.), um eine Regel zu erzeugen. Die Bedienoberflächenroutine 70 erfasst und verfolgt die Informationen, die vom Anwender über die Anzeigevorrichtung eingegeben werden, um die verschiedenen Komponenten einer gerade erzeugten neuen Analyseregel zu erfassen und zu identifizieren.
-
Ein Teil dieses Prozesses, die Oberflächenroutinekomponente 70, verwendet die Bibliotheken der Regelkomponenten 73–75, um einen Anwender in die Lage zu versetzen, die verschiedenen Komponenten einer Analyseregel zu spezifizieren. Genauer kann die Datenquellenbibliothek 73 verwendet werden, um einen Anwender in die Lage zu versetzen, bestimmte Daten und/oder Datentypen, auf die zugegriffen werden soll und die als Eingaben in eine neue Regel analysiert werden sollen, zu betrachten, zu suchen und zu spezifizieren (z.B. um einen oder mehrere Zeiger für bestimmte Daten innerhalb einer oder mehreren Kundendatendateien 32 zu spezifizieren). Allgemein gesprochen kann für jede Datenart oder -quelle, beispielsweise für die verschiedenen unterschiedlichen Anwendungen, Netzwerke, Computer, Computersysteme, Betriebssysteme usw., für die Daten an einem Kundenstandort erfasst werden, eine separate Datenwerkzeugskomponente oder -vorlage innerhalb der Datenquellenzeigerbibliothek 73 existieren. Darüber hinaus können die Bibliotheksvorlagen 73, die mit den einzelnen Datenzeigern assoziiert sind, für jede Datenquelle Metadaten speichern (oder in der Lage sein, diese aus einer Kundendatendatei abzurufen), wobei die Metadaten die Kennwerte der Daten, beispielsweise die Datentypen, Datennamen, Datenformate oder Datenstrukturen, die den allgemeinen Inhalt oder den Aufbau der erfassten Daten definieren, die Art und Weise, wie die Daten gespeichert werden, Variablennamen und Kennungen der Daten usw. definieren. Somit können die Datenquellenvorlagen in der Datenbibliothek 73 den Anwender in die Lage versetzen, völlig verschiedene Arten von Daten, die in verschiedenen Formaten oder Dateistrukturen gespeichert sind und mit denen verschiedene Benennungskonventionen, Eigenschaften usw. assoziiert sind, auszuwählen. Darüber hinaus können die Datenzeiger in der Datenzeigerbibliothek 73 auf einwertige Daten oder mehrwertige Daten, beispielsweise Datengruppen deuten. In einem Fall können Informationen, welche die Datenstrukturen, -formate und andere Parameter der Daten speichern, die mit den verschiedenen unterschiedlichen in der Bibliothek 73 gespeicherten Datenzeigern assoziiert sind (hierin als Eingabedatenquellen-Metadaten bezeichnet), in einer Datenbank 73A gespeichert werden, von der aus auf sie zugegriffen werden kann. Nur als Beispiel könnten die Definitionswerkzeuge für Datenquelleneingaben Hinweise auf Datenarten oder -quellen von Daten, einschließlich einfacher Daten (z.B. einwertiger Daten) und komplexer Daten (z.B. mehrwertiger Daten, wie Datengruppen) beinhalten. Solche Eingabedatendefinitionen können beispielsweise Datenquellen wie DcomAccessPermissions, DcomApplication, DcomEndPoint, DcomLaunchAndActivationPermission, DDC, EJournal, FixUserPreferences, ImportExportProgressLog, IPConfig, MSInfo32, NetStat, OPC, Registry, SystemInfo, WindowsEventLog, WindowsTask, DCOM, DeltaVSettings, DT.SCR, LogicSolvers, Repeaters, ServerRoles, SystemInfo, WindowsErrorReporting, WindowsTask usw. beinhalten. Andere Datenquellen könnten Steuerereignisinformationen, Ping-Ergebnisse, Downloadprogress.log, PowerFailInfo, LocalWin32Service, Firewall-Einstellungen, Ethernet-Protokolle, PWU-Dateien, Journal-Dateien, SwitchSystemInfo, SwitchEventLog, UpgradePowerUpTest, MonitorMetrics, QNX-Crash-Protokolle, DVBOPCSVR, DVBAccess, FrsOpcMr, SQLConfigurations, SQLMasterFiles, Boot.ini, BCDEdit usw. beinhalten. Allgemein gesprochen können die Datendateien, die von den Kundenstandorten erfasst werden, Daten von verschiedenen Anwendungen und anderen Quellen beinhalten, beispielsweise Betriebssystem-Datendateien (z.B. DcomAccessPermissions, DcomApplication, DcomEndPoint, DcomLaunchAndActivationPermission, MSInfo32, Registry, SystemInfo, WindowsEventLog, WindowsTask, DCOM, ServerRoles, SystemInfo, WindowsErrorReporting, WindowsTask, LocalWin32Service, SQLConfigurations, SQLMasterFiles, Boot.ini, BCDEdit), Verfahrenssteuerungssystem-Datendateien (z.B. DDC, EJournal, FixUserPreferences, ImportExportProgressLog, DeltaVSettings, DT.SCR, LogicSolvers, Repeater, Steuerungsereignisinformationen, Downloadprogress.log, PowerFailInfo, PWU-Dateien, Journal-Dateien, SwitchSystemInfo, SwitchEventLog, UpgradePowerUpTest, MonitorMetrics, QNX-Crash-Protokoll, DVBOPCSVR, DVBAccess, FrsOpcMr), Kommunikationsdatendateien (z.B. IPConfig, NetStat, Ping-Ergebnisse, Firewall-Einstellungen, Ethernet-Protokolle) beinhalten, um nur einige zu nennen. Als weiteres Beispiel können die Datenquellenvorlagen Verweise oder Hinweise auf verschiedene Arten von Anwendungen für Computer-Hardware und -Software, Firmware usw., Datenquellen, beispielsweise einschließlich von Datenquellen für Server/Workstation-Hardware, Betriebssystemdatenquellen, Steuerungsdatenquellen, Chargendatenquellen, Netzwerkkommunikations-/Infrastrukturdatenquellen (sowohl von primären als auch von sekundären Netzwerken), Bedienoberflächendatenquellen, Datenbankdatenquellen, SWAT(Software und Anwendungs-)Datenquellen, SIS(Sicherheitssystem)-Datenquellen, Datenquellen für einfache und redundante/gespiegelte OPC-Server, Logbook-Datenquellen und Virtualisierungsdatenquellen sein, um nur einige zu nennen.
-
Natürlich kann ein neues Eingabedatenquellenwerkzeug zum Werkzeugkastenbereich 102 hinzugefügt werden, wenn neue Datentypen erzeugt oder verwendet werden, um einen Zeiger oder eine Vorlage für diese Daten bereitzustellen. Wenn beispielsweise eine neue Datenart oder Datenquelle identifiziert wird, kann der Aktualisierungsprozess 1) neue Datenarten, einschließlich von Metadaten, welche die Datenstruktur der Datenart oder -quelle definieren, von einem System des Kunden erfassen, 2) neue Datenarten an die vorhandenen Analysemaschinen schicken, um diese parsen zu lassen, und 3) ein neues Dateneingabewerkzeug für jede neue Datenart auf Basis des Formats, der Parameter und der Metadaten, die mit der neuen Datenart assoziiert sind, erzeugen und dann kann das neue Werkzeug als Aktualisierung an der Rule-Builder-Anwendung 64 bereitgestellt werden.
-
Außerdem beinhaltet die Logik- oder Steuerungsflusselementbibliothek 74 einen Satz logischer Regeln oder andere Vorlagen für Programmierungsflusssteueroperationen, beispielsweise logische If-Then-Anweisungen, Sequenz-Anweisungen, Do-While-Anweisungen, Loop-Anweisungen oder verschiedene andere Arten von logischen oder Ablaufsteuerungsoperationen, die verwendet werden können, um die Flow-Logik einer Regel zu definieren, die verwendet werden soll, um Daten, die als Eingabedaten für eine Regel spezifiziert sind, zu testen oder um andere Zwischendaten, die von einer Regel definiert werden, zu testen. Die in der Bibliothek 74 gespeicherten logischen oder Flow-Steuerungsoperationen können alle möglichen bekannten oder gewünschten logischen oder Programmierungsflusssteuerungsoperationen beinhalten, und hierin werden nur einige wenige solcher Operationen beschrieben. Nur als Beispiel könnten die Logik/Flow-Steuerungswerkzeuge eine beliebige Art von logischen oder Programmablaufoperationen, wie Assign-(um beispielsweise einer Variablen einen Wert zuzuweisen), Do-While-, For-Each-, If-, Sequence-, Switch- und While-Operationen beinhalten. Diese Operationen sind alles bekannte Programmierungsfluss-Steuerungsanweisungen oder logische Operationen und werden hierin nicht näher beschrieben. Darüber hinaus könnten beliebige andere Arten von Programmierungssteuerungsoperationen oder logischen Operationen in diese Werkzeuge oder Vorlagen aufgenommen werden.
-
Ebenso kann die Ausgabeaktionsbibliothek 76 einen Satz von Vorlagenausgabeaktionen oder Ausgabeaktionsvorlagen speichern, die verwendet werden können, um Aktionen zu definieren, die als Reaktion auf die Erkennung eines Problems durchgeführt werden sollen. Die Ausgabeaktionen können beispielsweise als Reaktion auf eine logische Bestimmung implementiert werden, die von der Flow-Logik einer gerade erzeugten Regel getroffen wird, beispielsweise eine logische „true“- oder eine logische „false“ Bestimmung, die von einer logischen Operation getroffen wird, wenn sie auf bestimmten Daten in der Regel, beispielsweise auf Eingabedaten, angewendet wird.
-
Allgemein gesprochen dient die Oberflächenroutine 70 daher dazu, einem Anwender über die Anzeige 62 eine grafische Anzeige bereitzustellen, um dem Anwender zu gestatten, Analyseregeln auf grafische Weise zu erzeugen. In einem Fall ermöglicht die Oberflächenroutine 70 einem Anwender die Erzeugung von Analyseregeln durch Auswählen von Kombinationen aus (1) einer oder mehrerer Eingabedatenvorlagen, die in einer Analyseregel verwendet werden sollen, (2) einer oder mehrerer Vorlagen für logische oder Ablaufsteuerungsoperationen, die in einer Analyseregel verwendet werden sollen, und (3) einer oder mehrerer Ausgabeaktionsvorlagen, die von einer Analyseregel genommen werden sollen. Der Anwender kann die Vorlagen durch Auswählen eines Hinweises auf die Vorlagen in einer Bibliotheks- oder Werkzeugkastenregion eines Bedienoberflächenbildschirms und durch Ziehen und Ablegen der ausgewählten Vorlagen in eine Workflow- oder Canvas-Region des Bedienoberflächenbildschirms oder durch anderweitiges Spezifizieren der Vorlage, die verwendet werden soll, auswählen, um eine oder mehrere Datenquellenkomponenten, eine oder mehrere funktionale Komponenten und eine oder mehrere Ausgabekomponenten einer Analyseregel innerhalb der Workflow-Region zu erzeugen oder vom System erzeugen zu lassen. Dem Anwender können dann innerhalb der Workflow-Region für jede der ausgewählten Vorlagen grafische interaktive Komponenten präsentiert werden, beispielsweise Fenster oder Kästchen, und er kann in die Lage versetzt werden, vom Anwender definierbare Parameter, die mit den einzelnen Komponenten in der Workflow-Region assoziiert sind, bereitzustellen oder einzugeben. Wenn der Anwender mit der Erzeugung einer Analyseregel fertig ist, kann der Anwender die Analyseregel am Logik-Compiler 71 bereitstellen, der die Informationen der Analyseregel, die vom Anwender grafisch spezifiziert worden sind, in ausführbaren Code kompiliert. Der Compiler 71 kann dann die ausführe Analyseregel innerhalb eines Regelspeichers 76 speichern, der beispielsweise ein lokaler Speicher sein kann.
-
Wie in 3 dargestellt ist, kann die Runtime Engine 69, nachdem die Anwendung zur Formulierung von Regeln bzw. Rule-Builder-Anwendung 64 eine neue erzeugte Regel im Speicher 76 (beispielsweise im lokalen System 60) gespeichert hat, diese Analyseregel beispielsweise in einem Austestungs- bzw. Debugging-Modus ausführen oder abarbeiten, um den Anwender in die Lage zu versetzen, die erzeugte Analyseregel zu testen. Genauer beinhaltet die Runtime Engine 69, wie in 3 dargestellt ist, eine Datenabruferanwendung 77 und eine Ausführungsmaschine 78. Die Ausführungsmaschine 78 parst die gerade ausgeführte Analyseregel, um den Hinweis auf die Daten zu bestimmen, die als Eingabedaten für die Analyseregel nötig sind, und kommuniziert mit der Datenabruferanwendung oder -oberfläche 77, die auf einem Prozessor ausgeführt wird, um die spezifizierten Daten beispielsweise aus einer oder mehreren Kundendatendateien in der Datenbank 32 abzurufen. Die Ausführungsmaschine 78 speichert dann die so abgerufenen Eingabedaten im lokalen Speicher 79 als eine oder mehrere lokale Variablen und wendet die logische(n) oder Ablaufsteuerungsoperation(en), die von der Analyseregel spezifiziert werden, auf die Eingabedaten an, um ein oder mehrere logische Ergebnisse (z.B. true- oder false-Bestimmungen und/oder logische Anweisungen usw.) zu bestimmen. Außerdem kann die Ausführungsmaschine 78 die von der Analyseregel spezifizierten Ausgabeaktionen anwenden oder nehmen, beispielsweise kann sie ein Ergebnis der Analyseregel und eine Verknüpfung oder einen Verweis mit bzw. auf einen oder mehrere KBAs, die mit dem Regelergebnis assoziiert sind, anzeigen. Natürlich kann die Ausführungsmaschine 78 in einem Austestsmodus operieren und den Anwender in die Lage versetzen, die jeweiligen Schritte der Logik zu betrachten, während sie ausgeführt werden, um mögliche Fehler in der Analyseregel zu bestimmen.
-
Nachdem der Anwender mit der erzeugten und getesteten neuen Analyseregel zufrieden ist, kann der Anwender die Rule-Builder-Anwendung 64 veranlassen, die neue Analyseregel an der Publisher-Anwendung 66 (2) bereitzustellen für eine mögliche Veröffentlichung für andere Anwender und/oder zur Verwendung durch die Analysemaschine 50 (2), wenn Kundendatendateien automatisch analysiert werden.
-
4 zeigt ein Beispiel für eine Bildschirmanzeige 80, die von der Oberflächenroutine 70 der Rule-Builder-Anwendung 64 erzeugt werden kann, um einen Anwender, beispielsweise einen lokal zuständigen Ingenieur an der Station 60 (2), in die Lage zu versetzen, verschiedene Aktionen in Bezug auf die Erzeugung einer oder mehrerer Analyseregeln durchzuführen. Die Beispielsbildschirmanzeige 80 von 4 beinhaltet einen Satz von Aktionsmenüs auf der linken Seite des Bildschirms, einschließlich von Download-Aktionen 81, Regel-Aktionen 82, Veröffentlichungs-Aktionen 83, Regelausführungs-Aktionen 84 und administrativen Aktionen 85. Ferner beinhaltet die Bildschirmanzeige 80 eine Liste von Regeln 86, die vom Anwender erzeugt werden oder erzeugt worden sind, auf der rechten Seite der Anzeige. Der Anwender kann eine oder mehrere von den Regeln in der Liste 86 auswählen, um die Regel beispielsweise zu betrachten oder zu bearbeiten. Darüber hinaus kann der Anwender die Auswahlen in den verschiedenen Menüs 81–85 verwenden, um Aktionen in Bezug auf eine ausgewählte Regel in der Liste 86 durchzuführen. Genauer kann der Anwender das Menü 82 verwenden, um den Prozess der Erzeugung einer neuen Regel durch Auswählen der Verknüpfung „Create New Rule“ (neue Regel erzeugen) zu starten, kann die Eigenschaften einer vorhandenen Regel durch Auswählen der Verknüpfung „Edit Rule Prop.“ (Regeleigenschaften ändern) bearbeiten, kann durch Auswählen der Verknüpfung „Open Rule Logic“ (Regellogik öffnen) Logik für eine Regel öffnen und bearbeiten, kann durch Auswählen der Verknüpfung „Delete Rule“ (Regel löschen) eine Regel löschen und kann durch Auswählen der Verknüpfung „Save as Rule“ (als Regel speichern) eine Regel speichern. Außerdem kann der Anwender unter Verwendung des Menüs 83 Aktionen durchführen, die mit der Veröffentlichung einer Regel assoziiert sind, beispielsweise kann er Regelveröffentlichungsstatus ändern (z.B. eine Veröffentlichung verlangen usw.) er kann den Veröffentlichungsfortschritt einer bestimmten Regel betrachten, z.B. um das aktuelle Stadium oder den aktuellen Status des Veröffentlichungsprozesses einer bestimmten Regel zu betrachten. Ebenso kann der Anwender das Regelausführungsmenü 84 verwenden, um durch Auswählen des Icons oder der Verknüpfung „Run Rules“ (Regeln ausführen) (wodurch jede der ausgewählten Regeln in der Anzeigeliste 86 zur Ausführung an der Runtime Engine 69 bereitgestellt wird) Regeln an einer lokalen oder anderen Analysemaschine ausführen und kann die Verknüpfung oder das Icon „View Rules State/Results“ (Regelstatus/-ergebnis betrachten) verwenden, um den Status oder die Ergebnisse dieser Regeln zu betrachten. Diese Auswahl kann beinhalten, dass der Anwender in die Lage versetzt wird, eine Regel in einem Debugging-Modus durchzugehen, um die Funktionsweise der Regel auf Basis von vorgegebenen oder vorab identifizierten Haltepunkten in der Regel von Befehl zu Befehl oder von Schritt zu Schritt zu betrachten. Solche Haltepunkte können von Anwender spezifiziert werden, wenn er die Regel erzeugt, oder können auf Basis der Logik der Regel automatisch bestimmt werden.
-
5 zeigt ein Beispiel für eine Bildschirmanzeige 90, die von einer Oberflächenroutine 70 der Rule-Builder-Anwendung 64 im Rahmen der Erzeugung einer neuen Analyseregel durch einen Anwender produziert werden kann. In diesem Fall beinhaltet die Bildschirmanzeige 90 einen Satz von Kästchen oder Feldern, die vom Anwender ausgefüllt werden können, um die Regel und die Parameter der erzeugten Regel zu definieren. Zum Beispiel kann ein erstes Feld 91 vorgesehen sein, der den Anwender in die Lage versetzt, die Domäne oder allgemein Hardware/Software zu spezifizieren, auf welche die Regel bezogen ist oder mit welcher die Regel assoziiert ist. Der Anwender kann eine solche Domäne eingeben oder kann die Domäne aus einer voreingestellten oder vorgegebenen Liste solcher Domänen auswählen. Diese Listen oder Nennung von Domänen kann auf den erfassten Kundendatendateien basieren und kann verschiedene unterschiedliche Hardware-, Firmware- oder Software-Anwendungseinheiten spezifizieren, für die Kundendaten am Standort des Kunden erfasst werden. Diese Domänen können Teil der Datenquellenmetadaten in der Datenbank 73A sein. Falls gewünscht, kann der Anwender in der Lage sein, neue Domänen für neue Arten von Daten, die von einem Kundenstandort erfasst werden soll, zu erzeugen.
-
Ebenso kann ein Feld 92 den Anwender in die Lage versetzen, ein oder mehrere Symptome zu spezifizieren, die mit dem Betrieb der Hardware/Firmware/Software des Kunden assoziiert sind, auf welche die Regel abzielt. Zum Beispiel hat der Anwender am Bildschirm 90 von 5 angegeben, dass das Symptom (die Manifestation des Problems oder der Schwierigkeit, die von der erzeugen Analyseregel erkannt werden soll) darin besteht, dass die Einheit, die in der Domäne definiert ist (in diesem Fall eine bestimmte Bedienoberflächenvorrichtung am Kundenstandort), langsam arbeitet.
-
Außerdem kann ein Feld 93 verwendet werden, um einen Namen für die neue Regel bereitzustellen, während ein Feld 94 verwendet werden kann, um eine Beschreibung oder Zusammenfassung der erzeugten Analyseregel bereitzustellen. Man beachte, dass ein Feld 95 verwendet werden kann, um einen Regelentwickler oder -erzeuger in die Lage zu versetzen, eine oder mehrere Regelaktionen zu definieren, die von der Regel durchgeführt werden oder die als Ergebnis einer oder mehrerer logischer Bestimmungen, die von der Regel getroffen werden, stattfinden. In manchen Fällen kann der Aktionsabschnitt oder das Aktionsfeld 95 eine Anzeigemeldung definieren, die als Folge der Operation der Analyseregel bereitgestellt wird. In anderen Fällen kann die Aktion folgendes sein: eine Verknüpfung mit anderen Anwendungen, die als Folge der Operation der Analyseregel angewendet oder ausgeführt werden müssen, eine Verknüpfung mit einer anderen Analyseregel, die auf Basis des Ergebnisses dieser Analyseregel angewendet oder ausgeführt werden sollte, ein Alarm oder eine Warnung, die an einen anderen Anwender an irgendeinem anderen Ort oder Computer gesendet werden muss, die Ausführung oder Initiierung irgendeiner anderen elektronischen oder computerbasierten Aktion usw. Die verschiedenen möglichen Aktionen können jeweils als Teil der Bibliothek 75 von 3 bereitgestellt werden, falls gewünscht.
-
Außerdem kann ein Feld 96 verwendet oder bereitgestellt werden, um einen oder mehrere KBAs zu identifizieren, die mit dieser Regel assoziiert sind und die einem Anwender der Analyseregel in einer Anzeige bereitgestellt werden können, um mehr Informationen über das durch die Operation der Analyseregel erkannte Problem oder eine oder mehrere Lösungen oder Aktionen, die zur Lösung des Problems durchgeführt werden sollen, bereitzustellen. Natürlich kann ein Satz von Optionsschaltflächen 97 verwendet werden, beispielsweise um die auf dem Bildschirm 90 spezifizierten Regelparameter zu speichern, Regellogik zu öffnen, die Logik oder die Operationen der Regel zu öffnen oder die Regel zu löschen.
-
6 zeigt ein Beispiel für eine grafische Bildschirmanzeige 100, die beispielsweise von der Oberflächenroutine 70 der Rule-Builder-Anwendung 64 auf der Anzeige 62 von 3 angezeigt werden kann, um einen Anwender in die Lage zu versetzen, die Logik oder Programmierung, die mit einer neuen Analyseregel assoziiert ist, zu erzeugen oder zu definieren. Genauer beinhaltet die grafische Bildschirmanzeige 100 einen Werkzeugkastenbereich 102 (auf der linken Seite der Anzeige 100 dargestellt), einen Workflow-Bereich 104 (im mittleren Abschnitt der Anzeige 100 dargestellt) und einen Übersichtsbereich 106 (auf der rechten Seite der Anzeige 100 dargestellt). Allgemein gesprochen beinhaltet der Werkzeugkastenbereich 102 verschiedene Abschnitte oder Regionen, die mit verschiedenen von den Datenquellenvorlagen oder -bibliothekselementen 73, den Vorlagen oder Bibliothekselementen 74 für logische Ablaufsteuerungsoperationen und den Ausgabeaktionsvorlagen oder -bibliothekselementen 75 von 3 assoziiert sind. Der Werkzeugkastenbereich 102 stellt daher Vorlagen oder grafische Grundelemente bereit, die ein Anwender verwenden kann, um auf grafische Weise eine neue Analyseregel im Workflow-Bereich 104 zu erzeugen.
-
Darüber hinaus ist der Workflow-Bereich 104 ein Abschnitt des Bildschirms 100, in den verschiedene Elementen (die auch als Werkzeuge bezeichnet werden) aus dem Werkzeugkastenbereich 102 gezogen und in dem sie in einer bestimmten Reihenfolge oder Sequenz abgelegt oder auf andere Weise platziert werden können, um wirkliche Regelkomponenten zu erzeugen, beispielsweise Datenquellenkomponenten, funktionale Komponenten und Ausgabekomponenten, die gemeinsam die Operation der Analyseregel definieren. Diese Komponenten können dann zu bestimmten Regelparameterinformationen hinzugefügt oder mit solchen gefüllt werden, um die Operation einer neuen Analyseregel auf grafische Weise zu definieren. Genauer kann die Konfigurationsmaschine 68 (3) so operieren, dass sie eine grafische Eingaberoutine ausführt, um ein interaktives Fenster für jede von einem Satz von Regelkomponenten, die aus den Regelkomponentenvorlagen abgeleitet werden, anzuzeigen, wobei das interaktive Fenster für jede von den Regelkomponenten einen Anwender in die Lage versetzt, spezifische Parameter für jede von den Regelkomponenten zu definieren. Zum Beispiel zeigt die grafische Eingaberoutine für die Datenquellenkomponente ein interaktives Dateneingabefenster an, das einen oder mehrere vom Anwender definierbare Parameter beinhaltet, die einen spezifischen Datensatz von einer spezifischen Datenquelle, der für die Analyseregel abgerufen werden soll, spezifizieren. Darüber hinaus zeigt die grafische Eingaberoutine für die funktionale Komponente ein oder mehrere interaktive funktionale Fenster an, die einen oder mehrere vom Anwender definierbare Parameter beinhalten, die eine oder mehrere logische Operationen spezifizieren, die unter Verwendung des spezifischen Datensatzes aus der spezifischen Datenquelle durchgeführt werden sollen. Außerdem zeigt die grafische Eingaberoutine für die Ausgabekomponente ein interaktives Ausgabefenster an, das vom Anwender definierbare Parameter beinhaltet, die eine Aktion spezifizieren, die in Verbindung mit einer durch die eine oder die mehreren logischen Operationen getroffenen Bestimmung ergriffen werden soll.
-
In einem allgemeinen Sinn stellt der Übersichtsbereich 106 eine Übersicht über die neue Analyseregel bereit, während diese Regel erzeugt wird, einschließlich eines Hinweises auf die Daten, die mit der Eingabe der Analyseregel assoziiert sind, der logischen oder Ablaufsteuerungsbefehle, die mit der Analyseregel assoziiert sind, und der Ausgabeaktionen, die als Reaktion auf verschiedene von den Operationen der Analyseregel durchgeführt werden sollen. Der Übersichtsbereich 106 kann auch Verknüpfungen mit den verschiedenen unterschiedlichen grafischen Darstellungen der Elemente der Analyseregel, die im Workflow-Bereich 104 gezeigt sind, bereitstellen, um einen Anwender in die Lage zu versetzen, ohne Schwierigkeiten einen bestimmten Abschnitt der grafischen Darstellung der Analyseregel innerhalb des Workflow-Bereichs 104 zu finden, wenn er die Analyseregel erzeugt, bearbeitet oder betrachtet. Der Übersichtsbereich 106 kann daher verwendet werden, um ohne Schwierigkeiten durch die verschiedenen grafischen Darstellungen der verschiedenen Komponenten der gerade erzeugten Analyseregel zu navigieren, was besonders bei langen oder komplexen Regeln hilfreich sein kann.
-
In dem Beispiel für einen grafischen Bildschirm von 6 wird gerade eine bestimmte Regel im Workflow-Bereich 104 erzeugt, und diese Regel basiert allgemein auf einer logischen If-Then-Else-Operation, die auf eine bestimmte Art oder Quelle von Eingabedaten angewendet wird, wobei die If-Then-Else-Bestimmung eine erste Ausgabeaktion produziert, bei welcher der Regelstatus als „OK“ definiert wird, wenn eine erste logische Bestimmung getroffen wird (z.B. wenn die If-Anweisung logisch wahr ist), und wobei die If-Then-Else-Bestimmung eine zweite Ausgabeaktion produziert, in welcher der Regelstatus als „Warnung“ definiert wird, wenn eine zweite logische Bestimmung getroffen wird (z.B. die If-Anweisung logisch falsch ist). Genauer beinhaltet der Workflow-Bereich 104, wie in 6 dargestellt ist, eine grafische Darstellung 110 einer Datenquelle, die ein Eingabedatenspezifikationselement oder -kästchen darstellt, das die Eingabedaten spezifiziert, die als Eingabe in die Regellogik verwendet werden sollen. Die grafische Darstellung 110 der Datenquelle kann dadurch im Workflow-Bereich 104 erzeugt werden, dass der Anwender eines der Datenwerkzeuge (aus einem Eingabedatenbibliotheks- oder -vorlagenabschnitt des Werkzeugkastenbereichs 102) zieht und dieses Datenwerkzeug im Workflow-Bereich 104 ablegt. Die Oberflächenroutine 70 von 3 versteht diese Aktion als Aufforderung seitens des Anwenders, eine Datenquellen- oder Dateneingabekomponente einer Analyseregel zu erzeugen, und erzeugt als Reaktion auf diese Aufforderung ein Kästchen oder Datenspezifikationselement 110 im Workflow-Bereich 104. Das Datenspezifikationselement 110 (die Datenquellenkomponente) von 6 beinhaltet einen Satz von Parametern, die mit dem jeweiligen Eingabedatenwerkzeug assoziiert sind, das verwendet oder in den Workflow-Bereich 104 gezogen wird. Die Parameter können vom Anwender definierbare Parameter sein, die vom Anwender ausgefüllt werden können, und diese Parameter können beispielsweise die jeweilige Datenquelle, beispielsweise Daten innerhalb einer bestimmten Kundendatendatei, oder eine Art einer Kundendatendatei, die Art der Daten, das Format der Daten usw. angeben. Der Anwender kann diese Parameter eingeben, um die Daten, die in der Regel als Eingabedaten verwendet werden sollen näher zu spezifizieren. Der Anwender kann auch Parameter eingeben, um Umwandlungen der Datenwerte durchzuführen, beispielsweise eine Änderung des Datenwerts in einen ganzzahligen Wert, eine Rundung der Datenwerte usw. Außerdem kann der Anwender Parameter eingeben, um einen Variablennamen für die Daten, die in der Analyseregel verwendet werden sollen, als einen der Eingabedatenparameter bereitzustellen.
-
Wie in 6 dargestellt ist, beinhaltet der Workflow-Bereich 104 außerdem ein Regellogikspezifikationselement oder -kästchen 112 (eine funktionale Komponente), das einen Teil der Logik der gerade erzeugen Analyseregel spezifiziert. Das Regellogikspezifikationskästchen 112 kann dadurch erzeugt werden, dass der Anwender eine oder mehrere von einem Satz aus Logik-/Ablaufsteuerungsvorlagen aus dem Werkzeugkastenbereich 102 zieht und diesen Hinweis oder diese Vorlage an einem Punkt in einer logischen Sequenz, die von der Analyseregel ausgeführt werden soll, auf dem Workflow-Bereich 104 ablegt. Die Oberflächenroutine 70 von 3 versteht diese Aktion als Aufforderung seitens des Anwenders, ein Steuerlogikelement einer Analyseregel zu erzeugen, und erzeugt als Reaktion auf diese Aufforderung das Kästchen oder Regellogikspezifikationselement 112 im Workflow-Bereich 104. Der Ablaufsteuerungsabschnitt des Werkzeugkastenbereichs 102 beinhaltet Logik-/Ablaufsteuerungshinweise, die mit Vorlagenlogikfunktionen und Ablaufsteuerungsfunktionen assoziiert sind, die auf eine Analyseregel angewendet oder in dieser verwendet werden sollen. Die konkrete Regel, die auf dem Bildschirm von 6 erzeugt wird, ist eine logische If-Then-Else-Regel mit einem ersten Abschnitt 113, der assoziiert ist mit der oder verwendet wird für die Spezifizierung der If-Anweisung, die eine Bedingung der jeweiligen (beispielsweise vom Eingabedatenkästchen 110 spezifizierten) Eingabe definiert, die getestet werden soll. Die Bedingungsanweisung im Block 113 wird während der Ausführung der Analyseregel analysiert, und auf Basis der Ergebnisse der Analyse, z.B. ob der logische Ausdruck wahr oder falsch ist, wird eine von einem Satz von Ausgabeaktionen, die in weiteren Ausgabeaktionsdefinitionskästchen 114 und 116 bereitgestellt sind, implementiert. Genauer gibt ein erstes Ausgabeaktionsdefinitionskästchen oder -element 114 eine Ausgabeaktion an, die in dem Fall ausgeführt werden soll, wo der logische Ausdruck innerhalb des Feldes 113 wahr ist, und ein zweites Ausgabeaktionsdefinitionskästchen oder -element 116, das in dem Fall angewendet werden soll, wo bestimmt wird, dass der logische Ausdruck innerhalb des Blocks 113 falsch ist. Wiederum können die Kästchen oder Elemente 114 und 116 vom Anwender spezifiziert werden, der verschiedene von den Ausgabeaktionshinweisen oder -vorlagen, die im Ausgabeaktionsabschnitt des Werkzeugkastenbereichs 102 dargestellt sind, zieht und diese Hinweise an der richtigen Stelle innerhalb des Workflow-Bereichs 104 ablegt, um bearbeitbare Regelkomponente für eine wirkliche Regel zu erzeugen. Die Oberflächenroutine 70 von 3 versteht diese Aktion als Aufforderung seitens des Anwenders, ein Ausgabeaktionselement einer Analyseregel zu erzeugen, und erzeugt als Reaktion auf diese Aufforderung die Ausgabeaktionsspezifikationselemente 114 und 116 im Workflow-Bereich 104. Die Oberflächenroutine 70 kann auch den Überblickabschnitt 106 des Bildschirms 100 aktualisieren, um die Logik oder den Ablauf der gerade erzeugten Analyseregel anzugeben.
-
7–9 zeigen Bildschirmanzeigen, die mit einem weiteren Beispiel für die Erzeugung einer Analyseregel assoziiert sind, und genauer zeigen sie die einzelnen Schritte, die bei der Erzeugung einer bestimmten Regel verwendet werden, detaillierter. In diesem Beispiel interagiert ein Anwender mit einer grafischen Anwenderanzeige 100 und insbesondere mit dem Werkzeugkastenbereich 102 einer solchen Anzeige, um mit der Erzeugung einer Analyseregel zu beginnen. Hierbei wählt der Anwender zuerst ein Sequenzablaufsteuerungselement oder einen entsprechenden Hinweis innerhalb des Werkzeugkastenbereichs 106 aus und legt dieses Element auf dem Workflow-Bereich 104 ab, um ein Sequenzkästchen oder logisches Element 130 zu erzeugen. Das Sequenzelement 130 definiert die Reihenfolge der Operation oder Ausführung der verschiedenen Blöcke, die innerhalb des Sequenzelements 130 angeordnet sind. Wie in 7 von dem Pfeil dargestellt ist, wählt der Anwender als nächstes einen Eingabedatenquellenhinweis aus dem Basis-Werkzeugabschnitt des Werkzeugkastenbereichs 102 aus, um einen Hinweis auf die Eingabedaten zu erzeugen, die in der Analyseregel verwendet werden sollen, und legt diesen Hinweis im Sequenzkästchen 130 ab, wodurch die Sequenz der gerade erzeugten Analyseregel definiert wird. In diesem Beispiel wählt der Anwender den FixUserPreferences-Datenquellenhinweis aus und zieht diesen Hinweis in den oberen Teil des Sequenzkästchens 130 im Workflow-Bereich 104 und legt ihn dort ab. Die Bedienoberflächenroutine 70 erzeugt ein Dateneingabeelement 132, das dieser Aktion entspricht, um dem Anwender bei der Definierung der Eingabedaten zu helfen, die in der Analyseregel verwendet werden sollen. In diesem Fall ist die FixUserPreferences-Datenquelle eine Datendatei, die bekannt ist und innerhalb des Steuersystems einer Prozessanlage definiert sind. Diese Datendatei weist bestimmte Daten einer bestimmten Art oder bestimmter Arten und eines bekannten Formats oder bekannter Formate auf, die von einem oder mehreren Abschnitten, Schlüsseln, Spalten, Zeilen, Metadaten, organisatorischen Daten oder anderen Datenstrukturinformationen, die mit dieser Datenquelle assoziiert sind, definiert werden. Diese Datenstrukturinformationen oder Datenquellenmetadaten können beispielsweise in der Datenbank 73A von 3 gespeichert und daraus abgerufen werden. Die Informationen, die im Dateneingabekästchen 132 bereitgestellt werden, können verwendet werden, um die spezifischen Daten oder Datenabschnitte zu definieren, die von der ausgewählten Datenquelle verfügbar sind. Somit kann in diesem Fall die FixUserPreferences-Datenquelle Daten beinhalten, die von einem Abschnitt und einem Schlüssel definiert werden (oder in einem Format gespeichert sind, die diese(n) verwendet oder auf die über diese(n) zugegriffen werden kann). Der Anwender kann den Abschnitt oder Schlüssel, der mit den zu verwendenden Daten assoziiert ist, eingeben und kann dabei Drop-Down-Menüs verwenden, die nummerierte Listen darstellen oder bereitstellen, welche die Abschnitte und Schlüssel definieren, die jeweils in dieser oder über diese Datenquelle verfügbar sind. Hierbei hat der Anwender die Daten ausgewählt, die vom „PicturePreferences“-Abschnitt und vom „PictureCaching“-Schlüssel definiert werden. Natürlich können die Parameter, die über die Eingabeauswahlkästchen im Datenquelleneingabefeld 132 spezifiziert werden sollen, im Speicher gespeichert werden und können von dem jeweils ausgewählten Datenquellenhinweis abhängen. Somit können auch andere Datenquellenparameter, einschließlich anderer Datenformat- und Speicherhinweise oder anderer Metadaten, die Parameter, Aspekte oder Eigenschaften von Daten innerhalb der Datenquelle angeben, als auswählbare Parameter in anderen Eingabedatenquellenbestimmungskästchen oder -elementen verwendet oder referenziert werden. Darüber hinaus kann der Anwender durch die Datenparameterkästchen im Feld 132 scrollen, um die Parameter der Eingabedatenquelle zu spezifizieren, die verwendet werden soll, um die gerade ausgewählten Eingabedaten zu definieren. Natürlich haben unterschiedliche Arten von Datenquellen oder Eingabedatenwerkzeuge unterschiedliche Arten von Daten, die auf unterschiedliche Weise organisiert sind, und die Organisation dieser Daten und Merkmale oder Parameter dieser Daten (hierin als Metadaten bezeichnet) können verwendet werden, um die Eigenschaften oder Teilkästchen der Eingabekästchen des Dateneingabehinweises 132 zu definieren, um dem Anwender zu ermöglichen, die jeweiligen Daten, die der Anwender aus der ausgewählten Datendatei erhalten möchte, leicht zu finden und zu spezifizieren. Ebenso kann die Bedienoberflächenroutine 70 (3) Dialogfenster oder andere Fenster bereitstellen, die es dem Anwender ermöglichen, eine bestimmte Kundendateneingabedatei für das ausgewählte Eingabedatenwerkzeug auszuwählen und diese Daten zu betrachten, um die Struktur dieser Daten und die damit assoziierten Parameter zu betrachten, jeweils um dem Anwender dabei zu helfen, die korrekten Datenkästchen der ausgewählten Datendatei auszuwählen.
-
Darüber hinaus kann der Anwender im unteren Teil des Dateneingabeauswahlkästchens 132 beliebige mathematische Operationen identifizieren oder definieren, die an den Werten der ausgewählten Daten durchgeführt werden sollen (z.B. Umwandeln der Datenwerte in eine ganze Zahl, Runden der Datenwerte usw.). Außerdem kann der Anwender einen Namen der Variablen, die in der Analyseregel verwendet werden soll (und somit den lokalen Variablennamen der ausgewählten Daten) definieren. In dem Beispiel von 7 hat der Anwender das Eingabekästchen 132 der Analyseregel so programmiert, dass die ausgewählten Daten (unter Verwendung der mathematischen Funktion Integers(x)) in einen ganzzahligen Wert mit dem Variablennamen „FixUserPreferences“ umgewandelt werden sollen. Natürlich könnte der Anwender auch andere Variablennamen und andere mathematischen Operationen spezifizieren, die an den Eingabedaten durchgeführt werden sollen.
-
Nach dem Spezifizieren der Daten, die verwendet werden sollen, aller mathematischer oder anderer Formatierungsoperationen, die an den Daten durchgeführt werden sollen, und des Variablennamens, der für die Daten verwendet werden soll (wobei dieser Variablenname im Grunde eine lokale Variablen in der Analysemaschine oder anderen Maschine ist, welche die dann erzeugte Analyseregel anwendet), kann der Anwender den nächsten Schritt tun, wie in 8 dargestellt, um eine logische Operation zu definieren, die auf die Daten innerhalb der Analyseregel angelegt werden soll. In diesem Fall kann der Anwender einen Ablaufsteuerungshinweis aus dem Werkzeugkastenbereich 102 ziehen und in dem Sequenzkästchen 130 ablegen, um eine funktionale Regelkomponente zu definieren, die zumindest einen Teil der Programmierungs- oder Ablauflogik zu definieren, die in der Analyseregel verwendet werden soll. Wie vom Pfeil in 8 dargestellt ist, hat der Anwender in diesem Fall einen If-Then-Else-Logikhinweis aus dem Werkzeugkastenbereich 102 ausgewählt und hat diesen Hinweis in das Sequenzkästchen 130 an einer Stelle unterhalb der Kästchen 132 abgelegt. Als Reaktion darauf erzeugt die Bedienoberflächenroutine 70 ein Logikdefinitionskästchen 134, das mit einer Vorlage für eine logische If-Then-Else-Anweisung assoziiert oder gemäß einer solchen definiert ist. Das Format des erzeugten Logikdefinitionskästchens (beispielsweise des Kästchens 134) und die definierbaren Parameter, die mit einem solchen Kästchen assoziiert sind, hängen vom logischen Ausdruck oder von der Ablaufsteuerungsoperation ab, der bzw. die angewendet werden soll. In diesem Fall beinhaltet das Kästchen 134 ein Bedingungsdefinitionskästchen 136 und zwei alternative Regelausgabekästchen 138 und 140.
-
Jedes der Kästchen 136, 138, 140, die vom Anwender definierbare Parameter beinhalten, kann dann vom Anwender ausgefüllt werden, um die Operation der Logik der If-Then-Else-Anweisung der gerade erzeugten Analyseregel zu definieren. Genauer kann der Anwender die Logikbedingung, die getestet werden soll, in das Bedingungskästchen 136 eintippen. Zum Beispiel hat der Anwender in diesem Fall spezifiziert, dass die Bedingung, die getestet werden soll, ist, ob die Variable mit dem Namen FixUserPreferences (die im Kästchen 132 definiert ist) gleich „1“ ist.
-
Wie in 9 dargestellt ist, kann der Anwender als nächstes die Ausgabekomponente oder -aktion spezifizieren oder eingeben, die auf Basis der logischen oder Bedingungsanweisung, die im Kästchen 136 definiert ist, erzeugt werden soll. Genauer kann der Anwender aus der Ausgabeaktionsregion des Werkzeugkastenbereichs 102 separate Ausgaberegeln auswählen und in die Kästchen 138 und 140 von 8 ziehen, um die Aktionen der logischen Anweisung (der logischen If-Then-Else-Anweisung) der gerade erzeugten Analyseregel auf Basis der Bedingungen der Eingabedaten, die von der logischen Anweisung bestimmt werden, zu definieren. In diesem Fall beinhaltet das Ausgabekästchen 138 eine Ausgaberegel, in welcher der Anwender einen Regelstatus als „OK“ definiert hat, wenn die Bedingungsanweisung im Kästchen 136 wahr bzw. True ist, und das Ausgabekästchen 140 beinhaltet eine Ausgaberegel, in welcher der Anwender einen Regelstatus als „Warning“ definiert hat, wenn die Bedingungsanweisung im Kästchen 136 False bzw. falsch ist. Die Ausgabekästchen 138 und 140 beinhalten außerdem auch andere Informationen, die einem Anwender bereitgestellt werden sollen, beispielsweise als Teil der Ausgabe der Analyseregel an sich, einschließlich eines Hinweises auf den Anlagenknoten, für den die Daten erfasst wurden und auf den die Analyseregel angewendet wurde, des erfassten Wertes der Daten und des erwarteten Wertes der Daten. Natürlich könnten die Ausgabekästchen 138 und 140 auch andere Parameter aufweisen, in denen anderen andere Informationen, die als Teil einer Ausgabe der Analyseregel bereitgestellt werden sollen, definiert oder spezifiziert werden können, entweder als veränderbare Variablen oder als feste Werte oder Informationen. Darüber hinaus kann die Oberflächenroutine 70 die Struktur bereitstellen, die den Anwender in die Lage versetzt, jedes gewünschte Verfahren zum Eingeben der Parameter der Kästchen, beispielsweise der Kästchen 136–140, zu verwenden, einschließlich des Eintippens von Daten, der Verwendung eines Drop-Down-Menüs mit einer nummerierten Liste usw. Zum Beispiel kann das Regelstatuskästchen einen endlichen Satz möglicher Werte aufweisen, die für ein bestimmtes Service Center oder eine bestimmte Anwendung definiert sind, beispielsweise OK, Warning, Information, Critical usw., und in diesem Fall gibt der Regelstatus die Bedeutungsschwere einer Regelbestimmung an. Natürlich könnten die anderen Ausgabeaktionsvorlagen im Werkzeugkastenabschnitt 102 auch andere Arten von Informationen bereitstellen oder andere Informationen spezifizieren oder andere Aktionen angeben, die auf Basis der Logik einer Analyseregel durchgeführt werden sollen.
-
Als Beispiel für eine Ausgabeaktion zeigt 10 eine visuelle Ausgabemeldung 150, die durch eine Analyseregel erzeugt wird und die Informationen, die durch die Aktion und KBA-Felder der Regel (wie beispielsweise in den Feldern 95 und 96 von 5 definiert) definiert werden, und andere Informationen, die durch die Ausgabelogikkästchen des logischen Ausdrucks der Regel definiert werden (wie in den Ausgabelogikkästchen 138 und 140 von Bildschirmen wie beispielsweise dem von 9 definiert) bereitstellt. Somit gibt die Meldung 150 an: den Knoten, auf den die Regel angewendet oder an dem das Symptom erkannt wurde, den Symptom- und Regelnamen wie auf dem grafischen Bildschirm, beispielsweise dem von 5, definiert, und die Aktion, die durch die Regel und den KBA für die Regel durchgeführt werden soll, jeweils wie in einem Regeldefinitionsbildschirm für die Analyseregel, wie dem von 5, definiert. Natürlich könnte die Analyseregel verwendet werden, um zusätzlich dazu oder stattdessen andere Arten von Ausgabeaktionen bereitzustellen, einschließlich elektronischer Aktionen wie Senden oder Einstellen von Alarmmeldungen, Benachrichtigungen usw., Senden von E-Mails oder anderen Kommunikationen an betroffene Kunden oder Mitarbeiter, Bewirken, dass elektronische oder physische Aktionen an Kundenstandorten stattfinden, beispielsweise eine Aktualisierung von Sicherheits- oder Betriebssystemdateien, eine Abschaltung von Maschinen, eine Blockierung von Kommunikationsports usw.
-
Wenn der Anwender sämtliche Parameterkästchen ausgefüllt hat, die mit den Regelkomponenten einer gerade erzeugten Regel assoziiert sind, und zufrieden ist mit der grafisch erzeugten Analyseregel, kann der Anwender dann die Analyseregel durch Kompilieren der Analyseregel in ausführbaren Code (beispielsweise unter Verwendung des Compilers 71) und Speichern der Analyseregel, beispielsweise im lokalen Speicher, und Bereitstellen der kompilierten oder ausführbaren Analyseregel an der Runtime Engine 79, beispielsweise unter Verwendung der Bildschirmbefehle von 4, testen. Die Ausführungsmaschinen- und Debugger-Anwendung 69 kann beispielsweise die kompilierte Analyseregel laden, dem Anwender gestatten, bestimmte Kundendaten zu spezifizieren, die zum Testen der Regel verwendet werden sollen, beispielsweise eine Datendatei, die mit einem bestimmten Kunden assoziiert ist, die zu einer bestimmten Zeit erfasst worden sind (beispielsweise unter Verwendung eines Bedienoberflächenfensters), und dann die Analyseregel auf diese ausgewählten Daten anzuwenden oder an diesen ausführen, um eine Ausgabe der Analyseregel zu produzieren, die dann einem Anwender bereitgestellt wird. Wenn der Anwender die Analyseregel ausgetestet hat und gefunden hat, dass die Analyseregel zufriedenstellend arbeitet, kann der Anwender dann die Analyseregel speichern und die Analyseregel im lokalen System zu jeder gewünschten Zeit verwenden. Außerdem kann der Anwender die Analyseregel veröffentlichen, wenn er die Analyseregel an der Publisher-Anwendung 66 von 2 bereitstellt, um zu empfehlen, dass die Analyseregel an verschiedenen anderen Standorten, von anderen Ingenieuren usw. verwendet wird.
-
Außerdem kann die Publisher-Anwendung 66 dazu dienen, eine oder mehrere Analyseregeln, bei denen es sich um Analyseregeln handelt, die möglicherweise veröffentlicht werden sollen, zu empfangen, und kann Maßnahmen in Kraft setzen, die notwendig sind, um zu bewirken, dass eine neue Analyseregel tatsächlich in der Regeldatenbank 52 von 2 veröffentlicht wird, um von Anderen oder in einem automatischen Datenanalyseablauf, der von einer Analysemaschine angewendet wird, beispielsweise von der Maschine 50 von 2, verwendet werden zu können. Genauer kann der Publisher 66 einen Status der Analyseregel, die für den Regelbereitsteller oder Regelerzeuger veröffentlicht wird, über ein Status-Offen-Parameterfeld speichern, aktualisieren und angeben. Dieser Status kann beispielsweise auf-Überprüfung-wartend, wird-überprüft, veröffentlicht, Überprüfung-negativ usw. sein, und die Publisher-Anwendung 66 kann diesen Status aktualisieren, während die Analyseregel den Regelveröffentlichungsprozess durchläuft. In einem Beispiel kann die Publisher-Anwendung 66 neue Regeln hinzunehmen und in eine Liste oder Reihe zu stellen, die von einem Regelexperten für eine mögliche Veröffentlichung in Betracht gezogen bzw. untersucht werden soll. Die Publisher-Anwendung 66 kann verlangen, dass eine Person mit mehr Erfahrung, beispielsweise ein Leiter des Unterstützungssystems 10, eine Analyseregel tatsächlich betrachtet (diese öffnet und ihren Inhalt ansieht), um sicherzustellen, dass die Logik der Analyseregel geprüft wird. Außerdem kann die Publisher-Anwendung 66 verlangen, dass der Überprüfende die vorgeschlagene Analyseregel auf Testdaten anwendet, und kann dafür sorgen, dass der Überprüfende wirklich einige Kundendatendateien auswählt, auf welche die Analyseregel angewendet werden soll, und die Analyseregel dann an der Ausführungsmaschine 69 bereitstellt. Die Publisher-Anwendung 66 kann dem Überprüfenden dann gestatten, einen Hinweis darauf zu geben, ob oder ob nicht die Analyseregel veröffentlicht werden soll, und wenn der Überprüfende einen Hinweis dahingehend gibt, dass die Analyseregel veröffentlicht werden soll, kann sie die Analyseregel veröffentlichen und diese Analyseregel in der Regeldatenbank 52 speichern, ebenso wie die Analyseregel zur Verwendung durch die Analysemaschine 50 und andere Anwender am selben Zentrum 10 für die technische Unterstützung von Kunden oder an anderen Zentren bereitstellen.
-
Auch wenn eine Rule-Builder-Anwendung und ein Analysesystem, das diese Anwendung nutzt, zur Verwendung in einem Zentrum für die technische Unterstützung von Kunden beschrieben worden sind, wie es beispielsweise in 1 und 2 dargestellt ist, können die hierin beschriebene Rule-Builder-Anwendung und eine Analysemaschine, welche die von der Rule-Builder-Anwendung erzeugten Analyseregeln ausführt, auch in einer Online-Anlagenumgebung verwendet werden, beispielsweise in einer oder mehreren Workstations oder anderen Computervorrichtungen, die innerhalb einer Prozessanlage verbunden sind, um eine Online-Analyse durchzuführen, um Probleme oder ungünstige oder unerwünschte Situationen in der Anlage online oder in Echtzeit zu erkennen. Zum Beispiel könnten Analyseregeln erzeugt und online in einer zu Prozesssteuerungsanlage angewendet werden, um auf eine Steuerungsumschaltung zu überwachen. Genauer kann die Analyseregel in einem Fall, wo ein Steuerungsumschaltungsereignis auftritt (z.B. wenn eine primäre Steuerung ausfällt und eine Sicherungssteuerung übernimmt), eine Datenerfassung auslösen, um ein Ereignisprotokoll, einen Dump-Speichereintrag und Alarm&Event-Dateien der Steuerung zu erfassen. Die Analyseregel kann dann die Daten auf eine mögliche Grundursache dafür, dass die Umschaltung stattgefunden hat, analysieren und Ingenieure vor Ort darüber in Kenntnis setzen. Als weiteres Beispiel kann eine Analyseregel erzeugt werden, um freien Speicherplattenplatz in einem Computer oder Archivar in der Anlage zu überwachen. Wenn wenig Speicherplatz frei ist, d.h. unterhalb einer bestimmten Zahl / einem bestimmten Schwellenwert, kann die Analyseregel analysieren, welche selten genutzten alten Daten als Sicherungskopie gespeichert werden sollen, und kann dann eine oder mehrere Backup-Anwendungen veranlassen, identifizierte Daten als Sicherungskopie auf einem Sicherungslaufwerk zu speichern. Die Analyseregel kann außerdem oder stattdessen auch Ingenieure vor Ort darüber in Kenntnis setzen. Als noch weiteres Beispiel kann eine Analyseregel erzeugt werden, die einen Datenfluss überwacht, betrachtet. Wenn die Regel ein bestimmtes Datenmuster findet, das eine Bedeutung hat, kann die Regel bestimmte Aktionen auslösen, um einen möglichen Stillstand des Online-Prozesssteuerungssystems zu verhindern. Natürlich sind das nur ein paar Beispiele für unterschiedliche Analyseregeln, die von Anlagenpersonal unter Verwendung einer Rule-Builder-Anwendung an einem Anlagenstandort erzeugt werden könnten und die online an einem Anlagenstandort (während die Anlage läuft) angewendet oder ausgeführt werden könnten, um eine nützliche Datenanalyse durchzuführen.
-
11 zeigt ein Beispiel für ein Anlagensystem 200, das eine Rule-Builder-Anwendung beinhaltet, die verwendet werden kann, um Analyseregeln innerhalb einer Prozessanlagenumgebung online zu entwickeln und auszuführen. Genauer beinhaltet das Anlagensystem 200 von 11 eine Online-Anlagenumgebung 202 und eine Regelentwicklungs- und -ausführungsumgebung 204. Die Online-Anlagenumgebung beinhaltet eine Anlage (mit Prozessausstattung und Prozesssteuerungsausstattung) 210, die dazu dient, einige Prozesse durchzuführen, beispielsweise die Herstellung eines Produkts, die Aufarbeitung von Öl usw. Die Anlagen- und Prozesssteuerungsausstattung der Anlage kann eine beliebige Zahl und beliebige Arten von Prozesssteuerungsvorrichtungen, beispielsweise Steuerungen, Feldvorrichtungen, Eingabe-/Ausgabevorrichtungen, Kommunikationsvorrichtungen, Workstations, beispielsweise Bediener- und Steuerungs-Workstations, Datenarchivare, Konfigurationsdatenbanken usw. beinhalten. Die Anlage kann während eines Online-Betriebs verschiedene Arten von Daten oder Datenströmen erzeugen, beispielsweise einschließlich von Steuerungsereignissen 212 (z.B. Alarmmeldungen, Warnungen usw.), Workstation-Ereignissen 214 und Massendatenflüssen 216, die von einer oder mehreren Big Data Appliances innerhalb der Anlage 210 erfasst werden. Natürlich sind dies nur einige wenige der möglichen Arten von Daten, die von oder innerhalb der Anlage 210 und der Anlagenausstattung oder erfasst werden können.
-
Die Regelentwicklungs- und -ausführungsumgebung 204, die in einer oder mehreren Computervorrichtungen ausgeführt werden kann, die sich innerhalb der Anlagenumgebung 202 befinden oder die über irgendein Kommunikationsnetz mit dieser verbunden sind, beinhaltet eine Analysemaschine 220 und eine Rule-Builder-Anwendung 222, die mit einer Workstation 224 eines lokal zuständigen Ingenieurs oder einer anderen Workstation oder Verarbeitungsvorrichtung gekoppelt ist, an dieser ausgeführt wird oder auf andere Weise von dieser aus zugänglich ist. Die Analysemaschine 220 kann während eines Online-Betriebs der Anlage 210 eine oder mehrere Regeln, die in einer Regeldatenbank 226 gespeichert sind, speichern und ausführen, um irgendwelche oder alle von den Datenströmen 212, 214, 216 von der Anlage 210 zu analysieren. Die Analysemaschine 220 kann ausgegebene Analyseergebnisse 230 an der Station 224 (oder für irgendeinen anderen Anwender und Mitarbeiter in der Anlage) zur Betrachtung bereitstellen und dem Ingenieur vor Ort oder anderen Mitarbeitern in der Anlage anzeigen. Die ausgegebenen Analyseergebnisse können einen oder mehrere Alarmmeldungen oder Warnungen 234 einstellen oder bewirken oder können andere Aktionen innerhalb der Anlagenumgebung durchführen, beispielsweise das Ingangsetzen oder Anhalten von Vorrichtung, das Einstellen von Parametern, das Erfassen zusätzlicher Daten usw. In diesen Fällen kann die von einer Analyseregel definierte Ausgabeaktion diese oder andere Aktionen in der Anlage 210 initiieren.
-
Außerdem kann die Rule-Builder-Anwendung 222 vom Ingenieur vor Ort (oder einem anderen Anwender) verwendet werden, um eine oder mehrere neue Analyseregeln zur Verwendung bei der Analyse von Anlagedaten oder Datenflüssen zu erzeugen. Hierbei kann der Ingenieur an der Station 224 die Rule-Builder-Anwendung 222 initiieren und eine oder mehrere neue Analyseregeln auf die oben beschriebene Weise erzeugen. Während dieses Prozesses kann der Ingenieur die Regeln in einer Debugging- oder Testumgebung an Anlagedaten testen, die von der Anlage 210 erfasst werden, beispielsweise kann er die Datenflüsse 212, 214, 216, gespeicherte Archivdaten oder irgendwelche anderen Daten verwenden. Die Rule-Builder-Anwendung kann in der Testumgebung arbeiten und kann Analyseergebnisse 230 beispielsweise für Analyse- und Regeltestungszwecke an den Ingenieur an der Station 224 zurückliefern. Darüber hinaus kann der Ingenieur an der Station 224, wenn eine Regel fertig ist, die Regel zur Verwendung in der Online-Analyse, die von der Analysemaschine 220 durchgeführt wird, an der Datenbank 226 veröffentlichen. Hierbei können die Regeln in der Datenbank 226 dazu dienen, Ereignisse oder andere Daten in den Datenflüssen 212, 214, 216 aus der Anlage 210 zu überwachen und Analysen auf Basis bestimmter Ereignisse oder anderer Daten in diesen Datenflüssen zu generieren.
-
Die folgenden zusätzlichen Überlegungen gelten für die bisherige Erörterung. In der gesamten Beschreibung kann eine Mehrzahl von Einrichtungen Komponenten, Operationen oder Strukturen implementieren, die als Einzahl beschrieben sind. Auch wenn einzelne Operationen einer oder mehrerer Routinen oder Verfahren als separate Operationen dargestellt und beschrieben sind, kann eine oder können mehrere von den einzelnen Operationen gleichzeitig ausgeführt werden, und es ist keineswegs notwendig, dass die Operationen in der dargestellten Reihenfolge durchgeführt werden. Strukturen und Funktionen, die in Konfigurationsbeispielen als separate Komponenten präsentiert werden, können als kombinierte Struktur oder Komponente implementiert werden. Ebenso können Strukturen und Funktionen, die als einzelne Komponente präsentiert werden, als separate Komponenten implementiert werden. Diese und andere Variationen, Modifikationen, Hinzufügungen und Verbesserungen liegen im Bereich des Gegenstands der vorliegenden Offenbarung.
-
Außerdem werden bestimmte Ausführungsformen hierin so beschrieben, dass sie Logik oder eine Anzahl von Komponenten, Modulen oder Mechanismen oder Einheiten beinhalten. Jedes dieser Module und jede dieser Einheiten, Komponenten usw. kann entweder aus Software-Modulen (z.B. Code, der auf einem nichtflüchtigen, maschinenlesbaren Medium gespeichert ist) oder aus Hardware-Modulen bestehen. Ein Hardware-Modul ist eine materielle Einheit, die in der Lage ist, bestimmte Operationen durchzuführen, und kann auf bestimmte Weise konfiguriert oder angeordnet sein. In Ausführungsbeispielen kann bzw. können ein oder mehrere Computersysteme (z.B. ein eigenständiges, ein Client- oder ein Server-Computersystem) oder ein oder mehrere Hardware-Module eines Computersystems (z.B. ein Prozessor oder eine Gruppe von Prozessoren) von Software (z.B. einer Anwendung oder einem Teil einer Anwendung) als Hardware-Modul konfiguriert werden, das dazu dient, bestimmte Operationen durchzuführen wie hierin beschrieben.
-
Ein Hardware-Modul kann eine zweckgebundene Schaltung oder Logik umfassen, die permanent konfiguriert ist (z.B. als Prozessor, der einem bestimmten Zweck dient, beispielsweise als im Feld programmierbare Gatteranordnung (field programmable gate array, FPGA) oder als anwendungsspezifische integrierte Schaltung (application-specific integrated circuit, ASIC)), um bestimmte Operationen durchzuführen. Ein Hardware-Modul kann auch programmierbare Logik oder Schaltung beinhalten (wie sie z.B. in einem nicht zweckgebundenen Prozessor oder anderem programmierbarem Prozessor vorhanden ist), die von Software nichtpermanent so konfiguriert wird, dass sie bestimmte Operationen durchführt. Man beachte, dass die Entscheidung, ein Hardware-Modul in einer zweckgebundenen und permanent konfigurierten Schaltung oder in nichtpermanent konfigurierter Schaltung (z.B. durch Software konfiguriert) zu implementieren, auf Kosten- und Zeitaufwandsüberlegungen basieren kann.
-
Somit sollten die hierin verwendeten Hardware-Begriffe so verstanden werden, dass sie materielle Einheiten umfassen, seien dies nun Einheiten, die physisch so aufgebaut, permanent so konfiguriert (z.B. verdrahtet) oder nichtpermanent so konfiguriert (z.B. programmiert) sind, dass sie auf bestimmte Weise arbeiten oder dass sie bestimmte hierin beschriebene Operationen durchführen. Was die Ausführungsformen betrifft, in denen Hardware-Module permanent konfiguriert (z.B. programmiert sind), so muss nicht jedes von den Hardware-Modulen zu jedem Zeitpunkt konfiguriert oder instanziiert sein. Wenn die Hardware-Module beispielsweise einen nicht-zweckgebundenen Prozessor umfassen, der unter Verwendung von Software konfiguriert wird, dann kann der nicht-zweckgebundene Prozessor als jeweils unterschiedliche Hardware-Module zu unterschiedlichen Zeiten konfiguriert werden. Software kann demgemäß einen Prozessor konfigurieren, beispielsweise, um zu einem bestimmten Zeitpunkt ein bestimmtes Hardware-Modul zu bilden und zu einem anderen Zeitpunkt ein anderes Hardware-Modul zu bilden.
-
Hardware- und Software-Module oder -Routinen können Informationen für andere Hardware- und/oder Software-Module und -Routine bereitstellen oder von diesen empfangen. Somit können die beschriebenen Hardware-Module als kommunikationstechnisch verbunden betrachtet werden. Wo mehrere solcher Hardware- oder Software-Module gleichzeitig vorliegen, kann eine Kommunikation über Signalübertragung (z.B. über geeignete Schaltungen, Leitungen und Busse), mit der die Hardware- oder Software-Module verbunden werden, erreicht werden. In Ausführungsformen, wo mehrere Hardware-Module oder Software zu unterschiedlichen Zeiten konfiguriert oder instanziiert werden, kann eine Kommunikation zwischen solchen Hardware- oder Software-Modulen beispielsweise durch die Speicherung und Abrufung von Informationen in Speicherstrukturen, auf welche die mehreren Hardware- oder Software-Module Zugriff haben, erreicht werden. Zum Beispiel kann ein Hardware- oder Software-Modul eine Operation durchführen und das Ergebnis dieser Operation in einer Speichervorrichtung speichern, mit der es kommunikationstechnisch gekoppelt ist. Ein weiteres Hardware- oder Software-Modul kann dann zu einem späteren Zeitpunkt auf die Speichervorrichtung zugreifen, um das gespeicherte Ergebnis abzurufen und zu verarbeiten. Hardware- und Software-Module können auch eine Kommunikation mit Eingabe- oder Ausgabevorrichtungen initiieren und können an einer Ressource operieren (z.B. erfassten Informationen).
-
Die verschiedenen Operationen von hierin als Beispiel beschriebenen Verfahren können zumindest zum Teil von einem oder von mehreren Prozessoren durchgeführt werden, die nichtpermanent (z.B. Software) konfiguriert sind oder die permanent konfiguriert sind, um die betreffenden Operationen durchzuführen. Solche Prozessoren, egal ob vorübergehend oder permanent konfiguriert, können prozessorimplementierte Module bilden, die dazu dienen, eine oder mehrere Operationen oder Funktionen durchzuführen. Die hierin genannten Module können in manchen Ausführungsformen prozessorimplementierte Module beinhalten.
-
Ebenso können die hierin beschriebenen Verfahren oder Routinen zumindest zum Teil prozessorimplementiert sein. Zum Beispiel können zumindest einige der Operationen eines Verfahrens von einem oder von Prozessoren oder prozessorimplementierten Hardware-Modulen durchgeführt werden. Die Durchführung von bestimmten Operationen kann auf den einen oder die mehreren Prozessoren verteilt werden, die nicht nur in einer einzigen Maschine liegen, sondern auf eine Anzahl von Maschinen verteilt sind. In manchen Ausführungsbeispielen kann der Prozessor bzw. können die Prozessoren an ein und demselben Ort stehen (z.B. innerhalb einer Anlagenumgebung, einer Büroumgebung oder als Server-Farm), während die Prozessoren in anderen Ausführungsformen auf eine Anzahl von Standorten verteilt sein können.
-
Manche Teile dieser Beschreibung werden als Algorithmen oder symbolische Darstellungen von Operationen oder Daten, die als Bits oder binäre digitale Signale innerhalb eines Maschinengedächtnisses (z.B. eines Computerspeichers) gespeichert sind, präsentiert. Diese Algorithmen oder symbolischen Darstellungen sind Beispiele für Techniken, die von Fachleuten auf dem Gebiet der Datenverarbeitung verwendet werden, um die Substanz ihrer Arbeit anderen Fachleuten mitzuteilen. Wie hierin verwendet ist eine „Anwendung“, ein „Algorithmus“ oder eine „Routine“ eine in sich stimmige Abfolge von Operationen oder ähnliche Verarbeitung, die zu einem gewünschten Ergebnis führt. In diesem Kontext beinhalten Anwendungen, Algorithmen, Routinen und Operationen physische Manipulationen physischer Größen. Typischerweise, aber nicht notwendigerweise, können solche Größen die Form von elektrischen, magnetischen oder optischen Signalen haben, die von einer Maschine gespeichert, abgerufen, übertragen, kombiniert, vergleichen oder auf andere Weise manipuliert werden können. Manchmal ist es zweckmäßig, hauptsächlich aus Gründen des allgemeinen Sprachgebrauchs, solche Signale mit Worten wie „Daten“, „Inhalt“, „Bits“, „Werte“, „Elemente“, „Symbole“, „Zeichen“, „Begriffe“, „Zahlen“, „Nummern“ oder dergleichen zu benennen. Diese Wörter sind jedoch nur bequeme Etikettierungen und müssen mit geeigneten physischen Größen assoziiert werden.
-
Solange nicht ausdrücklich etwas anderes angegeben ist, können Erörterungen hierin, die Wörter wie „verarbeiten“, „berechnen“, „kalkulieren“, „bestimmen“, „präsentieren“, „anzeigen“ oder dergleichen verwenden, auf Aktionen oder Prozesse einer Maschine (z.B. eines Computers) bezogen sein, die Daten manipuliert oder transformiert, die als physische (z.B. elektronische, magnetische oder optische) Größen innerhalb eines oder mehrerer Speicher (z.B. in einem flüchtigen Speicher, einem nichtflüchtigen Speicher oder einer Kombination davon), Register oder anderen Maschinenkomponenten, die Informationen empfangen, speichern, senden oder anzeigen, dargestellt werden.
-
Wie hierin verwendet, bedeutet jede Bezugnahme auf „eine Ausführungsform“, dass ein bestimmtes Element oder Merkmal oder eine bestimmte Struktur oder Eigenschaft, das bzw. die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform enthalten ist. Wenn die Formulierung „in einer Ausführungsform“ an verschiedenen Stellen in der Beschreibung vorkommt, bezieht sie sich nicht notwendigerweise immer auf dieselbe Ausführungsform.
-
Manche Ausführungsformen können unter Verwendung des Ausdrucks „gekoppelt“ oder „verbunden“ und deren Ableitungen beschrieben werden. Zum Beispiel können manche Ausführungsformen unter Verwendung des Begriffs „gekoppelt“ beschrieben werden, um anzugeben, dass zwei oder mehr Elemente in direktem oder physischem Kontakt stehen. Der Begriff „gekoppelt“ kann jedoch auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander stehen, aber trotzdem zusammenwirken oder miteinander interagieren. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
-
Wie hierin verwendet, sollen die Begriffe „umfasst“, „umfassend“, beinhaltet“, „einschließlich von”, „weist auf” „mit” oder irgendwelche anderen Varianten davon eine nicht-ausschließliche Einschließung abdecken. Zum Beispiel ist ein Prozess, ein Verfahren, ein Erzeugnis oder eine Vorrichtung, der bzw. die bzw. das eine Liste von Elementen umfasst, nicht unbedingt nur auf diese Elemente beschränkt, sondern kann auch andere Elemente beinhalten, die nicht ausdrücklich aufgelistet sind oder die einem solchen Verfahren oder Erzeugnis oder einer solchen Vorrichtung von Natur aus zu eigen sind. Solange ferner nicht ausdrücklich etwas Gegenteiliges angegeben ist, bezeichnet „oder“ ein inklusives Oder und kein exklusives Oder. Zum Beispiel wird eine Bedingung A oder B von einer der folgenden erfüllt: A ist wahr (oder gegeben) und B ist falsch (oder nicht gegeben), A ist falsch (oder nicht gegeben) und B ist wahr (oder gegeben) und sowohl A als auch B sind wahr (oder gegeben).
-
Zum Beispiel wird die Verwendung von „ein“ oder „eine“ verwendet, um Elemente und Komponenten der hierin beschriebenen Ausführungsformen zu beschreiben. Dies wird nur der Zweckmäßigkeit halber gemacht und um einen allgemeinen Eindruck von der Beschreibung zu geben. Die Beschreibung sollte so gelesen werden, dass sie eines oder mindestens eines umfasst und die Einzahl auch die Mehrzahl einschließt, solange nicht eindeutig etwas anderes gemeint ist.
-
Beim Lesen der Offenbarung werden einem Fachmann noch weitere, alternative strukturelle und funktionale Designs einfallen, die verwendet werden können, um eine Rule-Builder-Anwendung und ein System zur Konfigurierung und Ausführung von Analyseregeln wie hierin offenbart zu implementieren. Obwohl hierin bestimmte Ausführungsformen und Anwendungen dargestellt und beschrieben worden sind, sei klargestellt, dass die offenbarten Ausführungsformen nicht auf den präzisen Aufbau und die Ausführungsformen, die hierin offenbart sind, beschränkt sind. Verschiedene Modifikationen, Änderungen und Variationen, die für einen Fachmann naheliegend sind, können an der Anordnung, dem Betrieb und den Einzelheiten der hierin offenbarten Verfahren und Struktur vorgenommen werden, ohne vom Gedanken und Bereich gemäß der Definition in den Ansprüchen abzuweichen.