DE69811679T2 - Verfahren und systeme zur einführung eines dynamischen cachespeichers in ein überwachungssteuerungssystem - Google Patents

Verfahren und systeme zur einführung eines dynamischen cachespeichers in ein überwachungssteuerungssystem

Info

Publication number
DE69811679T2
DE69811679T2 DE69811679T DE69811679T DE69811679T2 DE 69811679 T2 DE69811679 T2 DE 69811679T2 DE 69811679 T DE69811679 T DE 69811679T DE 69811679 T DE69811679 T DE 69811679T DE 69811679 T2 DE69811679 T2 DE 69811679T2
Authority
DE
Germany
Prior art keywords
nodes
data
subsets
client
cache memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69811679T
Other languages
English (en)
Other versions
DE69811679D1 (de
Inventor
K. Canavan
C. Davis
F. Mclaughlin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honeywell Inc
Original Assignee
Honeywell Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Inc filed Critical Honeywell Inc
Application granted granted Critical
Publication of DE69811679D1 publication Critical patent/DE69811679D1/de
Publication of DE69811679T2 publication Critical patent/DE69811679T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31088Network communication between supervisor and cell, machine group
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31168Use of node, sensor, actuator and control object
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31239Cache for server to fast support client
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31341Design of factory information system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33148CLS client server architecture, client consumes, server provides services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Selective Calling Equipment (AREA)
  • General Factory Administration (AREA)
  • Multi Processors (AREA)

Description

    TECHNISCHES GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft allgemein Prozeßsteuersysteme und insbesondere ein Prozeßsteuersystem und ein Verfahren zu seinem Betrieb unter Verwendung einer Datenbank für dynamische Cache-Speicher in einem Überwachungssteuersystem.
  • ALLGEMEINER STAND DER TECHNIK
  • Viele Prozeßeinrichtungen (z. B. eine Herstellungsanlage, eine Mineral- oder Rohölraffinerie usw.) werden mit verteilten Steuersystemen verwaltet. Zu typischen derzeitigen Steuersystemen gehören zahlreiche Module, die an die Überwachung und/oder Steuerung verschiedener Prozesse der Anlage angepaßt sind. Herkömmliche Mittel verbinden diese Module miteinander, um die verteilte Beschaffenheit des Steuersystems zu erzeugen. Dies gewährt eine größere Leistungsfähigkeit und eine Möglichkeit, das Steuersystem zu erweitern oder zu reduzieren, um sich ändernden Anlagenbedürfnissen zu genügen.
  • Prozeßeinrichtungsverwaltungsanbieter, wie zum Beispiel Honeywell, Inc., entwickeln Steuersysteme, die angepaßt werden können, um vielfältige Prozeßanforderungen (z. B. global, lokal oder anderweitig) und Einrichtungstypen (z. B. Herstellung, Warehousing, Raffinerie usw.) zu erfüllen. Solche Anbieter haben zwei Hauptziele. Das erste Ziel ist die Zentralisierung der Steuerung so vieler Prozesse wie möglich, um die Gesamteffizienz der Einrichtung zu verbessern. Das zweite Ziel ist die Unterstützung einer gemeinsamen Schnittstelle, die Daten zwischen verschiedenen die Prozesse steuernden und überwachenden Modulen übermittelt und auch mit dieser zentralisierten Steuerung oder Bedienerzentrale austauscht.
  • Jeder Prozeß oder jede Gruppe assoziierter Prozesse weist eine oder mehrere Eingangskenngrößen (z. B. Strömungsgeschwindigkeit, Zuführung, Stromversorgung usw.) und eine oder mehrere Ausgangskenngrößen (z. B. Temperatur, Druck usw.) auf, die ihm bzw. ihr zugeordnet sind. Techniken der modellprädikativen Steuerung ("MPC") wurden zur Optimierung bestimmter Prozesse als Funktion solcher Kenngrößen verwendet. Eine MPC-Technik verwendet algorithmische Darstellungen bestimmter Prozesse zur Abschätzung von Kenngrößenwerten (dargestellt als Parameter, Variablen usw.), die ihnen zugeordnet sind, die zur besseren Steuerung solcher Prozesse verwendet werden können. In den letzten Jahren wurden physische, ökonomische und andere Faktoren in Steuersysteme für diese zugeordneten Prozesse integriert.
  • Beispiele für solche Techniken werden in dem US-Patent Nr. 5,351,184 mit dem Titel "Method of Multivariable Predictive Control Utilizing Range Control", dem US- Patent Nr. 5,561,599 mit dem Titel "Method of Incorporating Independent Feedforward Control in a Multivariable Predictive Controller", dem US-Patent Nr. 5,572,420 mit dem Titel "Method of Optimal Controller Design of Multivariable Predictive Control Utilizing Range Control" und dem US-Patent Nr. 5,574,638 mit dem Titel "Method of Optimal Scaling of Variables in a Multivariable Predictive Controller Utilizing Range Control" beschrieben, die alle dem Halter der vorliegenden Erfindung gehören und auf die hiermit ausdrücklich für alle Zwecke Bezug genommen wird (die obigen ausgegebenen Patente und die US-Patentanmeldung laufende Nr. 08/490,499, auf die zuvor ausdrücklich Bezug genommen wurde, werden hier zusammen als die "Patente und Anmeldung von Honeywell" bezeichnet).
  • Die zur Überwachung und Steuerung eines Prozesses verwendeten verteilten Steuersysteme werden häufig durch gemeinsame Kommunikationswege verbunden, wie zum Beispiel durch eine Architektur eines lokalen Netzwerks (LAN) oder durch die Architektur eines großflächigen Netzwerks (WAN). Wenn ein anfordernder Knoten ein Datenartikel von einem antwortenden Knoten benötigt, gibt er eine Anforderung des Datenartikels über das Netzwerk aus, und der antwortende Knoten gibt den Datenartikel über das Netzwerk zurück. Viele Prozeßsteuersysteme verwenden ein mit einem oder mehreren Prozeßsteuernetzen integriertes Überwachungssteuer-LAN oder -WAN. Die Prozeßsteuernetze enthalten die grundlegenden unverarbeiteten Daten, die von dem Überwachungssteuernetz und anderen Prozeßsteuernetzen benötigt werden.
  • In der Regel ist eine Überwachungssteuerung mit einem flexiblen Array von Prozessorsteuerungen verbunden, wobei Kommunikationstreiber verwendet werden, die an die spezifische Prozessorsteuerung angepaßt sind, die angeschaltet wird. Die Überwachungssteuerung bildet die wesentlichen Daten dieser Prozeßsteuerungen zur einheitlichen Speicherung und zum Zugriff durch einzelne Prozeßsteuerungen oder durch eine etwaige durch die Überwachungssteuerung ausgeführte Client-Anwendung auf eine durch die Überwachungssteuerung gesteuerte homogene Datenbank ab.
  • Im allgemeinen verknüpft ein Überwachungssteuernetz ein Prozeßsteuernetz bzw. Prozeßsteuernetze durch Abfragen (Scannen) in einem festen oder flexiblen Intervall nach allen Daten, die durch die Benutzerkonfiguration auf die Überwachungssteüersystemdatenbank abgebildet werden. Ein oder mehrere Serverknoten verknüpfen die lokalen und großflächigen Netzwerke der Überwachungssteuerung physisch mit dem Prozeßsteuernetzwerk bzw. den Prozeßsteuernetzwerken. Diese Serverknoten sind die Datenlager für jeden Client-Zugriff unter den Überwacher-Client-Knoten. Ein Problem entsteht jedoch, wenn die Informationsmenge in dem Prozeßsteuernetz bzw. in den Prozeßsteuernetzen größer als die Menge ist, die zusammen mit einer anhehmbaren Aktualisierungsrate abgefragt werden kann. In einem solchen Fall kann es zwei oder mehr Abfragen eines Prozeßsteuernetzes in Anspruch nehmen, alle von einer Client-Anwendung benötigten Daten abzurufen. Dies gilt insbesondere für die Client-Anwendungen, bei denen Benutzer zwischen Schirmbildern (Ansichten), die Daten von einem Prozeßsteuernetz anzeigen, hin und her schalten können.
  • Deshalb werden in der Technik verbesserte Überwachungssteuersysteme benötigt, die einer oder mehreren Client- Anwendungen einen schnelleren Zugang zu Informationen in einem oder mehreren Prozeßsteuersystemen geben. Insbesondere werden in der Technik verbesserte Überwachungssteuersysteme benötigt, die einer, oder mehreren Client-Anwendungen einen schnelleren Datenzugriff geben, als durch das periodische Abfragen der Daten erzielt werden kann.
  • Aus der US-Patentspezifikation Nr. 5598566 ist ein System zum Verteilen von Daten mit mehreren Ebenen von Software in Verarbeitungsknoten bekannt.
  • KURZE DARSTELLUNG DER ERFINDUNG
  • Die vorliegende Erfindung liefert ein System gemäß dem folgenden Anspruch 1. Das System kann die Merkmale eines beliebigen oder mehrerer der abhängigen Ansprüche 2 bis 7 enthalten.
  • Die vorliegende Erfindung liefert außerdem eine Überwachungssteuerung gemäß dem folgenden Anspruch 9. Die Steuerung kann die Merkmale eines beliebigen oder mehrerer der abhängigen Ansprüche 10 bis 15 enthalten.
  • Die vorliegende Erfindung liefert außerdem ein Verfahren gemäß dem Anspruch 16. Das Verfahren kann die Merkmale eines beliebigen oder mehrerer der abhängigen Ansprüche 17 bis 22 enthalten.
  • Somit kann ein Vorteil der vorliegenden Erfindung darin bestehen, die oben besprochenen Unzulänglichkeiten des Stands der Technik zu behandeln, indem ein Datenverteilungs- oder -ablieferungsschema bereitgestellt wird, das robust, zuverlässig, deterministisch und flexibel ist. Wie oben eingeführt wurde, enthält eine typische Prozeßeinrichtung viele zugeordnete Prozesse, von denen verschiedene verschiedenen Stufen des Gesamtprozesses zugeordnet sind (z. B. Raffinieren natürlicher Ressourcen, Filtrierung, Gas-Öl-Trennung, Fabrikations- und andere ähnliche Prozesse). Die vorliegende Erfindung führt Systeme und Verfahren ein, die die Verteilung von Informationen optimieren und die Zusammenwirkung zwischen verschiedenen Prozeßeinrichtungssteuerungen (Peer-to-Peer, Client und Server oder anderweitig) verbessern.
  • Ein Vorteil der vorliegenden Erfindung ist die Bereitstellung von Systemen und Verfahren zur Steuerung zugeordneter Prozesse in Prozeßeinrichtungen und insbesondere zur effizienten Verteilung von Daten zwischen Knoten eines Echtzeit-Prozeßsteuersystems, das die Einrichtung steuert. Ein beispielhaftes Prozeßsteuersystem enthält Sensoren, steuerbare Einrichtungen, Kommunikationswege und ein Computersystem. Die Sensoren und steuerbaren Einrichtungen sind verschiedenen der Prozesse der Einrichtung zugeordnet, und die Kommunikationswege assoziieren die Sensoren und steuerbaren Einrichtungen mit dem Computersystem. Das Computersystem operiert an Daten bezüglich der Prozeßeinrichtung und verteilt die Daten zwischen Knoten dieser.
  • Gemäß einer vorteilhaften Ausführungsform gehören zu den Knoten sowohl Client- als auch Prozeßknoten, wobei die Client-Knoten Daten wünschen, die Einrichtungsprozessen und den Prozeßknoten, die die Prozesse steuern und die deshalb die Prozeßdaten steuern, zugeordnet sind. Das Computersystem enthält neben den zugeordneten Knoten einen Cache-Speicher und eine Überwachungssteuerung. Der Cache-Speicher ist ein relativ schnelles Speichergerät, das mehrere Datensätze speichern kann. Die Überwachungssteuerung, die den Client- und Prozeßknoten zugeordnet ist, und die verteilt oder zentral sein kann, bewirkt folgendes: (i) Steuerung der Speicherung eines Teils der Prozeßdaten in den Datensätzen des Cache-Speichers und (ii) selektives Übermitteln einzelner solcher Datensätze aus dem Cache-Speicher zu den Client-Knoten. Die Client-Knoten führen Client-Anwendungen aus und treten vorzugsweise auf gemeinsame Weise mit der Überwachungssteuerung in Wechselwirkung. Auf die in den Datensätzen des Cache- Speichers gespeicherten Daten kann vor kurzem durch die Client-Knoten zugegriffen worden sein, und sie können kritische Daten sein oder auch nicht.
  • Da die von den Prozessen erzeugte Informationsmenge in der Regel viel größer ist, als was effizient insgesamt von diesen abgefragt werden kann, oder mit einer annehmbaren Auffrischrate, stellt der Cache-Speicher ein Datenlager bereit, bei dem es verglichen mit dem Abfragen eines oder mehrerer Prozesse relativ kurz dauert, Datensätze daraus abzurufen.
  • Gemäß einer verwandten Ausführungsform übermittelt die Überwachungssteuerung selektiv die Datensätze als Reaktion auf Anforderungen von den Client-Knoten. Genauer gesagt fordern die Client-Knoten bestimmte Teilmengen der Prozeßdaten an und die Überwachungssteuerung bestimmt, ob die angeforderten Teilmengen im Cache-Speicher gespeichert sind. Wenn die Teilmengen darin gespeichert sind, übermittelt die Überwachungssteuerung diese zu den Client-Knoten, andernfalls fordert sie Kopien davon von den Prozeßknoten an.
  • Bei einer alternativen Ausführungsform fordert die Überwachungssteuerung Kopien der Teilmengen von den Prozeßknoten an, und zwar zumindest im wesentlichen parallel zu der Bestimmung, ob die Teilmengen in dem Cache-Speicher gespeichert sind. Diese Ausführungsform beseitigt im wesentlichen der oben beschriebenen Ausführungsform anhaftende "Latenzen", d. h. die Zeitverzögerungen, die unverletzbar sind, wenn nach einem bestimmten Teil der angeforderten Datenteilmenge zuerst in dem Cache-Speicher gesucht wird, und dann, wenn bestimmt wird, daß diese nicht darin gespeichert sind, eine aktuelle Instanz derselben von den Prozeßknoten angefordert wird. Gemäß dieser Ausführungsform führt die Überwachungssteuerung die Anforderungen zu dem Cache-Speicher und den relevanten Prozessen zumindest nahezu parallel durch, um die oben beschriebenen Verzögerungen zu vermeiden, und fängt bei einer Bestimmung, daß sich die Teilmenge in dem Cache- Speicher befindet, die Anforderung der gewählten Instanzen der Teilmengen von den Prozeßknoten ab oder sperrt diese anderweitig.
  • Die Merkmale und technischen Vorteile der vorliegenden Erfindung wurden oben relativ allgemein umrissen, damit Fachleute die folgende ausführliche Beschreibung der Erfindung besser verstehen können. Zusätzliche Merkmale und Vorteile der Erfindung werden im folgenden beschrieben und bilden den Gegenstand der Ansprüche der Erfindung. Für Fachleute sollte erkennbar sein, daß sie ohne weiteres die offengelegte Konzeption und die spezifische Ausführungsform als Grundlage zur Modifikation oder zum Entwurf anderer Strukturen zur Ausführung derselben Zwecke der vorliegenden Erfindung verwenden können. Außerdem sollte für Fachleute erkennbar sein, daß solche äquivalenten Konstruktionen nicht vom Gedanken und Schutzumfang der Erfindung in ihrer allgemeinsten Form abweichen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Für ein besseres Verständnis der vorliegenden Erfindung und ihrer Vorteile wird nun auf die folgenden Beschreibungen in Verbindung mit den beigefügten Zeichnungen, in denen gleiche Zahlen gleiche Objekte kennzeichnen, Bezug genommen. Es zeigen:
  • Fig. 1 ein Blockschaltbild einer Prozeßeinrichtung, mit der ein Steuersystem gemäß den Prinzipien der vorliegenden Erfindung verwendet werden kann;
  • Fig. 2 ein Prozeßsteuersystem, das eine Überwachungssteuerung enthält, die einen dynamischen Cache-Speicher gemäß einer Ausführungsform der vorliegenden Erfindung enthält;
  • Fig. 3 ein Flußdiagramm der Anfangskonfiguration und der nachfolgenden Routineoperation der Überwachungssteuerung; und
  • Fig. 4A-4C ein Flußdiagramm, das die Funktionsweise des Cache-Managers und des dynamischen Cache-Speichers ausführlicher zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die nachfolgend besprochenen Fig. 1 bis 4 und die verschiedenen Ausführungsformen, mit denen die Prinzipien der vorliegenden Erfindung in dieser Patentschrift beschrieben werden, dienen lediglich zur Veranschaulichung und sollten auf keinerlei Weise als Einschränkung des Schutzumfanges der Erfindung aufgefaßt werden. Für Fachleute ist erkennbar, daß die Prinzipien der vorliegenden Erfindung in einer beliebigen geeignet angeordneten Prozeßeinrichtung implementiert werden können.
  • Fig. 1 zeigt ein Blockschaltbild einer Prozeßeinrichtung 100, in der ein Steuersystem gemäß den Prinzipien der vorliegenden Erfindung implementiert werden kann. Die beispielhafte Prozeßeinrichtung 100 verarbeitet Rohmaterialien und enthält eine Steuerzentrale 105 und sechs zugeordnete Prozesse (Elemente 110a-110f), die in drei Stufen angeordnet sind. Der Begriff "enthalten" bedeutet hierbei Einschluß ohne Einschränkung. Die beispielhafte Steuerzentrale 105 kann einen zentralen Bereich umfassen, der gewöhnlich mit einem (nicht gezeigten) Bediener besetzt ist, um die drei beispielhaften Prozeßstufen zu überwachen und zu steuern. Eine erste Prozeßstufe enthält drei Rohmaterialmühlen 110a- 110c, die einen "Zustrom" von Rohmaterial erhalten und dieses zum Beispiel durch Verwendung einer Feinmahlanlage oder eines Mühlsteins zu kleineren Partikeln von Rohmaterial mahlen. Die zweit e Prozeßstufe enthält eine Waschanlage 110d, die die gemahlenen Rohmaterialien empfängt und diese reinigt, um Reste aus der ersten Stufe zu entfernen. Die dritte Prozeßstufe enthält zwei Trennvorrichtungen 110e und 210f, die die gemahlenen und gewaschenen Rohmaterialien empfangen und diese in gewünschte Mineralien und etwaige verbleibende Rohmaterialien auftrennt. Da diese Prozeßeinrichtung lediglich zur Veranschaulichung angegeben wird, und die Prinzipien einer solchen Einrichtung wohlbekannt sind, liegt eine weitere Besprechung dieser außerhalb des Umfangs der vorliegenden Patentschrift und ist unnötig.
  • Das beispielhafte Steuersystem enthält eine Überwachungssteuerung 120 und sechs Prozeßknoten oder Prozeßsteuerungen 125a-125f, die jeweils in Software implementiert sind und durch ein geeignetes herkömmliches Datenverarbeitungssystem (selbständig oder vernetzt) ausgeführt werden können, wie zum Beispiel durch ein beliebiges der Systeme AM K2LCN, AM K4LCN, AM HMPU, AxM der Honeywell Inc. oder ähnliche Systeme. Für Fachleute ist erkennbar, daß solche Steuerungen in Hardware, Software oder Firmware oder in einer bestimmten geeigneten Kombination dieser implementiert werden können. Im allgemeinen ist die Verwendung von Datenverarbeitungssystemen in Steuersystemen für Prozeßeinrichtungen wohlbekannt.
  • Jeder der Prozeßsteuerungen 125 ist direkt oder indirekt eine Überwachungssteuerung 120 zugeordnet, um den Austausch von Informationen zu ermöglichen. Der Ausdruck "zugeordnet zu" und seine Ableitungen können hierbei Einschluß in, Verbindung mit, Enthaltung, enthalten sein in, Verbindung zu oder mit, Kopplung zu oder mit, kommunizierbar sein mit, Zusammenwirkung mit, Verschachtelung, Eigenschaft von, Einschränkung auf oder mit, aufweisen, Eigenschaft aufweisen oder dergleichen bedeuten. Die Überwachungssteuerung 120 überwacht Kenngrößen (z. B. Status, Temperatur, Druck, Strömungsgeschwindigkeit, Strom, Spannung, Energie, Ausnutzung, Effizienz, Kosten und andere ökonomische Faktoren usw.) der zugeordneten Prozesse 110 entweder direkt oder indirekt durch die Prozeßsteuerungen 125, die dem Prozeß 110 zugeordnet sind. Abhängig von der spezifischen Implementierung kann eine solche Überwachung für einen einzelnen Prozeß, eine Gruppe von Prozessen oder die gesamte Einrichtung ausgeführt werden.
  • Die Überwachungssteuerung 120 kommuniziert über die Prozeßsteuerungen 125 mit den zugeordneten Prozessen 110 und erzeugt Überwachungsdaten, um die Prozeßeinrichtung 100 zu optimieren. Der Ausdruck "Überwachungsdaten" ist hier definiert als jeder beliebige numerische, qualitative oder anderweitige Wert, der von der Überwachungssteuerung 120 erzeugt wird, um zum Beispiel einen bestimmten Prozeß, eine Gruppe von Prozessen, die gesamte Einrichtung, eine Prozeßstufe, eine Gruppe von Stufen, eine Sequenz von Prozessen oder Stufen oder dergleichen zu steuern (z. B. zu dirigieren, zu verwalten, zu modifizieren, zu empfehlen, zu regulieren, vorzuschlagen, zu überwachen, zusammenzuwirken usw.), um die Einrichtung als Ganzes zu optimieren. Bei einer bevorzugten Ausführungsform werden die Überwachungsdaten dynamisch erzeugt und basieren mindestens auf der Effizienz einer gegebenen Einrichtung, Produktions- oder ökonomischen Kosten und ganz besonders bevorzugt allen Dreien.
  • Die Prozeßsteuerungen 125 überwachen zugeordnete Prozesse 110 und wirken in variierenden Maßen gemäß den Überwachungsdaten, um die zugeordneten Prozesse zu steuern und insbesondere, um einen oder mehrere Prozesse zu modifizieren und die überwachten Kenngrößen und die Einrichtung als Ganzes zu verbessern. Die Beziehung zwischen der Überwachungssteuerung 120 und verschiedenen der Prozeßsteuerungen 125 kann vom Typ Master-Slave (volles Gehorchen), Zusammenwirkung (variierendes Gehorchen, wie zum Beispiel durch Verwendung der Überwachungsdaten als Faktor bei der Steuerung der zugeordneten Prozesse), oder vollständige Nichtbeachtung (Nichtgehorchen) sein. Abhängig von der spezifischen Implementierung und den Bedürfnissen einer gegebenen Einrichtung kann die Beziehung zwischen der Überwachungssteuerung 120 und einer spezifischen Prozeßsteuerung 125 statisch sein (d. h. immer nur entweder Gehorchen, Zusammenarbeit oder Nichtgehorchen), dynamisch (d. h. zeitveränderlich, wie zum Beispiel in einem Bereich zwischen Gehorchen und Nichtgehorchen oder einem geringeren Bereich dazwischen) oder kann zwischen statischen und dynamischen Zeiträumen wechseln.
  • Fig. 1 zeigt die Prozeßsteuerungen 125a-f lediglich zur Veranschaulichung als einfache logische Blöcke, die an die Prozesse 110a-f angekoppelt sind. In der Realität können die Prozeßsteuerungen 125a-f in der Prozeßeinrichtung 100 genauso wie vielfältige Vorrichtungen implementiert sein. Bei den einfachsten Ausführungsformen kann eine beispielhafte Prozeßsteuerung 125 eine Mikrosteuerungsschaltung sein, die auf einer Leiterplatte hergestellt und in einem der Prozesse 110 (d. h. als Teil einer Trennvorrichtung, Waschanlage oder Mühle) integriert ist, der gesteuert wird. Bei anderen Ausführungsformen kann eine beispielhafte Prozeßsteuerung 125 ein selbständiger Computer sein, wie zum Beispiel ein PC (Personal Computer), der von dem gesteuerten Prozeß 110 abgesetzt und durch eine Busarchitektur an diesen angekoppelt ist.
  • Bei komplexeren Ausführungsformen kann eine beispielhafte Prozeßsteuerung 125 ein Netzwerkknoten sein, der durch eine Netzwerkarchitektur an einen oder mehrere Prozesse 110 angekoppelt ist. Die Überwachungssteuerung 120 kann dann das die beispielhafte Prozeßsteuerung 125 und ihre zugeordneten Prozesse 110 enthaltende Netzwerk als eine einzige funktionale Gruppe behandeln. Schließlich kann eine beispielhafte Prozeßsteuerung 125 eine Gruppe von Prozeßsteuerungen und ihre zugeordneten Prozesse 110 sein, die miteinander vernetzt werden. Die vernetzte Gruppe kann dann von der Überwachungssteuerung 120 als eine einzige funktionale Gruppe behandelt werden.
  • Die Prozeßsteuerungen 125a-f erzeugen Prozeßdaten, die von der Überwachungssteuerung 120 für vielfältige Zwecke verwendet werden, darunter das Erzeugen der Überwachungsdaten und das Verteilen der Prozeßdaten zu einer oder mehreren Client-Anwendungen. Prozeßdaten können auch von der Prozeßsteuerung 125, die sie erzeugt hat, zur Steuerung des zugeordneten Prozesses 110 verwendet werden. Zum Beispiel kann eine Prozeßsteuerung 125 physische Parameterdaten von einem Prozeß 110 lesen, wie zum Beispiel Temperatur, Druck, Strömungsgeschwindigkeit und dergleichen, und einen Teil oder alle dieser Prozeßdaten und möglicherweise einige Überwachungsdaten zur Steuerung des Prozesses 110 verwenden. Dies gilt insbesondere für einen Prozeß mit Regelschleife.
  • Prozeßdaten können direkt zwischen Prozeßsteuerungen 125a-f in einer Peer-to-Peer-Beziehung wie in einem LAN-Netzwerk transferiert werden. Zum Beispiel kann die Prozeßsteuerung 4, die die Waschanlage (Element 110d) steuert, Prozeßdaten von den Prozeßsteuerungen 1-3 anfordern, die die Mühlen 1-3 steuern, um die Geschwindigkeit zu bestimmen, mit der die Mühlen 1-3 gemahlenes Rohmaterial ausgeben. Die Waschanlage kann dadurch die Geschwindigkeit einstellen, mit der sie das gemahlene Material wäscht. Zum Beispiel kann die Waschanlage ihren Energieverbrauch beim Waschen des gemahlenen Rohmaterials reduzieren, wenn die Menge an zu der Waschanlage gesendetem gemahlenen Rohmaterial relativ niedrig ist. Sie kann sich sogar vorübergehend abschalten, um darauf "zu warten", daß sich eine geeignete Menge an gemahlenem Rohmaterial ansammelt, bevor sie das Waschen wieder aufnimmt.
  • Bei bestimmten Ausführungsformen der vorliegenden Erfindung kann die Überwachungssteuerung 120 ein LAN, eine Gruppe verbundener LANs oder eine WAN-Architektur umfassen. Auf Knoten der LAN-WAN-Architektur werden eine oder mehrere Client-Anwendungen ausgeführt. Die Knoten können zum Beispiel PCs (Personal Computers) sein. Die Client-Anwendungen können alle erfordern, daß dieselben Prozeßdaten und dieselbe Überwachung mit derselben Aktualisierungsrate aus den Prozeßsteuerungen transferiert werden. Ein wahrscheinlicheres Szenario ist jedoch, daß die Client-Anwendungen verschiedene und sich möglicherweise überlappende Teilmengen der Prozeßdaten und Überwachungsdaten benötigen und erfordern, daß die Prozeßdaten und Überwachungsdaten mit verschiedenen Aktualisierungsraten zu verschiedenen Client-Anwendungen transferiert werden.
  • Um den Gesamtdatenverkehr möglichst gering zu halten und Engpässe in stark angeforderten Prozeßsteuerungen 125 zu vermeiden, implementiert eine bevorzugte Ausführungsform der vorliegenden Erfindung ein neuartiges Verfahren zum Verteilen einer größeren Menge an zyklischen Daten auf deterministische Weise von mehreren Knoten, die die Daten enthalten, zu mehreren Knoten, die die Daten benötigen. Man erreicht dies durch ein Publikations-/Abonnement-Verteilungsschema, durch das Daten von einem Knoten, der die Daten enthält (d. h. einer Veröffentlichersteuerung), zu einem Knoten, der die Daten benötigt (d. h. Abonnementsteuerung), transferiert werden können, ohne daß die Abonnementensteuerung die Daten wiederholt (zyklisch) anfordern muß. Das Publikations- und Abonnementschema zum Verteilen von Daten wird ausführlicher in der gleichzeitig anhängigen US-Patentanmeldung, laufende Nr. (Aktenzeichen Nr. HWEL01-00169) mit dem Titel "Systems and Methods for Accessing Data Using Cyclic Publish/Subscribe Scheme with Report by Exception", beschrieben, wobei diese Anmeldung zuvor so durch Bezugnahme in die vorliegende Offenlegung aufgenommen wurde, als ob sie vollständig darin dargelegt wäre.
  • Im allgemeinen verknüpft die Überwachungssteuerung 120 die Prozeßsteuerungen 125a-f durch Abfragen (Scannen) mit einem festen oder flexiblen Intervall für alle Prozeßdaten, die durch Benutzerkonfiguration auf die der Überwachungssteuerung 120 zugeordnete Datenbank abgebildet werden. Wie bereits erwähnt, entsteht jedoch ein Problem, wenn die Informationsmenge in dem Netzwerk bzw. den Netzwerken der Prozeßsteuerung 125a-f größer als die ist, die zusammen mit einer akzeptablen Aktualisierungsrate abgefragt werden kann. In einem solchen Fall kann es zwei oder mehr Abfragen einer oder mehrerer der Prozeßsteuerungen 125a-f in Anspruch nehmen, alle von den Client-Anwendungen benötigten Prozeßdaten abzurufen. Dies gilt insbesondere für die Client-Anwendungen, bei denen Benutzer zwischen Schirmbildern (Ansichten), die eine relativ große Menge an Prozeßdaten aus einem Prozeßsteuernetz anzeigen, wobei die Prozeßdaten häufig ihren Wert wechseln können, hin- und herschalten können.
  • Um dieses Problem zu überwinden, implementiert die vorliegende Erfindung einen schnellen dynamischen Cache-Speicher, der der Überwachungssteuerung 120 zugeordnet ist, die Prozeßdaten schneller als die Rate, mit der die Prozeßsteuerungen 125a-f die Prozeßdaten transferieren können, zu den Client-Anwendungen transferiert (diese aktualisiert). Bei der vorliegenden Erfindung bedeutet der Begriff "dynamisch" in Verbindung mit dem Cache-Speicher die Möglichkeit des Cache-Speichers, Prozeßdaten und/oder Überwachungsdaten von aktuellem oder jüngstem Interesse für die Client- Anwendungen, die mit dem Bereich der Überwachungssteuerung 120 kommunizieren, zu halten. Der dynamische Cache-Speicher liefert eine flexiblere Abbildung zwischen dem Bereich der Überwachungssteuerung 120 und dem Bereich der Prozeßsteuerungen 125a-f.
  • Bei einer Ausführungsform der vorliegenden Erfindung können ein oder mehrere Server-Knoten physisch die Überwachungssteuerung 120 mit den Prozeßsteuerungen. 125a-f verknüpfen. Diese Server-Knoten sind die Datenlager für alle Client-Zugriffe unter den Client- Knoten der Überwachungssteuerung. Die Überwachungssteuerung 125 bildet die wesentlichen Prozeßdaten der Prozeßsteuerungen 125a-f zur einheitlichen Speicherung und zum Zugriff durch einzelne Prozeßsteuerungen 125a-f oder durch eine beliebige durch die Überwachungssteuerung 125 ausgeführte Client-Anwendung auf eine homogene Datenbank ab, die durch die Überwachungssteuerung 125 gesteuert wird.
  • Fig. 2 zeigt ein Prozeßsteuersystem 200, das eine Überwachungssteuerung 120 enthält, die einen dynamischen Cache-Speicher 215 gemäß einer Ausführungsform der vorliegenden Erfindung enthält. Das Prozeßsteuersystem 300 umfaßt außerdem mehrere Client- Knoten 201-203, die an die Überwachungssteuerung 120 angekoppelt sind. Auf jedem der Client-Knoten 201-203 sind eine oder mehrere Client-Anwendungen verankert und werden in Verbindung mit der Überwachungssteuerung 120 durch den Client-Knoten ausgeführt.
  • Zur Vereinfachung der folgenden Beschreibung von Fig. 2 werden eine Prozeßsteuerung 125 und ihr zugeordneter Prozeß bzw. ihre zugeordneten Prozesse 110 zusammen als "Prozeßknoten" bezeichnet. Die Überwachungssteuerung 120 ist an mehrere Prozeßknoten 204-206 angekoppelt. Die Überwachungssteuerung 120 enthält eine Treiberschnittstellenschicht 225 aus mehreren Kommunikationstreibern 231-233. Die Kommunikationstreiber 231-233 sind mit entsprechenden der Prozeßknoten 204-206 kompatibel und dienen zum periodischen oder aperiodischen Abrufen von Prozeßdaten von den Prozeßknoten 204-206, um den dynamischen Cache-Speicher 215 zu aktualisieren, Die Kommunikationstreiber wickeln außerdem einmalige Lese-/Schreibanforderungen von der Überwachungssteuerung 120 zu/von den Prozeßknoten 204-206 ab.
  • Die Überwachungssteuerung 120 wickelt Datenlese-/Datenschreibanforderungen von den Client-Knoten 201-203 gemäß gemeinsamer Protokolle, wie zum Beispiel den Anwendungsprogrammierschnittstellen (APIs), ab. Die Datenzugriffsanforderungen von den Client-Knoten 201- 203 werden hauptsächlich aus dem dynamischen Cache- Speicher 220 abgerufen bzw. in diesen geschrieben, wobei gelegentlich einmalige Dienstanforderungen zum Zugriff auf selten verwendete Prozeßdaten in den Prozeßknoten 204-206 erfolgen.
  • Wenn eine Client-Anwendung Prozeßdaten benötigt, wird eine Datenanforderung zu der Überwachungssteuerung 120 gesendet und in dem Cache-Manager 220 empfangen. Bei einer Ausführungsform der vorliegenden Erfindung durchsucht der Cache-Manager 220 zuerst den dynamischen Cache-Speicher 220 nach den angeforderten Prozeßdaten. Wenn die Prozeßdaten gefunden werden (ein Cache- Treffer), transferiert der Cache-Manager 220 die Prozeßdaten zu der anfordernden Client-Anwendung, und die Transaktion wird beendet. Wenn die Daten nicht gefunden werden (ein Cache-Verfehlen), fordert der Cache-Manager 220 dann die Prozeßdaten von dem entsprechenden der Prozeßknoten 204-206 an. Wenn die Überwachungssteuerung 120 die Prozeßdaten von dem Prozeßknoten empfängt, schreibt der Cache-Manager 215 die Prozeßdaten in den dynamischen Cache-Speicher 215 und transferiert die Prozeßdaten zu der Client- Anwendung, die sie ursprünglich angefordert hat.
  • Bei alternativen Ausführungsformen der vorliegenden Erfindung sucht, wenn der Cache-Manager 220 eine Anforderung von Prozeßdaten von einer Client-Anwendung empfängt, der Cache-Manager im wesentlichen gleichzeitig in dem dynamischen Cache-Speicher 215 nach den Prozeßdaten und gibt eine Anforderung der Prozeßdaten an den entsprechenden Prozeßknoten aus, der die Prozeßdaten hält. Wenn es zu einem Cache-Treffer kommt, wird die Datenanforderung an den Prozeßknoten aufgehoben. Wenn es zu einem Cache-Verfehlen kommt, wartet der Cache-Manager 220 darauf, daß die Prozeßdaten als Reaktion auf die bereits gesendete Datenanforderung von dem Prozeßknoten zurückgegeben werden. Wenn die Prozeßdaten nach einem Cache-Verfehlen aus dem Prozeßknoten empfangen werden, werden die Prozeßdaten erneut sowohl in den dynamischen Cache-Speicher 215 geschrieben als auch zu der Client-Anwendung transferiert, die sie ursprünglich angefordert hat.
  • Prozeßdaten werden aus dem dynamischen Cache-Speicher 215 auf der Grundlage der Zeit des letzten Zugriffs entfernt, so daß die ältesten Prozeßdaten entfernt werden, um Platz für neue Prozeßdaten zu schaffen. Immer wenn die Überwachungssteuerung 120 Prozeßdaten abruft, die gerade Cache-gespeichert werden, wird der Cache-Eintrag mit einem Zeitstempel versehen, um die Zugriffszeit anzugeben. Dies wird als Hintergrundaktivität durch den Cache-Manager 220 ausgeführt, so daß die Vordergrundaktivitäten des Aktualisierens mit neuen Prozeßdaten und des Versorgens von Client-Knotendatenanforderungen nicht unterbrochen werden.
  • Bei einer bevorzugten Ausführungsform der vorliegenden Erfindung kann die Überwachungssteuerung 120 mehrere Server-Knoten umfassen, die mindestens einen primären dynamischen Cache-Speicher und einen sekundären dynamischen Cache-Speicher bereitstellen. Der sekundäre dynamische Cache-Speicher gibt den Inhalt des primären dynamischen Cache-Speichers wieder, greift aber nicht aktiv als Reaktion auf Datenanforderungen von den Client-Knoten 201-203 auf Prozeßdaten zu, solange nicht der primäre Cache-Speicher ausfällt und der sekundäre Cache-Speicher zu dem primären wird, wodurch eine Verdoppelung des Netzverkehrs vermieden wird.
  • Um die Kapazität des dynamischen Cache-Speichers 215 zu maximieren, wird nur eine Kopie jedes Prozeßdatenartikels in dem dynamischen Cache-Speicher 215 gehalten. Wenn mehrere Client-Anwendungen denselben Prozeßdatenartikel benötigen, werden alle Anforderungen dieses Datenartikels also in derselben Eingabespeicherstelle in dem dynamischen Cache-Speicher 215 gehalten. Client-Anwendungen, die Daten benötigen, auf die nur selten zugegriffen wird, können eine API benutzen, um anzugeben, daß die Prozeßdatenanforderung eine nicht zyklische oder nicht häufige Anforderung ist. Die Überwachungssteuerung 120 transferiert den Prozeßdatenartikel, auf den nicht häufig zugegriffen wird, direkt zu der anfordernden Client-Anwendung, aufgrund der relativen Seltenheit der Prozeßdatenanforderung fügt sie jedoch keinen neuen Eintrag hinzu, nachdem ein Cache-Verfehlen auftritt.
  • Wenn Daten in einen Prozeßknoten geschrieben werden, werden die Prozeßdaten direkt zu dem spezifischen Prozeßknoten transferiert, aber der Cache-Manager 220 aktualisiert den dynamischen Cache-Speicher 215 nicht auf der Grundlage dieser Schreiboperation. Stattdessen wird der dynamische Cache-Speicher 215 durch Zurücklesen der neu geschriebenen Prozeßdaten aus dem Prozeßknoten aktualisiert, wodurch sichergestellt wird, daß der Wert in dem dynamischen Cache-Speicher 215 immer derselbe wie der Wert in dem Prozeßknoten ist.
  • Fig. 3 ist ein Flußdiagramm der anfänglichen Konfiguration und der nachfolgenden Routinefunktionsweise der Überwachungssteuerung 120. Die Überwachungssteuerung 120 fragt die Prozeßknoten 204-206 und die Client-Knoten 201-203 nach dem Anschluß an das Netzwerk ab (Schritt 301) und ruft für jeden Knoten Benutzerkonfigurationsdaten ab (Schritt 302). Auf der Grundlage der Benutzerkonfigurationsdaten und der Abonnementlisten der Client-Knoten 201-203 und der Prozeßknoten 204-206 bildet die Überwachungssteuerung 120 die angeforderten Prozeßdaten auf eine der Überwachungssteuerung 120 zugeordnete homogene Datenbank ab (Schritt 303), wobei pro Datenartikel ein Eintrag zugeteilt wird, wodurch redundante Kopien desselben Datenartikels, das von mehr als einem Client-Knoten und/oder Prozeßknoten benötigt wird, beseitigt werden. Während der Routinefunktionsweise empfängt die Überwachungssteuerung 120 danach wiederholt Prozeßdatenanforderungen von Client-Anwendungen (Schritt 304) und füllt den dynamischen Cache-Speicher 215 mindestens mit einem Teil der von den Prozeßknoten 204-206 abgerufenen Prozeßdaten abhängig von der Häufigkeit, mit der ein bestimmter Prozeßdatenartikel angefordert wird und/oder davon, wie lange es her ist, daß ein Prozeßdatenartikel angefordert wurde (Schritt 305).
  • Fig. 4A-4C sind ein Flußdiagramm, das die Funktionsweise des Cache-Managers 220 und des dynamischen Cache- Speichers 215 ausführlicher zeigt. Die Strategie zur Bestimmung, ob angeforderte Prozeßdaten in dem dynamischen Cache-Speicher 215 gespeichert werden oder nicht, hängt von einer Variablen "SUBSCRIPTION PERIOD" ab, die durch einen Client-Knoten bereitgestellt wird, der Daten anfordert, und von zwei Anzeigern für die "Datenfrische", "TIME-OF-LAST-UPDATE" und "TIME-OF- LAST-ACCESS", die durch den Cache-Manager 220 und den dynamischen Cache-Speicher 215 geführt werden. Der Wert TIME-OF-LAST-UPDATE ist ein in dem dynamischen Cache- Speicher 215 gespeicherter Zeitstempel, der einem Prozeßdatenartikel zugeordnet ist, mit der Bezeichnung DATUM X, wodurch angegeben wird, wann DATUM X zuletzt aus der Prozeßsteuerung 125, die DATUM X enthält, abgerufen wurde. Der Wert TIME-OF-LAST-ACCESS ist ein in dem dynamischen Cache-Speicher 215 gespeicherter Zeitstempel, der DATUM X zugeordnet ist und angibt, wann zuletzt auf DATUM X in dem dynamischen Cache-Speicher 215 durch einen beliebigen der Client-Knoten 202-204 zugegriffen wurde.
  • Am Beginn der Cache-Funktionsweise empfängt der Cache- Manager 220 eine Client-Datenanforderung (Schritt 401) und liest den Wert SUBSCRIPTION PERIOD, der durch den anfordernden Client-Knoten spezifiziert wird (Schritt 402). Wenn der Wert SUBSCRIPTION PERIOD "Null" ist (d. h. kein Wert), führt der Client-Knoten eine "einmalige" Anforderung der Daten durch, anstatt einer periodischen Anforderung (oder eines Abonnements der angeforderten Daten). In diesem Fall prüft der Cache- Manager 220, ob sich die angeforderten Daten zufällig in dem dynamischen Cache-Speicher 215 befinden (Schritt 411).
  • Wenn die angeforderten Daten nicht Cache-gespeichert sind, lesen der Cache-Manager 220 und die Überwachungssteuerung 120 die angeforderten Daten unter Verwendung eines einmaligen Lesemechanismus von der entsprechenden Prozeßsteuerung 125, anstatt die angeforderten Daten zu abonnieren (Schritt 412). Die abgerufenen Daten werden dann in dem dynamischen Cache- Speicher 215 abgelegt (Schritt 413) und die Werte TIME- OF-LAST-UPDATE und TIME-OF-LAST-ACCESS werden in dem dynamischen Cache-Speicher 215 aktualisiert (Schritt 414). Dann werden die abgerufenen Daten zu dem anfordernden Client-Knoten gesendet (Schritt 415), und der Cache-Manager 220 beginnt den nächsten Datenanforderungszyklus (Rückkehr zum Schritt 401).
  • Wenn sich die angeforderten Daten in dem dynamischen Cache-Speicher 215 befinden, verifiziert der Cache- Manager 220, daß die Daten noch "frisch" sind, indem er die Werte TIME-OF-LAST-UPDATE und/oder TIME-OF-LAST- ACCESS mit einer konfigurierbaren systemweiten Cache- Frischezeit vergleicht. Wenn die Daten noch frisch sind, liest der Cache-Manager 220 die Daten aus dem dynamischen Cache-Speicher 215, sendet die Daten zu dem anfordernden Client-Knoten (Schritt 417) und aktualisiert den Wert TIME-OF-LAST-ACCESS (Schritt 418). Dann beginnt der Cache-Manager 220 den nächsten Datenanforderungszyklus (Rückkehr zum Schritt 401).
  • Wenn die Daten nicht frisch sind, rufen der Cache- Manager 220 und die Überwachungssteuerung 120 die angeforderten Daten von der entsprechenden Prozeßsteuerung in einer einmaligen Leseoperation ab, legen die abgerufenen Daten in dem dynamischen Cache- Speicher 215 ab, aktualisieren die Werte TIME-OF-LAST- UPDATE und TIME-OF-LAST-ACCESS und senden die Daten zu dem anfordernden Client (Schritte 412-415).
  • Wenn der Wert SUBSCRIPTION PERIOD kein Nullwert ist, führt der Client-Knoten eine zyklische (oder periodische) Anforderung von Daten durch. Die angeforderten Daten werden jedoch nur dann abonniert, wenn die Rate (d. h. Häufigkeit), mit der die Daten wiederholt angefordert werden, häufig genug ist, um ein Abonnement der angeforderten Daten zu rechtfertigen. Der Cache- Manager 215 vergleicht SUBSCRIPTION PERIOD mit einer konfigurierbaren systemweiten Maximalabonnementperiode (Schritt 404).
  • Wenn SUBSCRIPTION PERIOD die maximale Grenze übersteigt, wird die Datenanforderung stattdessen als eine einmalige Anforderung behandelt. Der Cache-Manager 220 prüft, ob sich die angeforderten Daten zufällig in dem dynamischen Cache-Speicher 215 befinden (Schritt 411). Wenn die angeforderten Daten Cache-gespeichert sind, wird eine Frischeprüfung durchgeführt, und wenn die Daten auch frisch sind, werden die Daten aus dem dynamischen Cache-Speicher 215 abgerufen, zu dem anfordernden Client gesendet, und der Wert TIME-OF- LAST-ACCESS wird aktualisiert (Schritte 416-418). Wenn die angeforderten Daten nicht Cache-gespeichert oder nicht frisch sind, lesen der Cache-Manager 220 und die Überwachungssteuerung 120 die angeforderten Daten aus der entsprechenden Prozeßsteuerung 125 unter Verwendung eines einmaligen Lesemechanismus, anstatt die angeforderten Daten zu abonnieren (Schritt 412). Dann werden die abgerufenen Daten in dem dynamischen Cache- Speicher 215 abgelegt (Schritt 413), und die Werte TIME-OF-LAST-UPDATE und TIME-OF-LAST-ACCESS werden in dem dynamischen Cache-Speicher 215 aktualisiert (Schritt 414). Die abgerufenen Daten werden dann zu dem anfordernden Client-Knoten gesendet (Schritt 415) und der Cache-Manager 220 beginnt den nächsten Datenanforderungszyklus (Rückkehr zum Schritt 401).
  • Wenn SUBSCRIPTION PERIOD innerhalb der spezifizierten Maximalgrenze liegt, werden die angeforderten Daten in dem dynamischen Cache-Speicher 215 Cache-gespeichert. Der Cache-Manager 220 bestimmt, ob die angeforderten Daten zuvor abonniert waren (Schritt 405). Dies kann durch Suchen nach den angeforderten Daten in dem dynamischen Cache-Speicher 215 und Bestimmen, ob ein den Daten (falls gefunden) zugeordnetes Feld "Subscribed To" gesetzt wurde, geschehen.
  • Wenn die Daten nicht zuvor abonniert waren, verwenden der Cache-Manager 220 und die Überwachungssteuerung 120 den Abonnementmechanismus, um die angeforderten Daten in der entsprechenden Prozeßsteuerung 125 zu abonnieren (Schritt 431). Dann werden die angeforderten Daten aus der Prozeßsteuerung 125 gelesen, in dem dynamischen Cache-Speicher 215 geschrieben, und das Feld "Subscribed To" wird gesetzt (Schritt 432). Dann werden die angeforderten Daten zu dem anfordernden Client- Knoten transferiert (Schritt 433), und die Werte TIME- OF-LAST-UPDATE und TIME-OF-LAST-ACCESS werden in dem dynamischen Cache-Speicher 215 aktualisiert (Schritt 434). Dann beginnt der Cache-Manager 220 den nächsten Datenanforderungszyklus (Rückkehr zum Schritt 401).
  • Wenn die Daten zuvor abonniert waren, liest der Cache- Manager 220 die angeforderten Daten von dem dynamischen Cache-Speicher (Schritt 406) und der Wert TIME-OF-LAST- ACCESS wird in dem dynamischen Cache-Speicher 215 aktualisiert (Schritt 407). Dann beginnt der Cache- Manager 220 den nächsten Datenanforderungszyklus (Rückkehr zum Schritt 401).
  • Es kommt häufig dazu, daß ein erster Client-Knoten gewählte Prozeßdaten mit einer ersten Abonnementrate von zum Beispiel einmal pro Sekunde abonniert und ein zweiter Client-Knoten dieselben gewählten Prozeßdaten oder eine Teilmenge davon mit einer zweiten Abonnementrate von zum Beispiel nur alle zwei Sekunden abonniert. In diesem Beispiel werden die Begriffe "erste" und "zweite" zur Unterscheidung von Client-Knoten und Abonnementraten verwendet und beziehen sich nicht auf die chronologische Reihenfolge des Auftretens. Bei einer bevorzugten Ausführungsform der vorliegenden Erfindung ruft der Cache-Manager 220 die abonnierten Prozeßdaten aus der die Daten enthaltenen Prozeßsteuerung mit der schnelleren Rate (in diesem Beispiel einmal pro Sekunde) ab. Der Cache-Manager 220 hält beide Abonnementraten in dem dynamischen Cache- Speicher 215. Wenn zu einem späteren Zeitpunkt der erste Client-Knoten aufhört, die gewählten Prozeßdaten zu abonnieren, kehrt der Cache-Manager 220 dann zu der langsameren Abonnementrate zurück (in diesem Beispiel einmal alle zwei Sekunden), ohne daß der zweite Client- Knoten jegliche Aktion oder Intervention unternimmt.
  • Wenn mehr als zwei Client-Knoten dieselben Prozeßdaten abonnieren, ruft der Cache-Manager 220 die Prozeßdaten aus der entsprechenden Prozeßsteuerung mit der schnellsten Abonnementrate ab, die von einer beliebigen der abonnierenden Client-Knoten spezifiziert wird. Wenn zu einem späteren Zeitpunkt der Client-Knoten, der mit der schnellsten Rate abonniert hat, aufhört, die gewählten Prozeßdaten zu abonnieren, kehrt der Cache-Manager 220 dann zu der nächstschnellsten Abonnementrate zurück, ohne daß jegliche Aktion oder Intervention durch beliebige der abonnierenden Client-Knoten erfolgt.
  • Obwohl die vorliegende Erfindung und ihre Vorteile ausführlich beschrieben wurden, sollte für Fachleute erkennbar sein, daß sie verschiedene Änderungen, Substitutionen und Abänderungen daran vornehmen können, ohne vom Schutzumfang der angefügten Ansprüche abzuweichen.

Claims (22)

1. System (200) zum Verteilen von Daten zwischen Knoten einer Prozeßanlage, wobei einzelne der Knoten Client-Knoten (201-203) sind, die Prozessen davon zugeordnete Daten wünschen, und einzelne der Knoten Prozeßknoten (204-206) sind, die die Prozeßdaten steuern, und einem Cache-Speicher (215) mit einer relativ kurzen Zeit zum Abrufen von Datensätzen daraus, wobei das System durch folgendes gekennzeichnet ist:
eine Überwachungssteuerung (120), die den Client- Knoten und den Prozeßknoten zugeordnet ist und (i) die Speicherung eines Teils der Prozeßdaten in den Datensätzen in dem Cache-Speicher (215) steuert, wobei pro Datenartikel des Teils der Prozeßdaten ein Datensatzeintrag zugeteilt wird, wodurch redundante Kopien irgendeines Datenartikels einzelner der Client-Knoten und der Prozeßknoten beseitigt werden, und (ii) selektiv einzelne der Datensätze aus dem Cache-Speicher zu den Client- Knoten übermittelt.
2. System nach Anspruch 1, dadurch gekennzeichnet, daß die Überwachungssteuerung (120) als Reaktion auf Anforderungen von den Client-Knoten (201-203) selektiv einzelne der Datensätze übermittelt.
3. System nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Client-Knoten (201-203) Teilmengen der Prozeßdaten anfordern und die Überwachungssteuerung (120) bestimmt, ob die angeforderten Teilmengen in dem Cache-Speicher (215) gespeichert sind.
4. System nach Anspruch 3, dadurch gekennzeichnet, daß die Überwachungssteuerung (120) ein Mittel aufweist, daß als Reaktion auf die Bestimmung entweder
Instanzen gewählter der angeforderten Teilmengen aus den Prozeßknoten (204-206) anfordert; oder
Anforderungen gewählter Instanzen der angeforderten Teilmengen aus den Prozeßknoten sperrt.
5. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Überwachungssteuerung (120) Teilmengen der Prozeßdaten von den Prozeßknoten (204-206) empfängt und mindestens einen Teil der Teilmengen in Datensätzen des Cache-Speichers (215) speichert.
6. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Überwachungssteuerung (120) Teilmengen der Prozeßdaten von den Prozeßknoten (204-206) empfängt und mindestens einen Teil der Teilmengen selektiv zu den Client- Knoten (201-203) übermittelt.
7. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Überwachungssteuerung (120), die Client-Knoten (201-203) und die Prozeßknoten (204-206) durch Kommunikationswege mit Datenverkehrskapazitäten zugeordnet sind und das System die Datenverteilung unter Verwendung der Überwachungssteuerung steuert, um die Datenverkehrskapazitäten effektiv zu nutzen.
8. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß das System ein Echtzeit-Prozeßsteuersystem (120) zur Verwendung zur Steuerung einer Prozeßanlage (100) enthält, umfassend:
mehrere Sensoren und steuerbare Einrichtungen, die Prozessen der Prozeßanlage zugeordnet sind;
Kommunikationswege, die die mehreren Sensoren und steuerbaren Einrichtungen einem Computersystem zuordnen; und
wobei das Computersystem Daten verarbeitet, die die Prozeßanlage betreffen, und die Daten zwischen Knoten des Computersystems verteilt, wobei einzelne der Knoten Client-Knoten sind, die Prozessen davon zugeordnete Daten wünschen, und einzelne der Knoten Prozeßknoten sind, die die Prozeßdaten steuern.
9. Vorrichtung zur Verwendung in einem System (200) zum Verteilen von Daten zwischen Knoten einer Prozeßanlage (100), wobei einzelne der Knoten Client-Knoten (201-203) sind, die Prozessen davon zugeordnete Daten wünschen, und einzelne der Knoten Prozeßknoten (204-206) sind, die die Prozeßdaten steuern, gekennzeichnet durch:
eine Überwachungssteuerung (120),
einen Cache-Manager (220), der einem Cache- Speicher (215) mit einer relativ kurzen Zeit zum Abrufen von Datensätzen daraus zugeordnet sein kann, und der die Speicherung eines Teils der Prozeßdaten in den Datensätzen in dem Cache- Speicher steuert und dabei pro Datenartikel des Teils der Prozeßdaten einen Datensatzeintrag zuteilt, wodurch, redundante Kopien irgendeines Datenartikels einzelner der Client-Knoten und der Prozeßknoten beseitigt werden; und
eine Kommunikationssteuerung, die den Client- Knoten und den Prozeßknoten zugeordnet werden kann und selektiv einzelne der Datensätze aus dem Cache-Speicher (215) zu den Client-Knoten (201-203) übermittelt.
10. Überwachungssteuerung nach Anspruch 9, dadurch gekennzeichnet, daß die Kommunikationssteuerung auf Anforderungen von den Client-Knoten (201-203) reagiert.
11. Überwachungssteuerung nach Anspruch 9 oder 10, dadurch gekennzeichnet, daß die Client-Knoten (201-203) Teilmengen der Prozeßdaten anfordern und der Cache-Manager (220) bestimmt, ob die angeforderten Teilmengen in dem Cache-Speicher (215) gespeichert sind.
12. Überwachungssteuerung nach einem der Ansprüche 9 bis 11, dadurch gekennzeichnet, daß die Kommunikationssteuerung ein Mittel aufweist, das als Reaktion auf die Bestimmung entweder
Instanzen gewählter der angeforderten Teilmengen aus den Prozeßknoten (204-206) anfordert; oder
Anforderungen gewählter Instanzen der angeforderten Teilmengen aus den Prozeßknoten sperrt.
13. Überwachungssteuerung nach einem der Ansprüche 9 bis 12, dadurch gekennzeichnet, daß die Kommunikationssteuerung Teilmengen der Prozeßdaten aus den Prozeßknoten (204-206) empfängt und der Cache-Manager (220) mindestens einen Teil der Teilmengen in Datensätzen des Cache-Speichers (215) speichert.
14. Überwachungssteuerung nach einem der Ansprüche 9 bis 13, dadurch gekennzeichnet, daß die Kommunikationssteuerung Teilmengen der Prozeßdaten aus den Prozeßknoten (204-208) empfängt und mindestens einen Teil der Teilmengen selektiv zu den Client-Knoten (201-203) übermittelt.
15. Überwachungssteuerung nach einem der Ansprüche 9 bis 14, dadurch gekennzeichnet, daß die Überwachungssteuerung, die Client-Knoten (201-203) und die Prozeßknoten (204-208) durch Kommunikationswege mit Datenverkehrskapazitäten zugeordnet sind und die Überwachungssteuerung die Datenverteilung durch effiziente Nutzung der Datenverkehrskapazitäten steuert.
16. Verfahren zum Betrieb eines Systems (200), das Daten zwischen Knoten einer Prozeßanlage verteilt, wobei einzelne der Knoten Client-Knoten (201-203) sind, die davon zugeordnete Daten wünschen, und einzelne der Knoten Prozeßknoten (204-206) sind, die die Prozeßdaten steuern, einschließlich des selektiven Übermittelns einzelner der Datensätze aus dem Cache-Speicher zu den Client-Knoten, gekennzeichnet durch die folgenden Schritte:
Verwenden einer Überwachungssteuerung (120), die zugeordneten Client-Knoten und Prozeßknoten, um die Speicherung eines Teils der Prozeßdaten in Datensätzen eines Cache-Speichers (215) mit einer relativ kurzen Zeit zum Abrufen von Datensätzen daraus zu steuern, wobei pro Datenartikel des Teils der Prozeßdaten ein Datensatzeintrag zugeteilt wird, wodurch redundante Kopien irgendeines Datenartikels einzelner der Client- Knoten und der Prozeßknoten beseitigt werden.
17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß der Schritt des selektiven Übermittelns als Reaktion auf den Schritt des Empfangens von Anforderungen von den Client-Knoten (201-203) erfolgt.
18. Verfahren nach Anspruch 16 oder 17, dadurch gekennzeichnet, daß die Client-Knoten (201-203) Teilmengen der Prozeßdaten anfordern und bei dem Verfahren weiterhin bestimmt wird, ob die angeforderten Teilmengen in dem Cache-Speicher (215) gespeichert sind.
19. Verfahren nach einem der Ansprüche 16 bis 18, dadurch gekennzeichnet, daß es als Reaktion auf den Bestimmungsschritt weiterhin einen der folgenden Schritte umfaßt:
Anfordern von Instanzen gewählter der angeforderten Teilmengen aus den Prozeßknoten (204-206); und
Sperren von Anforderungen gewählter Instanzen der angeforderten Teilmengen aus den Prozeßknoten.
20. Verfahren nach einem der Ansprüche 16 bis 19, dadurch gekennzeichnet, daß es weiterhin die folgenden Schritte umfaßt:
Empfangen, in der Überwachungssteuerung, von Teilmengen der Prozeßdaten aus den Prozeßknoten (204-206); und
Speichern mindestens eines Teils der Teilmengen in Datensätzen des Cache-Speichers (215).
21. Verfahren nach einem der Ansprüche 16 bis 20, dadurch gekennzeichnet, daß es weiterhin die folgenden Schritte umfaßt:
Empfangen, in der Überwachungssteuerung, von Teilmengen der Prozeßdaten aus den Prozeßknoten (204-206); und
selektives Übermitteln mindestens eines Teils der Teilmengen zu den Client-Knoten (201-203).
22. Verfahren nach einem der Ansprüche 16 bis 21, dadurch gekennzeichnet, daß die Überwachungssteuerung, die Client-Knoten (201-203) und die Prozeßknoten (204-206) durch Kommunikationswege mit Datenverkehrskapazitäten zugeordnet sind und bei dem Verfahren weiterhin die Datenverkehrskapazitäten zu einer effizienten Steuerung der Datenverteilung zwischen den Knoten benutzt werden.
DE69811679T 1997-08-22 1998-08-17 Verfahren und systeme zur einführung eines dynamischen cachespeichers in ein überwachungssteuerungssystem Expired - Lifetime DE69811679T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/916,870 US5988847A (en) 1997-08-22 1997-08-22 Systems and methods for implementing a dynamic cache in a supervisory control system
PCT/US1998/016998 WO1999010787A1 (en) 1997-08-22 1998-08-17 Systems and methods for implementing a dynamic cache in a supervisory control system

Publications (2)

Publication Number Publication Date
DE69811679D1 DE69811679D1 (de) 2003-04-03
DE69811679T2 true DE69811679T2 (de) 2003-12-18

Family

ID=25437964

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69811679T Expired - Lifetime DE69811679T2 (de) 1997-08-22 1998-08-17 Verfahren und systeme zur einführung eines dynamischen cachespeichers in ein überwachungssteuerungssystem

Country Status (8)

Country Link
US (1) US5988847A (de)
EP (1) EP1004064B1 (de)
JP (1) JP2001514406A (de)
CN (1) CN1154899C (de)
AU (1) AU740744B2 (de)
CA (1) CA2297001C (de)
DE (1) DE69811679T2 (de)
WO (1) WO1999010787A1 (de)

Families Citing this family (127)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19807076A1 (de) * 1998-02-20 1999-08-26 Cit Alcatel Datenbereitstellungsystem
US6615091B1 (en) * 1998-06-26 2003-09-02 Eveready Battery Company, Inc. Control system and method therefor
US6243810B1 (en) * 1998-11-25 2001-06-05 Intel Corporation Method and apparatus for communicating a configuration sequence throughout an integrated circuit chip
US8044793B2 (en) 2001-03-01 2011-10-25 Fisher-Rosemount Systems, Inc. Integrated device alerts in a process control system
AUPQ094599A0 (en) 1999-06-11 1999-07-08 Honeywell Limited Method and system for remotely monitoring time-variant data
US7509404B2 (en) * 2000-03-08 2009-03-24 Oracle International Corporation Methods and systems for partial page caching of dynamically generated content
US7343413B2 (en) 2000-03-21 2008-03-11 F5 Networks, Inc. Method and system for optimizing a network by independently scaling control segments and data flow
US8380854B2 (en) 2000-03-21 2013-02-19 F5 Networks, Inc. Simplified method for processing multiple connections from the same client
US20010032257A1 (en) * 2000-04-12 2001-10-18 Wells Ronald B. Method and system for managing information on a network
US7035911B2 (en) * 2001-01-12 2006-04-25 Epicrealm, Licensing Llc Method and system for community data caching
US7188145B2 (en) * 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
US6983318B2 (en) * 2001-01-22 2006-01-03 International Business Machines Corporation Cache management method and system for storing dynamic contents
US20020178434A1 (en) * 2001-02-22 2002-11-28 Fox Gary L. Apparatus and method for automatic source code generation in a process control environment
US8073967B2 (en) 2002-04-15 2011-12-06 Fisher-Rosemount Systems, Inc. Web services-based communications for use with process control systems
EP1366398A2 (de) 2001-03-01 2003-12-03 Fisher-Rosemount Systems, Inc. Automatische generierung und verfolgung von arbeitsantrag /teilenbestellung
US6954713B2 (en) * 2001-03-01 2005-10-11 Fisher-Rosemount Systems, Inc. Cavitation detection in a process plant
US7720727B2 (en) 2001-03-01 2010-05-18 Fisher-Rosemount Systems, Inc. Economic calculations in process control system
US7389204B2 (en) 2001-03-01 2008-06-17 Fisher-Rosemount Systems, Inc. Data presentation system for abnormal situation prevention in a process plant
US6795798B2 (en) 2001-03-01 2004-09-21 Fisher-Rosemount Systems, Inc. Remote analysis of process control plant data
US20030040816A1 (en) * 2001-07-12 2003-02-27 Paul Wolejko Module control system
US7376092B2 (en) * 2002-04-03 2008-05-20 Precache Inc. Method and apparatus for implementing persistent and reliable message delivery
US7127528B2 (en) 2002-07-22 2006-10-24 Honeywell International Inc. Caching process data of a slow network in a fast network environment
US8935298B2 (en) 2002-12-30 2015-01-13 Fisher-Rosemount Systems, Inc. Integrated navigational tree importation and generation in a process plant
US7953842B2 (en) 2003-02-19 2011-05-31 Fisher-Rosemount Systems, Inc. Open network-based data acquisition, aggregation and optimization for use with process control systems
US7634384B2 (en) * 2003-03-18 2009-12-15 Fisher-Rosemount Systems, Inc. Asset optimization reporting in a process plant
JP2007521689A (ja) * 2003-07-23 2007-08-02 ハネウェル・インターナショナル・インコーポレーテッド 高速ネットワーク環境において低速ネットワークのプロセス・データをキャッシュすること
US20050172076A1 (en) * 2004-01-30 2005-08-04 Gateway Inc. System for managing distributed cache resources on a computing grid
US7676287B2 (en) 2004-03-03 2010-03-09 Fisher-Rosemount Systems, Inc. Configuration system and method for abnormal situation prevention in a process plant
US6993415B2 (en) * 2004-04-08 2006-01-31 Kohler Co. Distributed control system for a whirlpool tub
WO2005124491A1 (en) 2004-06-12 2005-12-29 Fisher-Rosemount Systems, Inc. System and method for detecting an abnormal situation associated with a process gain of a control loop
US8005647B2 (en) 2005-04-08 2011-08-23 Rosemount, Inc. Method and apparatus for monitoring and performing corrective measures in a process plant using monitoring data with corrective measures data
US9201420B2 (en) 2005-04-08 2015-12-01 Rosemount, Inc. Method and apparatus for performing a function in a process plant using monitoring data with criticality evaluation data
US20070101061A1 (en) * 2005-10-27 2007-05-03 Guruprasad Baskaran Customized content loading mechanism for portions of a web page in real time environments
US20070150881A1 (en) * 2005-12-22 2007-06-28 Motorola, Inc. Method and system for run-time cache logging
US7912676B2 (en) 2006-07-25 2011-03-22 Fisher-Rosemount Systems, Inc. Method and system for detecting abnormal operation in a process plant
US7657399B2 (en) 2006-07-25 2010-02-02 Fisher-Rosemount Systems, Inc. Methods and systems for detecting deviation of a process variable from expected values
US8606544B2 (en) 2006-07-25 2013-12-10 Fisher-Rosemount Systems, Inc. Methods and systems for detecting deviation of a process variable from expected values
US8145358B2 (en) 2006-07-25 2012-03-27 Fisher-Rosemount Systems, Inc. Method and system for detecting abnormal operation of a level regulatory control loop
EP2392982B1 (de) 2006-09-28 2015-03-25 Fisher-Rosemount Systems, Inc. Verhinderung anomaler Situationen in einem Wärmetauscher
US7853431B2 (en) 2006-09-29 2010-12-14 Fisher-Rosemount Systems, Inc. On-line monitoring and diagnostics of a process using multivariate statistical analysis
US8032340B2 (en) 2007-01-04 2011-10-04 Fisher-Rosemount Systems, Inc. Method and system for modeling a process variable in a process plant
US8032341B2 (en) 2007-01-04 2011-10-04 Fisher-Rosemount Systems, Inc. Modeling a process using a composite model comprising a plurality of regression models
US7827006B2 (en) 2007-01-31 2010-11-02 Fisher-Rosemount Systems, Inc. Heat exchanger fouling detection
US10410145B2 (en) 2007-05-15 2019-09-10 Fisher-Rosemount Systems, Inc. Automatic maintenance estimation in a plant environment
US8301676B2 (en) 2007-08-23 2012-10-30 Fisher-Rosemount Systems, Inc. Field device with capability of calculating digital filter coefficients
US7702401B2 (en) 2007-09-05 2010-04-20 Fisher-Rosemount Systems, Inc. System for preserving and displaying process control data associated with an abnormal situation
US9323247B2 (en) 2007-09-14 2016-04-26 Fisher-Rosemount Systems, Inc. Personalized plant asset data representation and search system
US8055479B2 (en) 2007-10-10 2011-11-08 Fisher-Rosemount Systems, Inc. Simplified algorithm for abnormal situation prevention in load following applications including plugged line diagnostics in a dynamic process
US8797178B2 (en) * 2008-03-10 2014-08-05 Microsoft Corporation Efficient stream sharing for multi-user sensor data collection
US8806053B1 (en) * 2008-04-29 2014-08-12 F5 Networks, Inc. Methods and systems for optimizing network traffic using preemptive acknowledgment signals
US8566444B1 (en) 2008-10-30 2013-10-22 F5 Networks, Inc. Methods and system for simultaneous multiple rules checking
US10157280B2 (en) 2009-09-23 2018-12-18 F5 Networks, Inc. System and method for identifying security breach attempts of a website
US8868961B1 (en) 2009-11-06 2014-10-21 F5 Networks, Inc. Methods for acquiring hyper transport timing and devices thereof
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US9141625B1 (en) 2010-06-22 2015-09-22 F5 Networks, Inc. Methods for preserving flow state during virtual machine migration and devices thereof
US10015286B1 (en) 2010-06-23 2018-07-03 F5 Networks, Inc. System and method for proxying HTTP single sign on across network domains
US8908545B1 (en) 2010-07-08 2014-12-09 F5 Networks, Inc. System and method for handling TCP performance in network access with driver initiated application tunnel
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US9083760B1 (en) 2010-08-09 2015-07-14 F5 Networks, Inc. Dynamic cloning and reservation of detached idle connections
US8630174B1 (en) 2010-09-14 2014-01-14 F5 Networks, Inc. System and method for post shaping TCP packetization
US8886981B1 (en) 2010-09-15 2014-11-11 F5 Networks, Inc. Systems and methods for idle driven scheduling
US8804504B1 (en) 2010-09-16 2014-08-12 F5 Networks, Inc. System and method for reducing CPU load in processing PPP packets on a SSL-VPN tunneling device
EP2633667B1 (de) 2010-10-29 2017-09-06 F5 Networks, Inc System und verfahren zur on-the-fly-protokollkonvertierung bei der ermittlung von richtliniendurchsetzungsinformationen
US8959571B2 (en) 2010-10-29 2015-02-17 F5 Networks, Inc. Automated policy builder
US8627467B2 (en) 2011-01-14 2014-01-07 F5 Networks, Inc. System and method for selectively storing web objects in a cache memory based on policy decisions
US10135831B2 (en) 2011-01-28 2018-11-20 F5 Networks, Inc. System and method for combining an access control system with a traffic management system
US9081839B2 (en) 2011-01-28 2015-07-14 Oracle International Corporation Push replication for use with a distributed data grid
US8843581B2 (en) * 2011-04-26 2014-09-23 Oracle International Corporation Live object pattern for use with a distributed cache
US9927788B2 (en) 2011-05-19 2018-03-27 Fisher-Rosemount Systems, Inc. Software lockout coordination between a process control system and an asset management system
US9246819B1 (en) 2011-06-20 2016-01-26 F5 Networks, Inc. System and method for performing message-based load balancing
US9270766B2 (en) 2011-12-30 2016-02-23 F5 Networks, Inc. Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof
US9529348B2 (en) 2012-01-24 2016-12-27 Emerson Process Management Power & Water Solutions, Inc. Method and apparatus for deploying industrial plant simulators using cloud computing technologies
US10230566B1 (en) 2012-02-17 2019-03-12 F5 Networks, Inc. Methods for dynamically constructing a service principal name and devices thereof
US9231879B1 (en) 2012-02-20 2016-01-05 F5 Networks, Inc. Methods for policy-based network traffic queue management and devices thereof
US9172753B1 (en) 2012-02-20 2015-10-27 F5 Networks, Inc. Methods for optimizing HTTP header based authentication and devices thereof
EP2853074B1 (de) 2012-04-27 2021-03-24 F5 Networks, Inc Verfahren zur optimierung von inhaltsdienstanfragen und vorrichtungen dafür
US10754710B1 (en) * 2012-06-20 2020-08-25 Amazon Technologies, Inc. Transactional watch mechanism
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9558220B2 (en) 2013-03-04 2017-01-31 Fisher-Rosemount Systems, Inc. Big data in process control systems
US10649449B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US10282676B2 (en) 2014-10-06 2019-05-07 Fisher-Rosemount Systems, Inc. Automatic signal processing-based learning in a process plant
US9665088B2 (en) 2014-01-31 2017-05-30 Fisher-Rosemount Systems, Inc. Managing big data in process control systems
US10909137B2 (en) 2014-10-06 2021-02-02 Fisher-Rosemount Systems, Inc. Streaming data for analytics in process control systems
US10223327B2 (en) 2013-03-14 2019-03-05 Fisher-Rosemount Systems, Inc. Collecting and delivering data to a big data machine in a process control system
US9823626B2 (en) 2014-10-06 2017-11-21 Fisher-Rosemount Systems, Inc. Regional big data in process control systems
US10386827B2 (en) 2013-03-04 2019-08-20 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics platform
US10866952B2 (en) 2013-03-04 2020-12-15 Fisher-Rosemount Systems, Inc. Source-independent queries in distributed industrial system
US10678225B2 (en) 2013-03-04 2020-06-09 Fisher-Rosemount Systems, Inc. Data analytic services for distributed industrial performance monitoring
US9397836B2 (en) 2014-08-11 2016-07-19 Fisher-Rosemount Systems, Inc. Securing devices to process control systems
US10649424B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US9804588B2 (en) 2014-03-14 2017-10-31 Fisher-Rosemount Systems, Inc. Determining associations and alignments of process elements and measurements in a process
EP3200131B1 (de) 2013-03-15 2024-09-18 Fisher-Rosemount Systems, Inc. Datenmodellierungsstudio
US10551799B2 (en) 2013-03-15 2020-02-04 Fisher-Rosemount Systems, Inc. Method and apparatus for determining the position of a mobile control device in a process plant
US10187317B1 (en) 2013-11-15 2019-01-22 F5 Networks, Inc. Methods for traffic rate control and devices thereof
JP5943022B2 (ja) * 2014-03-25 2016-06-29 横河電機株式会社 プロセス制御システム
US10015143B1 (en) 2014-06-05 2018-07-03 F5 Networks, Inc. Methods for securing one or more license entitlement grants and devices thereof
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10122630B1 (en) 2014-08-15 2018-11-06 F5 Networks, Inc. Methods for network traffic presteering and devices thereof
US10168691B2 (en) 2014-10-06 2019-01-01 Fisher-Rosemount Systems, Inc. Data pipeline for process control system analytics
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US9852221B1 (en) 2015-03-26 2017-12-26 Amazon Technologies, Inc. Distributed state manager jury selection
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
KR102486704B1 (ko) * 2016-01-15 2023-01-10 엘에스일렉트릭(주) 감시제어데이터수집시스템에서의 클라이언트 및 서버
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10503483B2 (en) 2016-02-12 2019-12-10 Fisher-Rosemount Systems, Inc. Rule builder in a process control network
US10791088B1 (en) 2016-06-17 2020-09-29 F5 Networks, Inc. Methods for disaggregating subscribers via DHCP address translation and devices thereof
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US11496438B1 (en) 2017-02-07 2022-11-08 F5, Inc. Methods for improved network security using asymmetric traffic delivery and devices thereof
US10791119B1 (en) 2017-03-14 2020-09-29 F5 Networks, Inc. Methods for temporal password injection and devices thereof
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US10931662B1 (en) 2017-04-10 2021-02-23 F5 Networks, Inc. Methods for ephemeral authentication screening and devices thereof
US10972453B1 (en) 2017-05-03 2021-04-06 F5 Networks, Inc. Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11122083B1 (en) 2017-09-08 2021-09-14 F5 Networks, Inc. Methods for managing network connections based on DNS data and network policies and devices thereof
US11658995B1 (en) 2018-03-20 2023-05-23 F5, Inc. Methods for dynamically mitigating network attacks and devices thereof
US11044200B1 (en) 2018-07-06 2021-06-22 F5 Networks, Inc. Methods for service stitching using a packet header and devices thereof
JP7207960B2 (ja) * 2018-11-09 2023-01-18 ファナック株式会社 監視装置及び監視方法
JP2020154990A (ja) * 2019-03-22 2020-09-24 株式会社日立製作所 計算機システム及びデータ管理方法
US11044320B2 (en) * 2019-04-01 2021-06-22 Honeywell International Inc. Data distribution method for a process automation and internet of things system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530857A (en) * 1987-07-02 1996-06-25 Bull, S.A. Automated shop floor control system and method of operation thereof
US4972367A (en) * 1987-10-23 1990-11-20 Allen-Bradley Company, Inc. System for generating unsolicited messages on high-tier communication link in response to changed states at station-level computers
US4855906A (en) * 1987-10-23 1989-08-08 Allen-Bradley Company, Inc. System for handling unsolicited messages from lower-tier controllers
US5311451A (en) * 1987-11-06 1994-05-10 M. T. Mcbrian Company, Inc. Reconfigurable controller for monitoring and controlling environmental conditions
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
AU647086B2 (en) * 1990-01-30 1994-03-17 Johnson Service Company Networked facilities management system
US5642506A (en) * 1994-12-14 1997-06-24 International Business Machines Corporation Method and apparatus for initializing a multiprocessor system

Also Published As

Publication number Publication date
EP1004064A1 (de) 2000-05-31
CA2297001C (en) 2007-05-15
CN1268228A (zh) 2000-09-27
JP2001514406A (ja) 2001-09-11
US5988847A (en) 1999-11-23
AU9105898A (en) 1999-03-16
AU740744B2 (en) 2001-11-15
CN1154899C (zh) 2004-06-23
EP1004064B1 (de) 2003-02-26
DE69811679D1 (de) 2003-04-03
CA2297001A1 (en) 1999-03-04
WO1999010787A1 (en) 1999-03-04

Similar Documents

Publication Publication Date Title
DE69811679T2 (de) Verfahren und systeme zur einführung eines dynamischen cachespeichers in ein überwachungssteuerungssystem
DE69809255T2 (de) Zyklisches publish-/subscribeschema mit ausnahmebericht verwendende datenzugriffsverfahren und -systeme
DE69815392T2 (de) Systeme und verfahren zur synchronisierung von redundanten steuerungen mit minimaler steuerungsstörung
DE60215002T2 (de) Verfahren und system für effiziente verteilung von netzwerk-ereignisdaten
DE69809254T2 (de) Architektur eines hybriden echzeitsteuerungssystems und verfahren zu seinem betrieb
DE68927621T2 (de) Echtzeitdatenbasis
DE102008017843A1 (de) Verfahren und Vorrichtungen zur Verwaltung von Prozessanlagenalarmen
DE69031086T2 (de) Cache-Speicherinhaltssteuerung in Mehrprozessornetzwerken
DE69128107T2 (de) Busanordnung für Speicherzugriff
DE10049503B4 (de) Zugriff und Aktualisierung einer Konfigiurationsdatenbank von verteilten Physischen Orten innerhalb eines Prozessteuersystems
DE3854594T2 (de) Programmierbare Steuerung mit parallelen Prozessoren.
DE69523325T2 (de) Graphisches programmier-interface für maschinen- bzw. prozess- steuerungen mit vorverbundenen parameterkonfigurationen
DE10131530B4 (de) Doppelmodus-Foundation Fieldbus-Gerätekonfigurator
DE68924061T2 (de) Versionskontrolle in einem Datenverarbeitungssystem.
DE69719324T2 (de) Echtzeit energiepreis-steuersystem und darauf abgestimmte verfahren
DE69026764T2 (de) Verfahren zur Datenübertragung mit hoher Geschwindigkeit
DE102005050608A1 (de) Verfahren und System für die Batch-Verarbeitungseinschätzung in einem Prozesssteuerungssystem
DE3232675A1 (de) Verfahren zur steuerung des datenzugriffs in einem rechner und daten-kontrollsystem zur durchfuehrung des verfahrens
EP1095320B1 (de) Steuerungssystem mit einem personalcomputer
DE10031670A1 (de) Automatisch heruntergeladener verbindungsaktiver Plan
EP2997427A1 (de) Steuerungseinrichtung und verfahren zum umschalten von ein-/ausgabeeinheiten einer steuerungseinrichtung
EP3069481B1 (de) Verfahren zur kommunikation von systemsteuerungseinheiten mit einer mehrzahl von energieerzeugungsanlagen über ein gateway und entsprechend konfigurierter und programmierter datenserver
DE102022117990A1 (de) Fahrzeugeigenes kommunikationssystem
DE3852689T2 (de) System zur gemeinsamen Dateibenutzung mit Verriegelungsprotokoll.
EP1285315B1 (de) Informationsverarbeitungssystem und verfahren zu dessen betrieb

Legal Events

Date Code Title Description
8364 No opposition during term of opposition