-
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 110a–110f,
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 110a–110c,
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 125a–125f,
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.