DE69815392T2 - Systeme und verfahren zur synchronisierung von redundanten steuerungen mit minimaler steuerungsstörung - Google Patents

Systeme und verfahren zur synchronisierung von redundanten steuerungen mit minimaler steuerungsstörung Download PDF

Info

Publication number
DE69815392T2
DE69815392T2 DE69815392T DE69815392T DE69815392T2 DE 69815392 T2 DE69815392 T2 DE 69815392T2 DE 69815392 T DE69815392 T DE 69815392T DE 69815392 T DE69815392 T DE 69815392T DE 69815392 T2 DE69815392 T2 DE 69815392T2
Authority
DE
Germany
Prior art keywords
data
memory
process controller
processor module
reserve
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
DE69815392T
Other languages
English (en)
Other versions
DE69815392D1 (de
Inventor
F. Paul MCLAUGHLIN
R. Norman SWANSON
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 DE69815392D1 publication Critical patent/DE69815392D1/de
Publication of DE69815392T2 publication Critical patent/DE69815392T2/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
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system

Description

  • Die vorliegende Erfindung betrifft Prozeßsteuersysteme im Allgemeinen, und im Einzelnen ein Prozeßsteuersystem und ein Verfahren zum Betrieb desselben, welches die Synchronisierung zwischen einem primären Steuergerät > und einem sekundären Steuergerät mit minimaler Steuerunterbrechung des primären Steuergeräts vorsieht.
  • STAND DER TECHNIK
  • Viele Prozeßanlagen (etwa eine Produktionsstätte, eine Mineral- oder Rohölraffinerie, usw.) werden über ein Steuersystem betrieben. Typische Steuersysteme nach dem derzeitigen Stand der Technik schließen zahlreiche Module ein, die auf die Überwachung und/oder die i Steuerung verschiedener Prozesse der Anlage zugeschnitten sind. Konventionelle Mittel verbinden diese Module miteinander, um so ein auf Verteilung basierendes Steuersystem zu bilden. Dies bietet erhöhte Leistung und die Möglichkeit, das Steuersystem entsprechend zu erweitern oder zu reduzieren, um sich den verändernden Bedürfnissen der Anlage anzupassen.
  • Anbieter von Prozeßmanagementsystemen, wie etwa Honeywell, entwickeln Steuersysteme, die auf eine breite Palette von Prozeßanforderungen (etwa weltweit, lokal, oder andere) und -arten (etwa Produktion, Warenlager, Raffinerie usw.) zugeschnitten werden können. Diese Anbieter haben zwei grundsätzliche Zielsetzungen. Die erste Zielsetzung ist es, die Steuerung von möglichst vielen Prozessen zu zentralisieren, um so die übergreifende Effizienz der Anlage zu verbessern. Die zweite Zielsetzung ist es, eine gemeinsame Schnittstelle zu unterstützen, die die Daten sowohl zwischen verschiedenen Modulen, die die Prozesse steuern oder überwachen, als auch zu dem erwähnten zentralisierten Steuergerät oder der Meßwarte kommuniziert.
  • Jeder Prozeß oder Gruppe von zugeordneten Prozessen, hat eine oder mehrere Eingangsmerkmale (z. B. Durchfluß, Zulaufmenge, Strom usw.) und eine oder mehrere Ausgangsmerkmale (z. B. Temperatur, Druck usw.), die diesen zugeordnet sind. Model Predictive Control bzw. MPC-Techniken (vorhersagende Steuerung nach Modellen) wurden eingesetzt, um bestimmte Prozesse als Funktion solcher Merkmale zu optimieren. Eine MPC-Technik verwendet algorithmische Darstellungen bestimmter Prozesse, um die charakteristischen Werte (dargestellt als Parameter, Variablen usw.), die den Prozessen zugeordnet sind, zu schätzen, um dadurch die Prozesse besser zu steuern. In den letzten Jahren sind physikalische, wirtschaftliche und andere Faktoren in die Steuersysteme für diese zugeordneten Prozesse eingeflossen.
  • Beispiele solcher Techniken sind in der US-Patentschrift 5,351,184 mit dem Titel "Method of Multivariable Predictive Control Utilizing Range Control", der US-Patentschrift 5,561,599 mit dem Titel "Method of Incorporating Independent Feedforward Control in Multivariable Predictive Controller", der US-Patentschrift 5,572,420 mit dem Titel "Method of Optimal Controller Design of Multivariable Predictive Control Utilizing Range Control", und der US-Patentschrift 5,574,638 mit dem Titel "Method of Optimal Scaling of Variables in a Multivariable Predictive Controller Utilizing Range Control" beschrieben, die alle im Besitz des Abtretungsempfängers der vorliegenden Erfindung sind (die zuvor veröffentlichten Patentschriften werden im Folgenden kollektiv als "Honeywell Patentschriften" bezeichnet).
  • Die verteilten Steuersysteme, die verwendet werden, um einen Prozeß zu überwachen und zu steuern, sind oft über herkömmliche Kommunikationspfade wie etwa eine lokale Netzwerk- (LAN) oder eine landesweite Netzwerk- (WAN) Architektur verknüpft. Wenn ein anfragender Knoten eine Bezugsgröße von einem ansprechenden Respond-Knoten benötigt, dann stellt er über das Netzwerk eine Anfrage nach der Bezugsgröße und der Respond-Knoten schickt die Bezugsgröße über das Netzwerk zurück. Viele Prozeßsteuersysteme verwenden eine LAN- oder WAN-Architektur mit Überwachungssteuerung, bei der ein oder mehrere Prozeßsteuernetzwerke integriert sind. Die Prozeßsteuernetzwerke enthalten die rohen Daten, die das Überwachungssteuerungsnetzwerk und die anderen Prozeßsteuernetzwerke benötigen.
  • Typischerweise ist ein Überwachungssteuergerät über Kommunikationstreiber, die jeweils einem spezifischen, über eine Schnittstelle angeschlossenen Prozeßsteuergerät zugeordnet sind, mit einer flexiblen Reihe von Prozeßsteuergeräten verknüpft. Das Überwachungssteuergerät verzeichnet die essentiellen Daten dieses Prozeßsteuergeräts in einer homogenen Datenbank, die von dem Überwachungssteuergerät gesteuert wird, um die einheitliche Speicherung und den Zugriff durch individuelle Prozeßsteuergeräte oder andere Client-Anwendungen, die von dem Überwachungssteuergerät ausgeführt werden, zu sichern.
  • Um die übergreifende Zuverlässigkeit einer Prozeßanlage zu erhöhen, werden oft redundante Prozeßsteuergeräte realisiert. Eine typische Realisierung ist eine 1 : 1 Redundanz zwischen einem primären Prozeßsteuergerät und einem sekundären Prozeßsteuergerät. Während des Routinebetriebs steuert das primäre Prozeßsteuergerät einen ausgewählten Prozeß, sammelt Prozeßdaten (wie etwa Temperatur, Druck, usw.) des gesteuerten Prozesses, und gibt die Prozeßdaten an das Überwachungssteuergerät und andere Prozeßsteuergeräte weiter. Das sekundäre Prozeßsteuergerät bleibt in Bezug auf den Zugriff auf Steuerung und Parameter im Ruhezustand, muß jedoch mit der Information des primären Prozeßsteuergeräts synchronisiert (oder aktualisiert) werden, damit das sekundäre Prozeßsteuergerät im Falle eines Versagens des primären Prozeßsteuergeräts sofort die Aufgaben des primären Prozeßsteuergeräts übernehmen kann.
  • Die Synchronisierung des primären Prozeßsteuergeräts und seines zugeordneten sekundären Prozeßsteuergeräts ist jedoch in vielen Systemen, die auf dem derzeitigen Stand der Technik basieren, ein umständlicher Prozeß. Bei vielen Systemen, die auf dem derzeitigen Stand der Technik basieren, ist der gesteuerte Prozeß, nachdem ein sekundäres Prozeßsteuergerät aktiv wird, für einen Zeitraum von einigen bis zu vielen Sekunden unterbrochen, während der Speicherinhalt des primären Prozeßsteuergeräts auf den Speicher des sekundären Prozeßsteuergeräts übertragen wird. In vielen Systemen ist dies ein inakzeptabler Zustand, da ein oder mehrere Client-Prozeßsteuergeräte es erfordern können, daß der aktuellste Bezugsgrößenwert des Prozesses von einem anderen Server-Prozeßsteuergerät jederzeit sofort zur Verfügung steht.
  • In fortgeschrittenen Prozeßsteuersystemen müssen die Steuerdaten mit sehr hohen Aktualisierungsraten an einen Prozeß oder an andere Steuergeräte geliefert werden. Primäre Prozeßsteuergeräte haben in diesen Systemen sehr kurze Basissteuerzyklen, typischerweise weniger als 100 Millisekunden. Falls die Zeit, die zur Aktualisierung der Daten im sekundären Prozeßsteuergerät benötigt wird, zu groß ist, kann es vorkommen, daß ein oder mehrere Basissteuerzyklen des primären Prozeßsteuergeräts ausgelassen werden, um die Datenübertragung auf das sekundäre Prozeßsteuergerät abzuschließen. Dies ist ebenfalls oft inakzeptabel.
  • Es besteht daher in der Technik ein Bedürfnis nach verbesserten Prozeßsteuergeräten, die eine oder mehrere Client-Anwendungen mit schnellerem Zugriff auf Information versorgen. Speziell gibt es in der Technik ein Bedürfnis nach verbesserten redundanten Prozeßsteuergeräten, die es dem sekundären Prozeßsteuergerät erlauben, nach dem Versagen des primären Prozeßsteuergeräts nahtlos die Steuerung des Prozesses zu übernehmen. Noch genauer gibt es in der Technik ein Bedürfnis nach verbesserten redundanten Prozeßsteuergeräten, die es dem sekundären Prozeßsteuergerät erlauben, mit Prozeßdaten des primären Prozeßsteuergeräts aktualisiert zu werden, ohne daß ein im Vordergrund laufender Arbeitsgang, der von dem primären Prozeßsteuergerät ausgeführt wird, unterbrochen wird.
  • Die europäische Patentschrift 0 518 630 A offenbart ein redundantes Steuersystem, das sequentiell den gesamten Inhalt der Datenbank vom Hauptprozessor auf den Reserveprozessor überträgt.
  • BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Erfindung sieht ein System vor, wie es im folgenden in Anspruch 1 definiert ist.
  • Das System kann die Merkmale eines oder mehrerer der abhängigen Ansprüche 2 bis 6, wie sie im folgenden beschrieben werden, beinhalten.
  • Die vorliegende Erfindung sieht auch ein Verfahren vor, wie es in Anspruch 7 definiert wird.
  • Das Verfahren kann die Merkmale eines oder mehrerer abhängiger Ansprüche 9 bis 12 beinhalten.
  • Um die oben diskutierten Unzulänglichkeiten des Stands der Technik anzugehen, sieht die vorliegende Erfindung ein System zur Aufrechterhaltung der Datenkohärenz zwischen einem primären Prozeßsteuergerät, das Prozeßsteueraufgaben ausführen kann, und einem Reserveprozeßsteuergerät, welches das primäre Prozeßsteuergerät bei Versagen ersetzen kann, wobei das primäre Prozeßsteuergerät die Prozeßsteueraufgaben während der Basissteuerzyklen mit einer Zeitspanne T in zyklischen Abständen durchführt. Das System umfaßt: 1) eine Nachverfolgungsdatenleitung, um geänderte Daten in einem Hauptspeicher des primären Prozeßsteuergeräts zu erkennen; 2) ein Datenpufferspeicher für die temporäre Speicherung der geänderten Daten; und 3) Datenübertragungsleitungen für die Übertragung der geänderten Daten des Datenpufferspeichers, wenn der Datenpufferspeicher voll ist, auf einen Reservespeicher des Reserveprozeßsteuergeräts, und zwar mindestens einmal während jedes Basissteuerzyklus des primären Prozeßsteuergeräts, so daß die Übertragung der geänderten Daten die Ausführung der Prozeßsteueraufgaben nicht stört.
  • Der Datenpufferspeicher ist klein genug, um die Übertragung der geänderten Daten innerhalb des Basissteuerzyklus zu ermöglichen.
  • In einer anderen Ausführungsform der vorliegenden Erfindung erkennt die Nachverfolgungsleitung Schreiboperationen im Hauptspeicher des primären Prozeßsteuergeräts. In einer weiteren Ausführungsform der vorliegenden Erfindung erkennt die Nachverfolgungsleitung Schreiboperationen in einem ausgewählten, gemeinsamen Adressierungsbereich im Hauptspeicher des primären Prozeßsteuergeräts.
  • Die Datenübertragungsleitungen übertragen die geänderten Daten im Datenpufferspeicher immer dann, wenn der Datenpufferspeicher voll ist.
  • In einer weiteren Ausführungsform der vorliegenden Erfindung stellen die Datenübertragungsleitungen Datenkohärenz zwischen einem ausgewählten, gemeinsamen Adressierungsbereich im Hauptspeicher und dem Reservespeicher während einer Anfangsbetriebsphase her, indem eine Vielzahl an Teilbereichen des ausgewählten, gemeinsamen Adressierungsbereichs im Hauptspeicher auf den Reservespeicher übertragen wird, bis der ausgewählte, gemeinsame Adressierungsbereich im Hauptspeicher komplett auf den Reservespeicher übertragen ist.
  • In einer weiteren Ausführungsform der vorliegenden Erfindung erkennt die Nachverfolgungsdatenleitung während der Anfangsbetriebsphase die geänderten Daten nur in den Teilbereichen des ausgewählten, gemeinsamen Adressierungsbereichs, die vorher schon auf den Reservespeicher übertragen wurden.
  • Die vorangegangenen Ausführungen führen die Merkmale und technischen Vorzüge der vorliegenden Erfindung recht allgemein aus, damit Fachleute die nun folgende, detaillierte Beschreibung der Erfindung besser verstehen. Zusätzliche Merkmale und Vorzüge der Erfindung werden im Folgenden in den Patentansprüchen beschrieben. Fachleute sollten es zu schätzen wissen, daß sie das offenbarte Konzept und die spezifische Ausführungsform problemlos als Basis für die Änderung oder das Design anderer Strukturen, die den gleichen Zweck der vorliegenden Erfindung erfüllen sollen, einsetzen können. Fachleuten sollte es ebenso klar sein, daß solche gleichwertigen Konstruktionen sich nicht vom Geist und Ausmaß der Erfindung in ihrer weitesten Form entfernen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Um ein vollständiges Verständnis der vorliegenden Erfindung und ihrer Vorzüge zu ermöglichen, beziehen sich die folgenden Ausführungen auf die dazugehörigen Zeichnungen, wobei gleiche Nummern sich stets auf gleiche Objekte beziehen, und in denen:
  • 1 ein Blockschaltbild einer Prozeßanlage illustriert, bei der ein Steuersystem gemäß den Prinzipien der vorliegenden Erfindung eingesetzt werden kann;
  • 2 ein beispielhaftes redundantes Prozeßsteuergerät gemäß einer Ausführungsform der vorliegenden Erfindung illustriert;
  • 3A ein beispielhaftes Zeitschaltbild ist, das die Übertragung der Prozeßsteuerdaten während einer Anfangssynchronisierungsphase des Betriebs gemäß einer Ausführungsform der vorliegenden Erfindung illustriert;
  • 3B ein beispielhaftes Zeitschaltbild ist, das die Übertragung der Prozeßsteuerdaten während einer Synchronisierungswartungsphase des Betriebs gemäß einer Ausführungsform der vorliegenden Erfindung illustriert;
  • 4 ein Flußdiagramm ist, das den Betrieb des primären Steuerprozessormoduls während einer Ausführung des Basissteuerzyklus in der Anfangssynchronisierungsphase des Betriebs gemäß einer Ausführungsform der vorliegenden Erfindung darstellt; und
  • 5 ein Flußdiagramm ist, das den Betrieb des primären Steuerprozessormoduls während einer Ausführung des Basissteuerzyklus in der Synchronisierungswartungsphase des Betriebs gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • DETAILLIERTE BESCHREIBUNG
  • 1 bis 5, wie sie im folgenden besprochen werden, und die verschiedenen Ausführungsformen, die verwendet werden, um die Prinzipien der vorliegenden Erfindung in dieser Patentschrift zu beschreiben, sollen diese nur illustrieren und sollten keinesfalls als Einengung des Ausmaßes der Erfindung verstanden werden. Fachleute werden verstehen, daß die Prinzipien der vorliegenden Erfindung in jeder Prozeßanlage, die entsprechend ausgelegt wird, realisiert werden können.
  • 1 illustriert eine Blockschaltbild einer Prozeßanlage 100, bei der ein Steuersystem gemäß den Prinzipien der vorliegenden Erfindung realisiert werden kann. Die beispielhafte Prozeßanlage 100 verarbeitet Rohmaterialien, und beinhaltet eine Meßwarte 105 sowie sechs zugeordnete Prozesse, bezeichnet mit 110a110f, die in drei Stufen angeordnet sind. Der Begriff "beinhalten", wie er hier verwendet wird, bedeutet Beinhaltung ohne jegliche Einschränkung. Die beispielhafte Meßwarte 105 kann einen zentralen Bereich umfassen, der üblicherweise mit einem Anlagenfahrer (nicht dargestellt) besetzt ist, der die drei Stufen überwacht und steuert. Eine erste Prozeßstufe beinhaltet drei Rohmaterialzerkleinerer 110a110c, die den "Zulauf" von Rohmaterial erhalten und ihn in kleinere Partikel des Rohmaterials mahlen, indem sie einen Pulverisierer oder ein Mahlrad verwenden. Die zweite Prozeßstufe beinhaltet einen Wäscher 110d, der das gemahlene Rohmaterial erhält und es reinigt, um Rückstände der ersten Prozeßstufe zu entfernen. Die dritte Prozeßstufe beinhaltet ein Paar Abscheider 110e und 110f, die das gemahlene, gewaschene Rohmaterial erhalten und es in die gewünschten Mineralien und verbleibende Rohmaterialen trennen. Da diese Prozeßanlage nur für Illustrationszwecke vorgesehen ist und die Prinzipien einer solchen Anlage wohlbekannt sind, würde eine weiterführende Ausführung derselben über das Ausmaß dieser Patentschrift hinausführen und ist nicht nötig.
  • Das beispielhafte Steuersystem beinhaltet ein Überwachungssteuergerät 120 und sechs Prozeßknoten, oder Prozeßsteuergeräte 125a125f, wobei jedes durch Software realisiert ist und durch geeignete, Software realisiert ist und durch geeignete, herkömmliche Rechensysteme (selbständig oder Netzwerk) wie etwa eines der Systeme von Honeywell, Inc., AM K2LCN, AM K4LCN, AM HMPU, AxM oder ähnliche Systeme betrieben werden kann. Die Fachmänner werden verstehen, daß solche Steuergeräte durch Hardware, Software, Firmware oder eine geeignete Kombination derselben realisiert werden können. Im Allgemeinen ist der Einsatz von Rechensystemen in Steuersystemen für Prozeßanlagen wohlbekannt.
  • Das Überwachungssteuergerät 120 ist jedem der Prozeßsteuergeräte 125 direkt oder indirekt zugeordnet, um den Informationsaustausch zu ermöglichen. Der Ausdruck "zugeordnet" und Ableitungen desselben, wie sie hier verwendet werden, kann folgendes bedeuten: beinhaltet sein in, zusammengeschaltet sein mit, enthalten, enthalten sein in, verbunden sein zu oder mit, gekoppelt sein mit oder zu, kommunikationsfähig sein mit, kooperieren mit, verzahnen, der Besitz sein von, gebunden sein an oder mit, besitzen, oder ähnliches. Das Überwachungssteuergerät 120 überwacht die Merkmale (z. B. Status, Temperatur, Druck, Durchflußrate, Strom, Spannung, Leistung, Auslastung, Effizienz, Kosten und weitere ökonomische Faktoren usw.) des zugeordneten Prozesses 110 entweder direkt oder indirekt über die Prozeßsteuergeräte 125, die dem Prozeß 110 zugeordnet sind. Je nach der spezifischen Realisierung kann eine solche Überwachung ein individueller Prozeß, eine Gruppe von Prozessen oder eine ganze Anlage sein.
  • Das Überwachungssteuergerät 120 kommuniziert mit den zugeordneten Prozessen 110 über Prozeßsteuergeräte 125 und generiert Überwachungsdaten, um die Prozeßanlage 100 zu optimieren. Der Ausdruck "Überwachungsdaten", wie er hier verwendet wird, ist definiert als jeglicher numerischer, qualitativer oder andersartiger Wert, der vom Überwachungssteuergerät 120 generiert ist, um zum Beispiel einen bestimmten Prozeß, eine Gruppe von Prozessen, die ganze Anlage, eine Prozeßstufe, eine Gruppe von Stufen, eine Sequenz von Prozessen oder Stufen, oder ähnliches zu steuern (leiten, verwalten, ändern, empfehlen, regulieren, hinweisen, überwachen, kooperieren usw.), um die Anlage als Ganzes zu optimieren. In einer bevorzugten Ausführungsform sind die Überwachungsdaten dynamisch generiert und basieren mindestens auf den Effizienzdaten, den Produktionsdaten oder den ökonomischen Kostenannahmen einer Anlage, und insbesondere bevorzugt auf allen drei Datensätzen.
  • Die Prozeßsteuergeräte 125 überwachen die zugeordneten Prozesse 110 und arbeiten in variierendem Ausmaß in Übereinstimmung mit den Überwachungsdaten, um die zugeordneten Prozesse und, insbesondere, um einen oder mehrere Prozesse zu modifizieren und die überwachten Merkmale oder die Anlage als Ganzes zu verbessern. Die Beziehung zwischen dem Überwachungssteuergerät 120 und verschiedenen Prozeßsteuergeräten 125 kann eine Master-Slave Anordnung (vollständige Einhaltung), kooperativ (variierende Einhaltung, etwa wenn die Überwachungsdaten als ein Faktor für die Steuerung der zugeordneten Prozesse verwendet werden), oder vollständiges Ignorieren (Nicht-Einhaltung) sein. Je nach der spezifischen Realisierung und den Bedürfnissen der jeweiligen Anlage kann die Beziehung zwischen dem Überwachungssteuergerät 120 und spezifischen Prozeßsteuergeräten 125 statisch (d. h. immer nur einem Verhalten von Einhaltung, kooperativ, oder Nicht-Einhaltung entsprechend), dynamisch (d. h. im Laufe der Zeit variierend, wie etwa innerhalb eines Bereichs von Einhaltung und Nicht-Einhaltung, oder in geringerem Maß dazwischen), oder wechselnd zwischen statischen und dynamischen Perioden sein.
  • 1 stellt die Prozeßsteuergeräte 125a–f lediglich aus Illustrationszwecken als einfache logische Blöcke dar, die mit den Prozessen 110a–f gekoppelt sind. In Wirklichkeit können die Prozeßsteuergeräte 125a–f in der Prozeßanlage 100 als breite Palette von Einrichtungen realisiert sein. In den einfachsten Ausführungsformen kann ein beispielhaftes Prozeßsteuergerät 125 eine Mikrocontrollerschaltung auf einer Leiterplatte und in einen der Prozesse 110 (z. B. als Teil des Abscheiders, Wäschers oder Zerkleinerers), der gesteuert wird, integriert sein. In anderen Ausführungsformen kann ein beispielhaftes Prozeßsteuergerät 125 ein selbständiger Computer sein, wie etwa ein Personal Computer (PC), der vom gesteuerten Prozeß 110 entfernt ist und über eine Bus-Architektur mit ihm gekoppelt ist.
  • In komplexeren Ausführungsformen kann ein beispielhaftes Prozeßsteuergerät ein Netzwerkknoten sein, der über eine Netzwerkarchitektur mit einem oder mehreren Prozessen 110 gekoppelt ist. Das Überwachungssteuergerät 120 kann dann das Netzwerk, das das beispielhafte Prozeßsteuergerät 125 und seine zugeordneten Prozesse 110 umfaßt, als einzelne funktionsgemäße Gruppe behandeln. Schließlich kann ein beispielhaftes Prozeßsteuergerät 125 eine Gruppe von Prozeßsteuergeräten und ihre zugeordneten Prozesse 110 darstellen, die vernetzt sind. Die vernetzte Gruppe kann dann von dem Überwachungssteuergerät als einzelne funktionsgemäße Gruppe behandelt werden.
  • Die Prozeßsteuergeräte 125a–f erzeugen Prozeßdaten, die von dem Überwachungssteuergerät 120 für zahlreiche Zwecke verwendet werden, einschließlich der Generierung von Überwachungsdaten und der Verteilung der Prozeßdaten an eine oder mehrere Client-Anwendungen. Die Prozeßdaten können auch von dem Prozeßsteuergerät 125, das sie erzeugt hat, verwendet werden, um den zugeordneten Prozeß 110 zu steuern. Zum Beispiel kann ein Prozeßsteuergerät 125 physikalische Parameterdaten des Prozesses 110, wie etwa Temperatur, Druck, Durchflußrate, und ähnliches, lesen, und einige oder alle dieser Prozeßdaten, sowie möglicherweise einige der Überwachungsdaten, verwenden, um den Prozeß 110 zu steuern. Dies trifft besonders auf einen Rückflußgesteuerten Prozeß zu.
  • Prozeßdaten können direkt zwischen den Prozeßsteuergeräten 125a–f in einem Peer-to-peer-Netzwerk übertragen werden, wie etwa in einem LAN-Netzwerk. Zum Beispiel kann das Prozeßsteuergerät 4, welches den Wäscher steuert (110d), Prozeßdaten von den Prozeßsteuergeräten 1–3, die die Zerkleinerer 1–3 steuern, anfordern, um die Rate zu bestimmen, mit der das gemahlene Rohmaterial aus den Zerkleinerern 1–3 austritt. Der Wäscher kann dadurch die Rate anpassen, mit der er das gemahlene Material wäscht. Zum Beispiel kann der Wäscher die Menge an eingesetzter Leistung zum Waschen des Rohmaterials reduzieren, wenn die Menge an gemahlenem Rohmaterial relativ gering ist. Er kann sogar temporär abschalten, um "anzuhalten und zu warten", bis sich eine geeignete Menge an gemahlenem Rohmaterial angesammelt hat, bevor er wieder mit dem Waschen fortfährt.
  • In einigen Ausführungsformen der vorliegenden Erfindung kann das Überwachungssteuergerät 120 ein LAN, eine Gruppe von verbundenen LANs, oder eine WAN-Architektur umfassen. Eine oder mehrere Client-Anwendungen werden an den Knoten der LAN/WAN-Architektur durchgeführt. Die Knoten können zum Beispiel Personal Computer (PCs) sein. Es kann sein, daß alle Client-Anwendungen die Übertragung der gleichen Prozeßdaten und Überwachungsdaten mit der gleichen Aktualisierungsrate von dem Prozeßsteuergeräten benötigen. Es ist jedoch ein wahrscheinlicheres Szenario, daß die Client-Anwendungen die Übertragung verschiedener, möglicherweise überlappender Unterbereiche der Prozeßdaten und Überwachungsdaten mit unterschiedlichen Aktualisierungsraten an die Client-Anwendungen benötigen.
  • Um die übergreifende Zuverlässigkeit der Prozeßanlage 100 zu erhöhen, können eines oder mehrere der Prozeßsteuergeräte 125a–f als redundante Prozeßsteuergeräte realisiert sein. Das heißt, eines oder mehrere der Prozeßsteuergeräte 125a–f können ein primäres Steuerprozessormodul und ein sekundäres Steuerprozessormodul umfassen, wobei das primäre Steuerprozessormodul die sich im Vordergrund abspielenden Aufgaben, die einem der Prozesse 110a–f zugeordnet sind, ausführt, während das sekundäre Steuerprozessormodul in Bezug auf die Prozesse 110a–f passiv bleibt, aber kontinuierlich mit der "Synchronisierungs-" Daten vom primären Steuerprozessormodul aktualisiert wird. Um die Kooperation dieses primären und sekundären Steuerprozessormoduls zu ermöglichen, sieht die vorliegende Erfindung ein verbessertes Prozeßsteuergerät vor, das eine minimale Unterbrechung der sich im Vordergrund abspielenden Aufgaben, die vom primären Steuerprozessormodul ausgeführt werden, verursacht, während es die Synchronisierung (oder Datenkohärenz) mit dem zweiten Steuerprozessormodul aufrechterhält.
  • 2 illustriert ein beispielhaftes redundantes Prozeßsteuergerät gemäß einer Ausführungsform der vorliegenden Erfindung. Das Prozeßsteuergerät 125a umfaßt ein primäres Steuerprozessormodul 200 und ein sekundäres Steuerprozessormodul 250. Das primäre Steuerprozessormodul 200 umfaßt einen Prozessor 205 und einen Haupt-RAM-Speicher 220, die die Routine-Steuerfunktionen ausführen, für die das Prozeßsteuergerät 125 in Bezug auf den Zerkleinerer 1 (d. h. Prozeß 110a) verantwortlich ist. Eine Netzwerkschnittstelle 230 im primären Steuerprozessormodul 200 empfängt und sendet Daten und Steuersignale an und von dem Zerkleinerer 1 und den Rest der Prozeßanlage 100 über die Netzwerkverbindung 240. Das sekundäre Steuerprozessormodul 250 umfaßt ebenso einen Prozessor 255 und einen Haupt-RAM-Speicher 270, die dieselben Prozeßsteuerfunktionen ausführen können, die von dem Prozessor 205 und einem Haupt-RAM-Speicher 220 im primären Steuerprozessormodul 200 ausgeführt werden. Eine Netzwerkschnittstelle 280 in dem sekundärem Steuerprozessormodul 250 empfängt und sendet ebenso Daten und Steuersignale an und von dem Zerkleinerer 1 und den Rest der Prozeßanlage 100 über die Netzwerkverbindung 240.
  • Die Bezeichnungen "primär" und "sekundär" sind in Bezug auf das primäre Steuerprozessormodul 200 und das sekundäre Steuerprozessormodul 250 willkürlich gewählt. Die Bezeichnungen "primär" und "sekundär" sind viel mehr eine Funktion der Konfiguration als festes Hardware-Design. In einer bevorzugten Ausführungsform der vorliegenden Erfindung sind die beiden Module funktionsgemäß austauschbar. Jedes der beiden kann ein aktives "primäres" Steuergerät in Bezug auf den Zerkleinerer 1 sein, und jedes der beiden kann ein passives "sekundäres" Steuergerät in Bezug auf den Zerkleinerer 1 sein. Das heißt, wenn das primäre Steuerprozessormodul 200 nicht richtig funktioniert, kann das sekundäre Steuerprozessormodul 250 seinen Platz als aktives Steuergerät für den Zerkleinerer 1 einnehmen. Wenn das primäre Steuerprozessormodul 200 repariert ist, kann das sekundäre Steuerprozessormodul 250 das aktive Steuergerät für den Zerkleinerer 1 bleiben, während der reparierte primäre Steuerprozessor 200 ein passives (oder sekundäres) Steuergerät wird. Ebenso kann, wenn das primäre Steuerprozessormodul repariert ist, alternativ das sekundäre Steuerprozessormodul 250 wiederum ein passives Steuergerät für den Zerkleinerer 1 werden, während der reparierte, primäre Steuerprozessor 200 wiederum das aktive Steuergerät für den Zerkleinerer wird.
  • Um das primäre Steuerprozessormodul 200 mit dem sekundärem Steuerprozessormodul 250 zu synchronisieren, verwendet das primäre Steuerprozessormodul 200 einen Tracker 210, einen FIFO (First-in First-Out) Speicher 215, und einen Datenpufferspeicher 225, der der Netzwerkschnittstelle 230 zugeordnet ist. Das sekundäre Steuerprozessormodul 200 umfaßt auch einen Tracker 260, einen FIFO (First-in First-Out) Speicher 265, und einen Datenpufferspeicher 275, der der Netzwerkschnittstelle 280 zugeordnet ist.
  • Der Tracker 210 ist ein Hardware-Steuergerät, das die Schreiboperationen des Prozessors 205 auf dem Haupt-RAM-Speicher 220 erkennt und aufzeichnet. Entsprechende Teile des Haupt-RAM-Speichers 220 und des Haupt-RAM-Speichers 270 werden als "Logischer Gemeinsamer Speicher" bezeichnet, der in identischem Zustand im primären Steuerprozessormodul 200 und im sekundären Steuerprozessormodul 250 aufrechterhalten werden muß. Daher muß eine identische Kopie des Logischen Gemeinsamen Speichers vom Haupt-RAM-Speicher 220 auf den Haupt-RAM-Speicher 270 übertragen werden und daraufhin wiederholt aktualisiert werden, um "Synchronisierung" (oder Datenkohärenz) zwischen dem primären Steuerprozessormodul 200 und dem sekundären primäre Steuerprozessormodul 250 zu erhalten und aufrechtzuerhalten.
  • Wenn der Tracker 210 aktiviert ist, werden alle Schreiboperationen in den Logischen Gemeinsamen Speicher des Haupt-RAM-Speichers 220 in den FIFO-Speicher 215 dupliziert, welcher, als Beispiel, 512 Byte aufnehmen kann. Wenn der FIFO-Speicher 215 voll ist, wird der Inhalt des FIFO-Speichers 215 auf den Datenpuffer 225 übertragen. Der Datenpuffer 225, der, als Beispiel, vier Kilobyte aufnehmen kann, sammelt die Daten vom FIFO-Speicher 215, um sie später über die Netzwerkschnittstelle 230, die Redundanz-Kommunikationsbrücke 290 und die Netzwerkschnittstelle 280 auf den Datenpuffer 275 im sekundären Steuerprozessormodul 250 zu übertragen. Um das Warten auf die Bestätigung der Übertragung vom Datenpuffer 225 zu vermeiden, realisiert eine bevorzugte Ausführungsform der vorliegenden Erfindung eine Anordnung mit mehreren Pufferspeichern für den Datenpuffer 225, so daß immer ein Puffer für die Sammlung der Daten vom FIFO-Speicher 215 zur Verfügung steht.
  • Wie im Folgenden in weiteren Einzelheiten erklärt wird, wird während einer Anfangssynchronisierungsphase des Betriebs einmal pro Ausführung des Basissteuerzyklus des primären Steuerprozessormoduls 200 der gesamte Logische Gemeinsame Speicher des primären Steuerprozessormoduls 200 in konsekutiven Blöcken übertragen, die als "Sync-Daten" bezeichnet werden. Die Sync-Daten werden kontinuierlich auf das sekundäre Steuerprozessormodul 250 übertragen, bis eine vollständige Kopie des Logischen Gemeinsamen Speichers in den Haupt-RAM-Speicher 270 des sekundären Steuerprozessormoduls 250 kopiert ist. Wenn danach Änderungen im Logischen Gemeinsamen Speicher des Haupt-RAM-Speichers 220 gemacht werden, erfaßt der Tracker 210 die Schreiboperationen und speichert sie in dem Datenpuffer 225 (über FIFO 215). Die geänderten Daten im Datenpuffer 225, die nun als "Track-Daten" bezeichnet werden, werden dann an den Haupt-RAM-Speicher 270 des sekundären Steuerprozessormoduls 250 übertragen, und zwar wenigstens einmal pro Ausführung des Basissteuerzyklus des primären Steuerprozessormoduls 200.
  • 3A ist ein beispielhaftes Zeitschaltbild, das die Übertragung der Prozeßsteuerdaten während einer Anfangssynchronisierungsphase des Betriebs gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Das Zeitschaltbild 300 zeigt die Ausführung eines vollständigen, beispielhaften Basissteuerzyklus in dem primären Steuerprozessormodul 200 von einem Startpunkt, t0, bis zu einem Endpunkt, t1. In einer bevorzugten Ausführungsform der vorliegenden Erfindung beträgt die Ausführung eines Basissteuerzyklus fünfzig (50) Millisekunden.
  • Eine Ausführung eines Basissteuerzyklus umfaßt ein Redundanzfunktionssegment, ein Segment, das Ausgangsdaten speichert und Eingangsdaten abruft, ein Funktionsblockverarbeitungssegment, ein Speicherverwaltungssegment, ein Diagnostiksegment, und ein Responder-Ebenenfunktionssegment. Das Redundanzfunktionssegment ist verantwortlich für das Senden der Sync-Daten vom primären Steuerprozessormodul 200 an das sekundäre Steuerprozessormodul 250 zu Beginn des Basissteuerzyklus. Zum Beispiel werden während dieses Segments Daten vom Haupt-RAM-Speicher 220 in den 4-Kilobyte Datenpuffer 225 kopiert. Der Inhalt des vollen Datenpuffers 225 wird dann als 4-Kilobyte Block auf das sekundäre Steuerprozessormodul 250 übertragen.
  • Die Sync-Daten werden während der Anfangssynchronisierungsphase wiederholt übertragen, bis eine vollständige Kopie des Logischen Gemeinsamen Speicherplatzes im Haupt-RAM-Speicher 220 auf den RAM-Speicher 270 übertragen ist. Um die Störung der sich im Vordergrund abspielenden Steuerfunktionen, die von dem primären Steuerprozessormodul 200 ausgeführt werden, zu minimieren, werden die Sync-Daten während der Anfangssynchronisierungsphase nur einmal pro Basissteuerzyklus übertragen.
  • In einer Ausführungsform der vorliegenden Erfindung aktualisieren die Track-Daten, die während der Anfangssynchronisierung periodisch übertragen werden, nur die Bereiche des Logischen Gemeinsamen Speichers im sekundären Steuerprozessormodul 250, die bereits als Teil der Sync-Daten übertragen wurden. Der Vorteil dieser Ausführung ist die Vermeidung der Übertragung von Daten, die noch nicht initialisiert sind.
  • In einer alternativen Ausführungsform der vorliegenden Erfindung aktualisieren die Track-Daten, die während der Anfangssynchronisierung periodisch übertragen werden, alle Bereiche des Logischen Gemeinsamen Speichers im sekundären Steuerprozessormodul 250, unabhängig davon, ob die Daten bereits als Teil der Sync-Daten übertragen und initialisiert wurden oder nicht. So wird jede Änderung im Logischen Gemeinsamen Speicher im primären Steuerprozessormodul 250 als Teil der Track-Daten übertragen. In dieser Ausführungsform ignoriert das sekundäre Steuerprozessormodul 250 jegliche Track-Daten, die einen Teil des Logischen Gemeinsamen Speichers modifizieren sollen, aber noch nicht als Sync-Daten initialisiert wurden. Der Vorteil dieser Ausführungsform ist die Vereinfachung des Trackers 210, der hier nicht überwachen muß, welche Teile des Logischen Gemeinsamen Speichers bereits übertragen wurden.
  • Wenn der Logische Gemeinsame Speicher des Haupt-RAM 220 zum Beispiel 4 Mbyte und der Datenpuffer 4 Kbyte faßt, und der Basiszyklus einen Zeitraum von 50 Millisekunden umfaßt, dann überträgt der erste Basissteuerzyklus Sync-Daten auf die ersten 4 Kbyte des Logischen Gemeinsamen Speichers im sekundären Steuerprozessormodul 250. Gemäß der jeweils realisierten Ausführungsform können die Track-Daten, die zugleich während des ersten Basissteuerzyklus übertragen werden, Aktualisierungen für dieselben 4 Kbyte des Logischen Gemeinsamen Speichers, oder Aktualisierungen für den gesamten Logischen Gemeinsamen Speicher im sekundären Steuerprozessormodul 250 beinhalten, wobei dann das sekundäre Steuerprozessormodul 250 die Aktualisierungen außerhalb der ersten 4 Kbyte des Logischen Gemeinsamen Speichers ignorieren kann.
  • Entsprechend überträgt der zweite Basissteuerzyklus Sync-Daten auf die zweiten 4 Kbyte des Logischen Gemeinsamen Speichers im sekundären Steuerprozessormodul 250, und jegliche Track-Daten, die zugleich während des zweiten Basissteuerzyklus übertragen werden, können Aktualisierungen nur der ersten 8 Kbyte des Logischen Gemeinsamen Speichers im sekundären Steuerprozessormodul 250, oder Aktualisierungen für den gesamten Logischen Gemeinsamen Speicher im sekundären Steuerprozessormodul 250 beinhalten, wobei dann das sekundäre Steuerprozessormodul 250 die Aktualisierungen außerhalb der ersten 8 Kbyte des Logischen Gemeinsamen Speichers ignorieren kann. Der dritte Basissteuerzyklus überträgt Sync-Daten auf die dritten 4 Kbyte des Logischen Gemeinsamen Speichers im sekundären Steuerprozessormodul 250, und jegliche Track-Daten, die zugleich während des dritten Basissteuerzyklus übertragen werden, können Aktualisierungen nur der ersten 12 Kbyte des Logischen Gemeinsamen Speichers im sekundären Steuerprozessormodul 250, oder Aktualisierungen für den gesamten Logischen Gemeinsamen Speicher im sekundären Steuerprozessormodul 250 beinhalten, wobei dann das sekundäre Steuerprozessormodul 250 die Aktualisierungen außerhalb der ersten 12 Kbyte des Logischen Gemeinsamen Speichers ignorieren kann, und so weiter.
  • Es werden also in der Anfangssynchronisierung zwanzig Basissteuerzyklen ausgeführt, wobei 80 Kbyte Sync-Daten auf das sekundäre Steuerprozessormodul 250 übertragen werden. Die Anfangssynchronisierungsphase des Betriebs erfordert also fünfzig (50) Sekunden, um eine komplette 4 Mbyte Kopie des Logischen Gemeinsamen Speichers auf das sekundäre Steuerprozessormodul 250 zu übertragen. Alle Übertragungen von Track-Daten, die während der Anfangssynchronisierungsphase auftreten, sind ebenso 4-Kbyte große Aktualisierungen der Sync-Daten und finden periodisch immer dann statt, wenn der Datenpuffer 225 voll wird.
  • Das Segment, das die Ausgangsdaten speichert und Eingangsdaten abruft, ist eine von zwei primären Funktionen, die von dem Steuerkernel der Steuersoftware im primären Steuerprozessormodul 200 ausgeführt werden. Während dieser Phase verwendet der Steuerkernel auf Software basierende E/A-Module, um die Arbeitsgänge für den Abruf der letzten Eingangsdaten, die vom Zerkleinerer 1 und/oder dem Rest der Prozeßanlage 100 eingegangen sind, sowie Schreiboperationen an den Rest der Prozeßanlage 100 über die Ausgangsdaten, die im vorhergehenden Basissteuerzyklus berechnet wurden, auszuführen.
  • Das Funktionsblockverarbeitungssegment ist die zweite der zwei primären Funktionen, die von dem Steuerkernel der Steuersoftware im primären Steuerprozessormodul 200 ausgeführt werden. Die Funktionsblockverarbeitung führt die Prozeßmodule aus, die nicht im Zusammenhang mit dem Eingang/Ausgang stehen, etwa algorithmisch logische Blöcke, die die Steuerstrategie für den Zerkleinerer 1 realisieren.
  • Das Speicherverwaltungssegment führt die Speicherkonsolidierung aus, indem Funktionsblöcke bewegt werden, um so leere Speicherstellen zwischen Funktionsblöcken zu eliminieren. Diese Defragmentierung des Speichers wird sowohl im primären Steuerprozessormodul 200 als auch im sekundären Steuerprozessormodul 250 durchgeführt. In einer bevorzugten Ausführungsform der vorliegenden Erfindung wird die Defragmentierung im sekundären Steuerprozessormodul 250 repliziert, indem eingebettete Nachrichten als Teil der Track-Daten gesendet werden, die das sekundäre Steuerprozessormodul 250 über die Größe und die ursprüngliche Anfangsadresse eines jeden Datenblocks, der im primären Steuerprozessormodul 200 bewegt wurde, sowie über die Anfangsadresse des bewegten Blocks informieren. Das sekundäre Steuerprozessormodul 250 kann dann die Übertragung der Speicherblöcke replizieren, ohne daß die erfaßten Schreiboperationen als Konsequenz der Blockumschichtungen vom primären Steuerprozessormodul 200 auf das sekundäre Steuerprozessormodul 250 übertragen werden müssen.
  • Das Diagnostiksegment verifiziert den Betrieb des Trackers 210, indem es eine durchgehende Summenprobe der Daten durchführt, die vom primären Steuerprozessormodul 200 auf das sekundäre Steuerprozessormodul 250 übertragen werden. Der Wert der Summenprobe wird auf dem 4-Kbyte Block im Datenpuffer 225 ausgeführt und mit den Sync-/Track-Daten zum sekundären Steuerprozessormodul 250 gesandt. Das sekundäre Steuerprozessormodul 250 verifiziert den Wert der Summenprobe, um sicherzustellen, daß die Syn- und Track-Daten korrekt empfangen wurden.
  • Das Responder-Ebenenfunktionssegment schließlich initialisiert und überwacht die Netzwerkverbindungen mit den anderen Prozeßsteuergeräten 125, dem Zerkleinerer 1, und dem Überwachungssteuergerät 120. Abhängig von der Netzwerkarchitektur, die in der Prozeßanlage 100 realisiert ist, können diese Verbindungen Client/Server-Verbindungen, Peer-to-Peer-Verbindungen oder ähnliche Verbindungen sein.
  • 3B ist ein beispielhaftes Zeitschaltbild 310, das die Übertragung der Prozeßsteuerdaten während einer Synchronisierungswartungsphase des Betriebs gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Das Zeitschaltbild 310 zeigt die Ausführung eines vollständigen, beispielhaften Basissteuerzyklus in dem primären Steuerprozessormodul 200 von einem Startpunkt, t0, bis zu einem Endpunkt, t1. Wie zuvor beträgt die Ausführung eines Basissteuerzyklus fünfzig (50) Millisekunden.
  • Die grundlegenden Teile der Ausführung des Basissteuerzyklus ändern sich nicht zwischen der Anfangssynchronisierungsphase des Betriebs und der Synchronisierungswartungsphase des Betriebs. Wiederum umfaßt ein Basissteuerzyklus ein Redundanzfunktionssegment, ein Segment, das Ausgangsdaten speichert und Eingangsdaten abruft, ein Funktionsblockverarbeitungssegment, ein Speicherverwaltungssegment, ein Diagnostiksegment, und ein Responder-Ebenenfunktionssegment. Nun ist es jedoch nicht mehr nötig, während jeder Ausführung des Basissteuerzyklus einen 4-Kbyte Block an Sync-Daten zu übertragen, da die gesamten Sync-Daten schon während der Anfangssynchronisierung übertragen wurden. Während der Synchronisierungswartung werden periodisch immer dann Track-Daten in 4-Kbyte Blöcken gesandt, wenn der Datenpuffer 225 voll wird.
  • Zu Beginn eines jeden Basissteuerzyklus wird ein OK-Signal an das sekundäre Steuerprozessormodul 250 gesandt, welches übermittelt, daß die Daten zu diesem Zeitpunkt geklärt sind. Das OK-Signal zeigt dem sekundären Steuerprozessormodul 250, das die Track-Daten, die das sekundäre Steuerprozessormodul 250 seit dem letzten OK-Signal angesammelt hat, vollständig und kohärent sind. Dies schützt das sekundäre Steuerprozessormodul 250 vor Situationen, in denen etwa die erste Hälfte einer Schreiboperation vom Tracker 210 erfaßt wurde und dann sofort auf das sekundäre Steuerprozessormodul 250 übertragen wurde, da der Datenpuffer 225 zufällig in diesem Moment voll war. Die so übertragenen Daten wären unvollständig (und unzuverlässig), bis die zweite Hälfte der Schreiboperation im nächsten Track-Daten Block übertragen ist, die vom Datenpuffer 225 gesandt wird. Um sich gegen dieses Ereignis abzusichern, werden die Track-Daten im sekundären Steuerprozessormodul 250 zwischengespeichert, bis das nächste OK-Signal empfangen wird, woraufhin die Track-Daten in den Haupt- RAM-Speicher 270 geschrieben werden. Bei Versagen des primären Steuerprozessormoduls 250 werden alle unvollständigen Track-Daten (z. B. Track-Daten, für die noch kein OK-Signal empfangen wurde) im sekundären Steuerprozessormodul 250 verworfen. Das sekundäre Steuerprozessormodul 250 beginnt dann an einem Punkt, an dem das Speicherbild in Bezug auf das letzte empfangene OK-Signal kohärent ist.
  • 4 ist ein Flußdiagramm 400, das den Betrieb des primären Steuerprozessormoduls während einer Ausführung des Basissteuerzyklus in der Anfangssynchronisierungsphase des Betriebs gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Zu Beginn des Basissteuerzyklus identifiziert das primäre Steuerprozessormodul 200 den nächsten (oder vielleicht ersten) 4-Kbyte Block des Logischen Gemeinsamen Speichers, der vom sekundären Steuerprozessormodul 250 benötigt wird und sendet ihn in Form von Sync-Daten an das sekundäre Steuerprozessormodul 250 (Prozeßschritt 401).
  • In den Ausführungsformen der vorliegenden Erfindung, in denen die Track-Daten nur diejenigen Bereiche des Logischen Gemeinsamen Speichers im sekundären Steuerprozessormodul 250 aktualisieren, die bereits als Teil der Sync-Daten übertragen wurden, paßt das primäre Steuerprozessormodul 200 die Größe des Tracking-Fensters, das der Tracker 210 im Logischen Gemeinsamen Speicher des Haupt-RAM-Speichers überwacht, entsprechend an, um die aktuellste Übertragung von Sync-Daten an das sekundäre Steuerprozessormodul 250 (Prozeßschritt 402) zu sichern. Der Tracker 210 überwacht dann das Tracking-Fenster, um zu verifizieren, ob Schreiboperationen im Adressierungsbereich, der durch das Tracking-Fenster definiert ist, auftreten (Prozeßschritt 403). Wenn keine Schreiboperation erkannt wird, fährt der Tracker 210 mit der Überwachung des Tracking-Fensters nach Schreiboperationen fort (Prozeßschritte 404 und 403).
  • In den alternativen Ausführungsformen der vorliegenden Erfindung, in denen die Track-Daten alle Bereiche des Logischen Gemeinsamen Speichers im sekundären Steuerprozessormodul 250 aktualisieren, unabhängig davon, ob die Daten bereits als Teil der Sync-Daten übertragen und initialisiert wurden oder nicht, kann der Prozeßschritt 402 ausgelassen werden, da das Tracking-Fenster für den Tracker 210 den gesamten Logischen Gemeinsamen Speicher abdeckt.
  • Wenn eine Schreiboperation erkannt wird, werden die geänderten Daten auf den FIFO-Speicher 215 geschrieben (Prozeßschritte 404 und 405). Wenn FIFO 215 nicht voll ist, fährt der Tracker 210 mit der Überwachung des Tracking-Fensters nach Schreiboperationen fort (Prozeßschritte 406 und 403). Wenn FIFO 215 voll ist, wird der Inhalt von FIFO 215 auf den Datenpuffer 225 übertragen (Prozeßschritte 406 und 407). Wenn der Datenpuffer 225 nicht voll ist, fährt der Tracker 210 mit der Überwachung des Tracking-Fensters nach Schreiboperationen fort (Prozeßschritte 408 und 403). Wenn der Datenpuffer 225 voll ist, wird der Inhalt des Datenpuffers 225 als Track-Daten auf das sekundäre Steuerprozessormodul 250 übertragen (Prozeßschritte 408 und 409).
  • 5 ist ein Flußdiagramm 500, das den Betrieb des primären Steuerprozessormoduls 200 während einer Ausführung des Basissteuerzyklus in der Synchronisierungswartungsphase des Betriebs gemäß einer Ausführungsform der vorliegenden Erfindung illustriert. Zu Beginn des Basissteuerzyklus sendet das primäre Steuerprozessormodul 200 alle Track-Daten, die sich während des vorhergegangenen Basissteuerzyklus im Datenpuffer 225 angesammelt haben, an das sekundäre Steuerprozessormodul 250, wodurch mindestens eine Übertragung der Track-Daten pro Basissteuerzyklus sichergestellt wird. Das primäre Steuerprozessormodul 200 sendet auch ein OK-Signal, welches übermittelt, daß die Daten zu diesem Zeitpunkt geklärt sind (Prozeßschritt 501).
  • Als nächstes überwacht der Tracker 210 den Adressierungsbereich des Logischen Gemeinsamen Speichers im Haupt-RAM-Speicher, um zu verifizieren, ob Schreiboperationen irgendwo im Adressierungsbereich des Logischen Gemeinsamen Speichers auftreten (Prozeßschritt 503). Wenn keine Schreiboperation erkannt wird, fährt der Tracker 210 mit der Überwachung des Tracking-Fensters nach Schreiboperationen fort (Prozeßschritte 503 und 502).
  • Wenn eine Schreiboperation erkannt wird, werden die geänderten Daten auf den FIFO-Speicher 215 geschrieben (Prozeßschritte 503 und 504). Wenn FIFO 215 nicht voll ist, fährt der Tracker 210 mit der Überwachung des Tracking-Fensters nach Schreiboperationen fort (Prozeßschritte 505 und 502). Wenn FIFO 215 voll ist, wird der Inhalt von FIFO 215 auf den Datenpuffer 225 übertragen (Prozeßschritte 505 und 506). Wenn der Datenpuffer 225 nicht voll ist, fährt der Tracker 210 mit der Überwachung des Tracking-Fensters nach Schreiboperationen fort (Prozeßschritte 507 und 502). Wenn der Datenpuffer 225 voll ist, wird der Inhalt des Datenpuffers 225 als Track-Daten auf das sekundäre Steuerprozessormodul 250 übertragen (Prozeßschritte 507 und 508).
  • Die oben beschriebene Ausführungsform der vorliegenden Erfindung sieht eine "Tröpfel"-Methode für die Synchronisierung des primären Steuerprozessormoduls 200 und des sekundären Steuerprozessormoduls 250 vor. Anstatt die im Vordergrund ablaufenden Aufgaben, die von dem primären Steuerprozessormodul 200 ausgeführt werden, periodisch zu unterbrechen, während ein großer Track-Datenblock auf das sekundäre Steuerprozessormodul einen Strom an viel kleineren aktualisierten Track-Datenblöcken vor, die synchron mit jeder Ausführung des Basissteuerzyklus abläuft.
  • Indem der Datenpuffer 225 und der FIFO-Speicher 215 ausreichend klein ausgelegt sind, kann die erforderliche Zeit, um einen Sync- oder Track-Datenblock auf das sekundäre Steuerprozessormodul 250 zu übertragen, ausreichend kurz gehalten werden, so daß die Übertragung eines oder mehrerer Sync-/Track-Datenblöcke innerhalb einer einzigen Ausführung des Basissteuerzyklus durchgeführt werden. Dies bietet eine nahtlosere Synchronisierung zwischen den redundanten Steuergeräten, wodurch ein synchronisiertes sekundäres Steuerprozessormodul 250 erreicht wird, ohne den normalen Betrieb des primären Steuerprozessormodul 200 zu beeinflussen.
  • Obwohl die vorliegende Erfindung und ihre Vorzüge im Detail beschrieben wurden, sollten Fachleute verstehen, daß sie verschiedene Veränderungen, Ersetzungen und Abänderungen an ihr vornehmen können.

Claims (12)

  1. System zur Aufrechterhaltung der Datenkohärenz zwischen einem primären Prozeßregler (200), der Prozeßregelaufgaben ausführen kann, und einem Reserveprozeßregler (250), der den primären Prozeßregler bei Versagen ersetzen kann, wobei der primäre Prozeßregler die Prozeßregelaufgaben während der Basisregelzyklen mit einer Zeitspanne T in zyklischen Abständen durchführt, wobei das System umfaßt: eine Nachverfolgungsdatenleitung (210), die geänderte Daten in einem Hauptspeicher (220) des primären Prozeßreglers erkennen kann, einen Datenpufferspeicher (225) zur temporären Speicherung der geänderten Daten, wobei die geänderten Daten kontinuierlich in dem Datenpufferspeicher (225) gespeichert werden, bis der Pufferspeicher voll ist, und Datenübertragungsschaltungen zur Übertragung der geänderten Daten in dem Datenpufferspeicher (225), wenn der Datenpufferspeicher voll ist, auf einen Reservespeicher (270) in dem Reserveprozeßregler (250), mindestens einmal während jedes Basisregelzyklusses (300, 310) des primären Prozeßreglers (200), so daß die Übertragung der geänderten Daten die Ausführung der Prozeßregelaufgaben nicht stört.
  2. System nach Anspruch 1, wobei der Datenpufferspeicher (225) klein genug ist, um die vollständige Übertragung der geänderten Daten innerhalb des Basisregelzyklusses (300, 310) zu ermöglichen.
  3. System nach einem der vorangegangenen Ansprüche, wobei die Nachverfolgungsdatenleitung (210) Schreiboperationen in dem Hauptspeicher (220) des primären Prozeßreglers (200) erkennt.
  4. System nach einem der vorangegangenen Ansprüche, wobei die Nachverfolgungsdatenleitung (210) Schreiboperationen in einem ausgewählten, gemeinsam genutzten Adressierungsbereich im Hauptspeicher (220) des primären Prozeßreglers (200) erkennt.
  5. System nach einem der vorangegangenen Ansprüche, wobei die Datenübertragungsschaltungen die Datenkohärenz zwischen einem ausgewählten, gemeinsam genutzten Adressierungsbereich im Hauptspeicher und dem Reservespeicher (270) während einer Anfangsbetriebsphase herstellt, indem eine Vielzahl an Teilbereichen des ausgewählten, gemeinsam genutzten Adressierungsbereichs vom Hauptspeicher (220) auf den Reservespeicher (270) übertragen wird, bis der ausgewählte, gemeinsam genutzte Adressierungsbereich des Hauptspeichers (220) vollständig auf den Reservespeicher (270) übertragen ist.
  6. System nach einem der vorangegangenen Ansprüche, wobei die Nachverfolgungsdatenleitung (210) während der Anfangsbetriebsphase geänderte Daten nur in den Teilbereichen des ausgewählten, gemeinsam genutzten Adressierungsbereichs erkennt, die vorher schon auf den Reservespeicher (270) übertragen wurden.
  7. Verfahren zur Aufrechterhaltung der Datenkohärenz zwischen einem primären Prozeßregler (200), der Prozeßregelaufgaben ausführen kann, und einem Reserveprozeßregler (250), der den primären Prozeßregler bei Versagen ersetzen kann, wobei der primäre Prozeßregler die Prozeßregelaufgaben während der Basisregelzyklen mit einer Zeitspanne T in zyklischen Abständen durchführt, wobei das Verfahren folgende Schritte umfaßt: Erkennen der geänderten Daten in einem Hauptspeicher (220) des primären Prozeßreglers; temporäres Speichern der geänderten Daten in einem Datenpufferspeicher (225), bis der Datenpufferspeicher voll ist; und wenn der Datenpufferspeicher voll ist, Übertragen der geänderten Daten im Datenpufferspeicher auf einen Reservespeicher (270) des Reserveprozeßreglers (250), mindestens einmal während jedes Basisregelzyklusses des primären Prozeßreglers (200), so daß die Übertragung der geänderten Daten die Ausführung des Prozeßregelaufgaben nicht stört.
  8. Verfahren nach Anspruch 7, wobei der Datenpufferspeicher (225) klein genug ist, um die vollständige Übertragung der geänderten Daten innerhalb des Basisregelzyklusses zu ermöglichen.
  9. Verfahren nach Anspruch 7 oder 8, wobei der Schritt des Erkennens der geänderten Daten den Unterschritt des Erkennens der Schreiboperationen im Hauptspeicher (220) des primären Prozeßreglers (200) beinhaltet.
  10. Verfahren nach einem der Ansprüche 7 bis 9, wobei der Schritt des Erkennens der geänderten Daten den Unterschritt des Erkennens der Schreiboperationen in einem ausgewählten, gemeinsam genutzten Adressierungsbereich im Hauptspeicher (220) des primären Prozeßreglers (200) beinhaltet.
  11. Verfahren nach einem der Ansprüche 7 bis 9, einschließlich des weiteren Schrittes des Herstellens der Datenkohärenz zwischen einem ausgewählten, gemeinsam genutzten Adressierungsbereichs des Hauptspeichers und dem Reservespeicher während einer Anfangsbetriebsphase, indem eine Vielzahl von Teilbereichen des ausgewählten, gemeinsam genutzten Adressierungsbereichs vom Hauptspeicher auf den Reservespeicher übertragen wird, bis der ausgewählte, gemeinsam genutzte Adressie rungsbereich des Hauptspeichers vollständig auf den Reservespeicher übertragen ist.
  12. Verfahren nach einem der Ansprüche 7 bis 10, einschließlich des weiteren Schrittes, daß während der Anfangsbetriebsphase geänderte Daten nur in den Teilbereichen des ausgewählten, gemeinsam genutzten Adressierungsbereichs erkannt werden, die vorher schon auf den Reservespeicher übertragen wurden.
DE69815392T 1997-12-19 1998-11-16 Systeme und verfahren zur synchronisierung von redundanten steuerungen mit minimaler steuerungsstörung Expired - Lifetime DE69815392T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US993336 1992-12-18
US08/993,336 US6170044B1 (en) 1997-12-19 1997-12-19 Systems and methods for synchronizing redundant controllers with minimal control disruption
PCT/US1998/024426 WO1999032947A1 (en) 1997-12-19 1998-11-16 Systems and methods for synchronizing redundant controllers with minimal control disruption

Publications (2)

Publication Number Publication Date
DE69815392D1 DE69815392D1 (de) 2003-07-10
DE69815392T2 true DE69815392T2 (de) 2004-05-13

Family

ID=25539406

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69815392T Expired - Lifetime DE69815392T2 (de) 1997-12-19 1998-11-16 Systeme und verfahren zur synchronisierung von redundanten steuerungen mit minimaler steuerungsstörung

Country Status (8)

Country Link
US (1) US6170044B1 (de)
EP (1) EP1040394B1 (de)
JP (1) JP2001527232A (de)
CN (1) CN1174300C (de)
AU (1) AU749129B2 (de)
CA (1) CA2315009C (de)
DE (1) DE69815392T2 (de)
WO (1) WO1999032947A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004001031B4 (de) 2003-01-02 2022-11-17 Fisher-Rosemount Systems, Inc. Redundante Anwendungsendgeräte für Prozesssteuerungssysteme

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6449733B1 (en) * 1998-12-07 2002-09-10 Compaq Computer Corporation On-line replacement of process pairs in a clustered processor architecture
US6915364B1 (en) 1999-07-02 2005-07-05 Fisher Rosemount Systems, Inc. Automatically downloaded link active schedule
DE19933963A1 (de) * 1999-07-20 2001-02-01 Heidenhain Gmbh Dr Johannes Verfahren und Anordnung zur Datenübertragung zwischen verschiedenen Speichereinheiten von Positionsmeßeinrichtungen
US6415418B1 (en) * 1999-08-27 2002-07-02 Honeywell Inc. System and method for disseminating functional blocks to an on-line redundant controller
US6751188B1 (en) * 2000-04-17 2004-06-15 Cisco Technology, Inc. Method and apparatus for a graceful controller switchover
US6813693B2 (en) * 2000-12-11 2004-11-02 Microsoft Corporation System and method for the discovery and use of repetitively accessed data
US6826653B2 (en) * 2002-02-06 2004-11-30 Hewlett-Packard Development Company, L.P. Block data mover adapted to contain faults in a partitioned multiprocessor system
US20040078652A1 (en) * 2002-03-08 2004-04-22 Tapper Gunnar D. Using process quads to enable continuous services in a cluster environment
US20030208750A1 (en) * 2002-03-29 2003-11-06 Tapper Gunnar D. Information exchange for process pair replacement in a cluster environment
US7328370B2 (en) * 2003-09-12 2008-02-05 Rockwell Automation Technologies, Inc. Safety controller with simplified interface
US7315951B2 (en) * 2003-10-27 2008-01-01 Nortel Networks Corporation High speed non-volatile electronic memory configuration
US7154862B2 (en) * 2003-12-31 2006-12-26 Openpeak Inc. Device control system, method, and apparatus for server-based or peer-to-peer network environments
JP2005293315A (ja) * 2004-03-31 2005-10-20 Nec Corp データミラー型クラスタシステム及びデータミラー型クラスタシステムの同期制御方法
US7290170B2 (en) * 2004-04-07 2007-10-30 International Business Machines Corporation Arbitration method and system for redundant controllers, with output interlock and automatic switching capabilities
WO2006014573A2 (en) * 2004-07-07 2006-02-09 Yotta Yotta, Inc. Systems and methods for providing distributed cache coherence
US20060133412A1 (en) * 2004-12-22 2006-06-22 Rockwell Automation Technologies, Inc. Integration of control and business applications using integration servers
US20060173811A1 (en) * 2005-02-02 2006-08-03 Honeywell International Inc. Method and apparatus for reducing memory and communication activity in a redundant process controller with change-driven memory imaging, through optimization of unchanging data
US20060174051A1 (en) * 2005-02-02 2006-08-03 Honeywell International Inc. Method and apparatus for a redundancy approach in a processor based controller design
US7706895B2 (en) * 2005-02-25 2010-04-27 Rockwell Automation Technologies, Inc. Reliable messaging instruction
DE102005009795A1 (de) * 2005-03-03 2006-09-14 Wago Verwaltungsgesellschaft Mbh Mikroprozessorsystem für eine Maschinensteuerung in sicherheitszertifizierbaren Anwendungen
US7233830B1 (en) * 2005-05-31 2007-06-19 Rockwell Automation Technologies, Inc. Application and service management for industrial control devices
US7340574B2 (en) * 2005-08-30 2008-03-04 Rockwell Automation Technologies, Inc. Method and apparatus for synchronizing an industrial controller with a redundant controller
US8713551B2 (en) * 2006-01-03 2014-04-29 International Business Machines Corporation Apparatus, system, and method for non-interruptively updating firmware on a redundant hardware controller
US8359112B2 (en) * 2006-01-13 2013-01-22 Emerson Process Management Power & Water Solutions, Inc. Method for redundant controller synchronization for bump-less failover during normal and program mismatch conditions
US7774645B1 (en) * 2006-03-29 2010-08-10 Emc Corporation Techniques for mirroring data within a shared virtual memory system
EP1906277A1 (de) * 2006-09-29 2008-04-02 Siemens Aktiengesellschaft Verfahren zum Synchronisieren von zwei Steuereinrichtungen und redundant aufgebaute Automatisierungsvorrichtung
US7877625B2 (en) * 2008-04-16 2011-01-25 Invensys Systems, Inc. Efficient architecture for interfacing redundant devices to a distributed control system
US7900006B2 (en) * 2008-04-30 2011-03-01 Netapp, Inc. Maintaining checkpoints during backup of live system
US8713697B2 (en) 2008-07-09 2014-04-29 Lennox Manufacturing, Inc. Apparatus and method for storing event information for an HVAC system
US8527096B2 (en) 2008-10-24 2013-09-03 Lennox Industries Inc. Programmable controller and a user interface for same
US8543243B2 (en) 2008-10-27 2013-09-24 Lennox Industries, Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8433446B2 (en) 2008-10-27 2013-04-30 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
US8463443B2 (en) 2008-10-27 2013-06-11 Lennox Industries, Inc. Memory recovery scheme and data structure in a heating, ventilation and air conditioning network
US20100106810A1 (en) * 2008-10-27 2010-04-29 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8994539B2 (en) 2008-10-27 2015-03-31 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
US9432208B2 (en) * 2008-10-27 2016-08-30 Lennox Industries Inc. Device abstraction system and method for a distributed architecture heating, ventilation and air conditioning system
US9651925B2 (en) 2008-10-27 2017-05-16 Lennox Industries Inc. System and method for zoning a distributed-architecture heating, ventilation and air conditioning network
US8452906B2 (en) * 2008-10-27 2013-05-28 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8463442B2 (en) 2008-10-27 2013-06-11 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and air conditioning network
US8694164B2 (en) 2008-10-27 2014-04-08 Lennox Industries, Inc. Interactive user guidance interface for a heating, ventilation and air conditioning system
US8661165B2 (en) 2008-10-27 2014-02-25 Lennox Industries, Inc. Device abstraction system and method for a distributed architecture heating, ventilation and air conditioning system
US20100106329A1 (en) * 2008-10-27 2010-04-29 Lennox Manufacturing, Inc., A Corporation Of Delaware Apparatus and method for controlling an environmental conditioning system
US8798796B2 (en) 2008-10-27 2014-08-05 Lennox Industries Inc. General control techniques in a heating, ventilation and air conditioning network
US8600559B2 (en) 2008-10-27 2013-12-03 Lennox Industries Inc. Method of controlling equipment in a heating, ventilation and air conditioning network
US9325517B2 (en) 2008-10-27 2016-04-26 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US8437878B2 (en) 2008-10-27 2013-05-07 Lennox Industries Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and air conditioning network
US8437877B2 (en) 2008-10-27 2013-05-07 Lennox Industries Inc. System recovery in a heating, ventilation and air conditioning network
US8564400B2 (en) * 2008-10-27 2013-10-22 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US9678486B2 (en) * 2008-10-27 2017-06-13 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US8655491B2 (en) 2008-10-27 2014-02-18 Lennox Industries Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and air conditioning network
US8874815B2 (en) 2008-10-27 2014-10-28 Lennox Industries, Inc. Communication protocol system and method for a distributed architecture heating, ventilation and air conditioning network
US8560125B2 (en) 2008-10-27 2013-10-15 Lennox Industries Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8452456B2 (en) 2008-10-27 2013-05-28 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8762666B2 (en) 2008-10-27 2014-06-24 Lennox Industries, Inc. Backup and restoration of operation control data in a heating, ventilation and air conditioning network
US8977794B2 (en) 2008-10-27 2015-03-10 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8442693B2 (en) * 2008-10-27 2013-05-14 Lennox Industries, Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US9632490B2 (en) 2008-10-27 2017-04-25 Lennox Industries Inc. System and method for zoning a distributed architecture heating, ventilation and air conditioning network
US8600558B2 (en) 2008-10-27 2013-12-03 Lennox Industries Inc. System recovery in a heating, ventilation and air conditioning network
US8725298B2 (en) 2008-10-27 2014-05-13 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and conditioning network
US8892797B2 (en) 2008-10-27 2014-11-18 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8548630B2 (en) * 2008-10-27 2013-10-01 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
US8744629B2 (en) 2008-10-27 2014-06-03 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8788100B2 (en) * 2008-10-27 2014-07-22 Lennox Industries Inc. System and method for zoning a distributed-architecture heating, ventilation and air conditioning network
US8295981B2 (en) 2008-10-27 2012-10-23 Lennox Industries Inc. Device commissioning in a heating, ventilation and air conditioning network
US8855825B2 (en) 2008-10-27 2014-10-07 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US20100106310A1 (en) * 2008-10-27 2010-04-29 Lennox Industries Inc. Alarm and diagnostics system and method for a distributed- architecture heating, ventilation and air conditioning network
US8615326B2 (en) 2008-10-27 2013-12-24 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8802981B2 (en) 2008-10-27 2014-08-12 Lennox Industries Inc. Flush wall mount thermostat and in-set mounting plate for a heating, ventilation and air conditioning system
US8655490B2 (en) 2008-10-27 2014-02-18 Lennox Industries, Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8774210B2 (en) 2008-10-27 2014-07-08 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
CN101770345B (zh) * 2008-12-31 2012-06-27 成都市华为赛门铁克科技有限公司 建立逻辑地址空间的方法、访问存储装置的方法及存储架构
DE102009019096A1 (de) * 2009-04-20 2010-11-04 Pilz Gmbh & Co. Kg Sicherheitssteuerung und Verfahren zum Steuern einer automatisierten Anlage
CN103970116A (zh) * 2013-01-30 2014-08-06 昆达电脑科技(昆山)有限公司 冗余系统监控方法
US9471632B2 (en) * 2013-10-18 2016-10-18 International Business Machines Corporation Query optimization considering virtual machine mirroring costs
US9961054B2 (en) 2014-01-29 2018-05-01 Honeywell International Inc. Apparatus and method for establishing secure communication with redundant device after switchover
EP2940537B1 (de) * 2014-04-30 2019-03-20 ABB Schweiz AG Verfahren und vorrichtung zur multi-zyklus-replikation
US10042330B2 (en) 2014-05-07 2018-08-07 Honeywell International Inc. Redundant process controllers for segregated supervisory and industrial control networks
US9699022B2 (en) 2014-08-01 2017-07-04 Honeywell International Inc. System and method for controller redundancy and controller network redundancy with ethernet/IP I/O
CN104615065B (zh) * 2015-01-15 2017-09-05 中车青岛四方机车车辆股份有限公司 用于列车网络控制系统的数据处理方法及装置
JP6359192B2 (ja) * 2015-07-23 2018-07-18 三菱電機株式会社 二重化プロセス制御装置
CN105159195B (zh) * 2015-08-28 2018-09-07 中广核工程有限公司 冗余dcs系统及用于降低冗余dcs系统的核级cpu负荷的方法
US10860541B2 (en) * 2016-04-11 2020-12-08 Johnson Controls Fire Protection LP Fire detection system with distributed file system
US10503617B2 (en) 2017-02-16 2019-12-10 Honeywell International Inc. Method for synchronizing redundant controllers without hardware support
US10296482B2 (en) 2017-03-07 2019-05-21 Honeywell International Inc. System and method for flexible connection of redundant input-output modules or other devices
US9990286B1 (en) * 2017-05-05 2018-06-05 Honeywell International, Inc. Memory tracking using copy-back cache for 1:1 device redundancy
DE102018106906A1 (de) * 2018-03-22 2019-09-26 Fresenius Medical Care Deutschland Gmbh Medizingerät
US11481282B2 (en) 2019-03-29 2022-10-25 Honeywell International Inc. Redundant controllers or input-output gateways without dedicated hardware
US11662715B2 (en) * 2020-02-13 2023-05-30 Honeywell International Inc. Multi-synch of a primary automation device with multiple secondaries
US11762742B2 (en) 2020-03-31 2023-09-19 Honeywell International Inc. Process control system with different hardware architecture controller backup
US11215378B2 (en) * 2020-05-06 2022-01-04 Trane International Inc. Systems and methods for controlling a climate control system
JP2022029907A (ja) * 2020-08-06 2022-02-18 オムロン株式会社 制御装置およびプログラム
CN112327600B (zh) * 2020-10-28 2022-03-18 中国核动力研究设计院 一种冗余控制器的数据同步方法、冗余控制器及仪控系统
US11874938B2 (en) 2020-11-03 2024-01-16 Honeywell International Inc. Admittance mechanism
US11609809B1 (en) * 2021-08-25 2023-03-21 Honeywell International Inc. Method and apparatus for the enhanced diagnostic coverage of a secondary device of a redundant controller pair

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3277424D1 (en) * 1982-12-13 1987-11-05 Fraunhofer Ges Forschung Coupler for processors
FR2561410B1 (fr) * 1984-03-13 1987-11-20 Merlin Gerin Commande de process associe a deux automates programmables redondants
DE3902849A1 (de) * 1989-02-01 1990-08-02 Vdo Schindling Schaltungsanordnung zum austausch von daten zwischen zwei mikrocomputern
US5088021A (en) * 1989-09-07 1992-02-11 Honeywell, Inc. Apparatus and method for guaranteed data store in redundant controllers of a process control system
EP0518630A3 (en) * 1991-06-12 1993-10-20 Aeci Ltd Redundant control system
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
US5313386A (en) * 1992-06-11 1994-05-17 Allen-Bradley Company, Inc. Programmable controller with backup capability
DE69523124T2 (de) * 1994-12-15 2002-05-29 Hewlett Packard Co Fehlererkennungssystem für einen gespiegelten Speicher in einer duplizierten Steuerung eines Plattenspeicherungssystems
EP0721162A2 (de) * 1995-01-06 1996-07-10 Hewlett-Packard Company Speicherplattenanordnung mit auf gespiegeltem Speicher basierten doppelten Steuergeräten
US5712970A (en) * 1995-09-28 1998-01-27 Emc Corporation Method and apparatus for reliably storing data to be written to a peripheral device subsystem using plural controllers
US5819310A (en) * 1996-05-24 1998-10-06 Emc Corporation Method and apparatus for reading data from mirrored logical volumes on physical disk drives
US5896492A (en) * 1996-10-28 1999-04-20 Sun Microsystems, Inc. Maintaining data coherency between a primary memory controller and a backup memory controller
US5912814A (en) * 1997-05-07 1999-06-15 Allen-Bradley Company, Llc Redundant multitasking industrial controllers synchronized data tables
US5933347A (en) * 1997-06-13 1999-08-03 Allen-Bradley Company Llc Industrial controller with program synchronized updating of back-up controller

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004001031B4 (de) 2003-01-02 2022-11-17 Fisher-Rosemount Systems, Inc. Redundante Anwendungsendgeräte für Prozesssteuerungssysteme

Also Published As

Publication number Publication date
EP1040394A1 (de) 2000-10-04
CA2315009A1 (en) 1999-07-01
JP2001527232A (ja) 2001-12-25
CN1174300C (zh) 2004-11-03
US6170044B1 (en) 2001-01-02
CN1285061A (zh) 2001-02-21
EP1040394B1 (de) 2003-06-04
CA2315009C (en) 2007-07-17
WO1999032947A1 (en) 1999-07-01
AU749129B2 (en) 2002-06-20
AU1460899A (en) 1999-07-12
DE69815392D1 (de) 2003-07-10

Similar Documents

Publication Publication Date Title
DE69815392T2 (de) Systeme und verfahren zur synchronisierung von redundanten steuerungen mit minimaler steuerungsstörung
EP2817682B1 (de) Verfahren zum ausfallsicheren betreiben eines prozesssteuersystems mit redundanten steuereinrichtungen
DE10159697B4 (de) Redundante Einrichtungen in einem Prozesssteuersystem
EP3017371B1 (de) Verfahren zur fehlerueberwachung, steuer- und datenuebertragungsanlage und steuereinrichtung
DE10325069B4 (de) Programmierbare Steuerung mit CPU-Einheiten und Spezialfunktionsmodulen sowie Verfahren zur Aufdopplung
EP2684335B1 (de) Energieautomatisierungsanlage und verfahren zum betreiben einer energieautomatisierungsanlage
DE112010005955T5 (de) Steuerungssystem das während des Betriebs rekonfigurierbar ist, und Verfahren dafür
DE2716775C2 (de)
WO2002001305A1 (de) Redundantes steuerungssystem sowie steuerrechner und peripherieeinheit für ein derartiges steuerungssystem
DE10031670A1 (de) Automatisch heruntergeladener verbindungsaktiver Plan
EP1296207B1 (de) HMI Gerät und Verfahren zur Bedienung einer technischen Einrichtung, Automatisierungssystem mit HMI Gerät und Computerprogrammprodukt mit Programm zur Durchführung des Verfahrens in einem HMI Gerät oder Automatisierungssystem
EP1095320B1 (de) Steuerungssystem mit einem personalcomputer
DE10324380A1 (de) Programmierbare Steuerung mit CPU und Kommunikationseinheiten sowie Verfahren zur Steuerung derselben
DE602004003327T2 (de) Computersystem und Verfahren zum Wiederanlauf mittels entferntem Kopieren
DE10143972B4 (de) Kommunikationseinrichtung und Verfahren zum Erfassen der Anwesenheit von Geräten
EP2997427A1 (de) Steuerungseinrichtung und verfahren zum umschalten von ein-/ausgabeeinheiten einer steuerungseinrichtung
EP1064589B1 (de) Verfahren zur synchronisation einer lokalen auf eine zentrale zeitbasis, und vorrichtung zur durchführung des verfahrens mit bevorzugen verwendungen
EP3467600A1 (de) Cloud zentralmodul für eine speicherprogrammierbare steuerung
WO2014161986A1 (de) Steuer- und datenübertragungsanlage zur redundanten prozesssteuerung und verfahren zur firmware-aktualisierung
DE102014019492A1 (de) Werkzeugsteuerung und Verfahren zum Betreiben einer Werkzeugsteuerung
DE112006000806T5 (de) Verfahren und Vorrichtung zum Verwalten eines Objekts sowie Teilen davon
EP1536328B1 (de) Datenverarbeitungssystem mit automatisierbarer Verwaltung und Verfahren zur automatisierten Verwaltung eines Datenverarbeitungssystems
EP1136896A2 (de) Hochverfügbares Rechnersystem und Verfahren zur Umschaltung von Bearbeitungsprogrammen eines hochverfügbaren Rechnersystems
DE3123379C2 (de)
EP0525214A1 (de) Verfahren zum Betreiben eines Automatisierungsgeräts

Legal Events

Date Code Title Description
8364 No opposition during term of opposition