-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung bezieht
sich allgemein auf Prozesssteuerungssysteme und insbesondere auf
redundante Anwendungsendgeräte
für Prozesssteuerungssysteme.
-
ERFINDUNGSHINTERGRUND
-
Prozesssteuerungssysteme, wie sie
z.B. in der chemischen Industrie, der Petrochemie und für andere
Prozesse eingesetzt werden, umfassen typischerweise einen oder mehrere
zentrale Prozesssteuerungen, die mit wenigstens einem Host bzw. Hauptcomputer
oder einer Bediener-Workstation bzw. Arbeitsplatzsystem und mit
einer oder mehreren Feldvorrichtungen über analoge, digitale oder
kombinierte analog/digitale Datenstrecken kommunikativ verbunden
sind. Die Feldvorrichtungen, bei denen es sich z.B. um Ventile,
Ventilsteller, Schalter und Messwertgeber (z.B. für Temperatur-,
Druck- und Durchflusssensoren)
handelt, führen
Funktionen innerhalb des Prozesses aus, z.B. Öffnen und Schließen von Ventilen
und Erfassen von Prozessparametern. Die Prozesssteuerung erhält Signale,
die Prozessdatenmessungen anzeigen, die von Feldeinrichtungen gemacht
wurden und/oder anderen Informationen, die die Feldvorrichtungen
betreffen, und nutzt diese Informationen zur Implementierung einer
Steuerungsroutine, um Steuersignale zu generieren, die über die Datenstrecken
oder andere Kommunikationsleitungen an die Feldvorrichtungen übermittelt
werden, um die Arbeitsweise des Prozesses zu steuern. Informationen
von den Feldvorrichtungen und den Steuerungen können einer oder mehreren Anwendungen
zur Verfügung
gestellt werden, die von der Bediener-Workstation bzw. dem Arbeitsplatzsystem
ausgeführt
werden, um einem Bediener zu ermöglichen, die
jeweils gewünschten
Funktionen bezüglich
des Prozesses zu veranlassen, etwa Abfragen des aktuellen Prozesszustandes,
Modifikationen des Prozessablaufs, etc.
-
Viele Prozesssteuerungssysteme umfassen außerdem ein
oder mehrere Anwendungsendgeräte. Typischerweise
sind die Anwendungsendgeräte durch
PCs, Arbeitsplatzsysteme o.dgl. realisiert, die dabei über ein
lokales Netzwerk (LAN) mit den Steuerungen, Bediener-Workstations
bzw. Arbeitsplatzsystemen und anderen Systemen innerhalb des Prozesssteuerungssystems
kommunikativ verbunden sind. Jedes Anwendungsendgerät kann eine
oder mehrere Programmanwendungen ausführen, die Verwaltungsfunktionen,
Wartungsmaßnahmen,
virtuelle Steuerungsfunktionen, Diagnosefunktionen, Echtzeitüberwachungsfunktionen
etc. innerhalb des Prozesssteuerungssystems veranlassen.
-
Ein Ausfall eines Anwendungsendgerätes aufgrund
z.B. eines Programmfehlers oder eines Gerätefehlers (z.B. Ausfall der
Netzwerkverbindung, Stromausfall, etc.) innerhalb des Anwendungsendgerätes und/oder
an anderen Stellen des Prozesssteuerungssystems führt typischerweise
zum Abbruch der Funktionen und Anwendungen, die von dem fehlerhaften
bzw. ausgefallenen Anwendungsendgerät ausgeführt werden. Einige Prozesssteuerungssysteme
oder Anwendungsendgeräte
sind konfiguriert, um eine begrenzte Fähigkeit zur Wiederherstellung
der Funktion des Anwendungsendgerätes zu gewährleisten. Beispielsweise speichern
einige bekannte Anwendungsendgeräte
Konfigurationsinformationen, Steuerparameter und -werte, Stammdaten
etc., die den von ihnen ausgeführten
Funktionen und/oder Anwendungen) zugehörig sind. Diese gespeicherten historischen
Informationen oder Stammdaten können vom
Prozesssteuerungssystem nach einem Restart (z.B. Neuladen des Systems)
eines Anwendungsendgerätes
genutzt werden, um eine aufgrund eines Geräte- und/oder Programmfehlers
oder -versagens beendete, angehaltene oder in anderer Weise inoperativ
gewordene Anwendung wiederherzustellen.
-
Leider bestehen die bekannten Verfahren zur
Wiederherstellung der Funktion eines Anwendungsendgerätes im Wesentlichen
aus kaltem Wiederanfahren oder Neustarten des Anwendungsendgerätes, gefolgt
von einer zeitintensiven Datenrestaurierung und einer nicht-synchronisierten
Re-Instantiierung der Programmanwendung(en) des Anwendungsendgerätes, die
von dem Anwendungsendgerät
durchgeführt
wird.
-
Obwohl diese bekannten Verfahren
zur Wiederherstellung der Funktion eines Anwendungsendgerätes für verschiedene
Prozesssteuerungsanwendungen hinreichend sein können, sind sie nicht für alle Prozesssteuerungsanwendungen
geeignet und können
in manchen Fällen
gefahren- und/oder kostenträchtige
Auswirkungen haben. Insbesondere stellen die bekannten Verfahren
zur Wiederherstellung der Funktion eines Anwendungsendgerätes keinen
nahtlosen oder "stoßfreien" Ablauf sicher, da
sie typischerweise eine erhebliche Zeitverzögerung zwischen dem Ausfall
des Anwendungsendgerätes
und der Wiederherstellung von deren Funktion mit sich bringen. Die
vor einem Ausfall gespeicherten Parameterwerte sind somit aufgrund
von Veränderungen in
der Anlage oder bei anderen Prozessbedingungen, die während der
relativ langen Dauer der Wiederherstellung aufgetreten sind, möglicherweise nicht
mehr zutreffend. In manchen Fällen
kann die Verwendung solcher Stammdaten sehr teuer und/oder gefährlich sein.
Beispielsweise kann im Fall von virtuellen Steuerungen und von Verwaltungsanwendungen
die Verwendung fehlerhafter Parameterwerte den Verlust von Stapeln
bzw. Batches, Personen- und/oder Sachschäden etc. nach sich ziehen. Außerdem wird
im Fall des Ausfalls eines Anwendungsendgerätes aufgrund eines nicht aufhebbaren Gerätefehlers
die Anwendung beendet, bis das Geräte bzw. Computerteil ausgetauscht
oder repariert ist, was ebenfalls einen nicht hinnehmbar langen Zeitraum
in Anspruch nehmen kann.
-
ZUSAMMENFASSUNG
-
Gemäß einem Ausführungsbeispiel
umfasst ein Anwendungsendgerät
zur Verwendung in einem Prozesssteuerungssystem einen Redundanzmanager
und ein Redundanzlinksubsystem, das mit dem Redundanzmanager verbunden
und geeignet ist, um über
eine Redundanzkommunikationsstrecke mit einem zweiten Anwendungsendgerät zu kommunizieren.
Der Redundanzmanager kann einen Redundanzkontext mit dem zweiten
Anwendungsendgerät aufbauen
und mittels des Redundanzkontextes die Operationen des zweiten Anwendungsendgerätes verfolgen.
Zusätzlich
kann der Redundanzmanager so angepasst sein, um über die Redundanzstrecke und
das Redundanzlinksubsystem Information von dem zweiten Anwendungsendgerät zu empfangen und
in Reaktion auf die Information die Operationen des zweiten Anwendungsendgerätes auf
das Anwendungsendgerät
umzuschalten.
-
Gemäß einem weiteren Ausführungsbeispiel umfasst
ein Redundanzmanager für
die Verwendung in einem Anwendungsendgerät einen Synchronisations- bzw.
Heartbeat-Manager,
ein Interface zur Applikationsprogrammierung und eine Ressourcenüberwachung,
der mit dem Synchronisations- bzw. Heartbeat-Manager und dem Interface
zur Applikationsprogrammierung kommunikativ verbunden ist. Der Synchronisations-
bzw. Heartbeat-Manager kann operationelle Statusinformationen überwachen,
die er von einem Anwendungsendgerät empfängt.
-
Gemäß noch einem weiteren Ausführungsbeispiel
wird durch ein System bzw. ein Verfahren zum Aufbau eines Redundanzkontextes
innerhalb eines Prozesssteuerungssystems mit erstem und zweitem
Anwendungsendgerät
eine dem ersten Anwendungsendgerät
zugeordnete Konfiguration in das zweite Anwendungsendgerät geladen
und festgestellt, ob das erste Anwendungsendgerät eine ausreichende Funktionsgüte aufweist,
und Informationen bezüglich
einer Gruppe von Ressourcen, die von dem ersten Anwendungsendgerät genutzt
wird, an das zweite Anwendungsendgerät übermittelt. Außerdem kann
das System bzw. das Verfahren feststellen, ob das zweite Anwendungsendgerät Zugriff
auf die von dem ersten Anwendungsendgerät genutzte Gruppe von Ressourcen
hat, und es kann in Reaktion auf die Feststellung, dass das zweite
Anwendungsendgerät
Zugriff auf die von dem ersten Anwendungsendgerät genutzte Gruppe von Ressourcen hat,
den Redundanzkontext innerhalb des Prozesssteuerungssystems aufbauen.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm eines beispielhaften Prozesssteuerungssystem,
das die hierin beschriebenen Einrichtungen und Verfahren eines redundanten
Anwendungsendgerätes
nutzt;
-
2 ist
ein detaillierteres Blockdiagramm einer beispielhaften Art und Weise,
in der das redundante Anwendungsendgerät der 1 implementiert werden kann;
-
3 ist
ein detaillierteres Blockdiagramm einer beispielhaften Art und Weise,
in der die Redundanzmanager der 2 implementiert
werden können.
-
DETAILLIERTE
BESCHREIBUNG
-
1 ist
ein Blockdiagramm eines beispielhaften Prozesssteuerungssystems 10,
das die Einrichtungen und Verfahren des hier beschriebenen Anwendungsendgerätes nutzt.
Wie in 1 gezeigt, umfasst
das Prozesssteuerungssystem 10 eine Steuerung 12,
eine Bedienerstation 14, ein aktives Anwendungsendgerät 16 und
ein Reserve-Anwendungsendgerät 18,
die alle über
eine Datenstrecke oder über
ein lokales Netzwerk (LAN) 20 kommunikativ verbunden sein
können,
wobei letzteres allgemein als Application Control Network (ACN,
Anwendungssteuerungsnetz) bezeichnet wird. Die Bedienerstation 14 und
die Anwendungsendgeräte 16 und 18 können durch
eine oder mehrere Arbeitsplatzsysteme oder beliebige andere geeignete
Computersysteme oder Verarbeitungseinheiten realisiert werden. Beispielsweise
können
die Anwendungsendgeräte 16 und 18 unter
Verwendung einzelner Personalcomputer, Einzel- oder Multiprozessor-Workstations
etc. realisiert werden. Außerdem
kann das LAN 20 mit Hilfe eines jeden gewünschten
Kommunikationsmediums und -protokolls aufgebaut werden. Beispielsweise
kann das LAN 20 auf einer der festverdrahteten oder drahtlosen
Ethernet-Kommunikationslösungen
basieren, die bekannt sind und deshalb hier nicht detaillierter
beschrieben werden. Dem Fachmann ist jedoch unmittelbar klar, dass
jedes andere geeignete Kommunikationsmedium und -protokoll Verwendung finden
kann. Des Weiteren ist es möglich,
obwohl nur ein einziges LAN dargestellt ist, mehr als ein LAN einschließlich der
zugehörigen
Kommunikationshardware in den Anwendungsendgeräten 16 und 18 einzusetzen,
um redundante Kommunikationsstrecken zwischen den Anwendungsendgeräten 16 und 18 bereitzustellen.
-
Die Steuerung 12 kann über einen
digitalen Datenbus 28 und eine Eingabe/-Ausgabeeinheit (I/O) 30 mit
einer Vielzahl eigenintelligenter Feldvorrichtungen 22, 24 und 26 verbunden
werden. Bei den eigenintelligenten Feldvorrichtungen 22–26 kann
es sich um zum Fieldbus kompatible Ventile, Stellelemente, Sensoren
etc. handeln, wobei in diesem Fall die eigenintelligenten Feldvorrichtungen 22–26 über den
digitalen Datenbus 28 auf Grundlage des bekannten „Fieldbus-Protokolls" kommunizieren. Es versteht
sich von selbst, dass anstelle dessen andere Typen eigenintelligenter
Feldvorrichtungen und andere Kommunikationsprotokolle Verwendung
finden können.
Beispielsweise können
die eigenintelligenten Feldvorrichtungen 22–26 statt dessen aus Profibus-
oder HART-kompatiblen Vorrichtungen bestehen, die mittels der bekannten
Profibus- oder HART-Kommunikationsprotokolle über den Datenbus 28 miteinander
kommunizieren.
-
Zusätzliche I/O-Einheiten (ähnlich oder
identisch der I/O-Einheit 30) können mit der Steuerung 12 verbunden
werden, damit weitere Gruppen eigenintelligenter Feldvorrichtungen,
bei denen es sich um Fieldbus- oder HART-Komponenten etc. handeln kann,
mit der Steuerung 12 kommunizieren können.
-
Zusätzlich zu den eigenintelligenten
Feldvorrichtungen 22–26 können eine
oder mehrere nicht eigenintelligente Feldvorrichtungen 32 und 34 kommunikativ
mit der Steuerung 12 verbunden werden. Bei den nicht-eigenintelligenten
Feldvorrichtungen 32 und 34 kann es sich beispielsweise
um herkömmliche
Geräte
für 4–20 Milliampere
(mA) oder 0–10
Volt Gleichspannung (VDC) handeln, die über festverdrahtete Verbindungen 36 und 38 mit
der Steuerung 12 kommunizieren.
-
Bei der Steuerung 12 kann
es sich beispielsweise um eine Steuerung des Typs DeItaVTM der Fisher-Rosemount Systems, Inc. handeln.
Statt dessen kann aber auch jede andere Steuerung eingesetzt werden.
Des Weiteren wäre
es möglich,
obwohl 1 nur eine Steuerung
zeigt, auch weitere Steuerungen jedes beliebigen Typs oder Kombinationen solcher
Steuerungen mit dem LAN 20 zu verbinden. In jedem Fall
kann die Steuerung 12 eine oder mehrere Prozesssteuerungsroutinen
ausführen,
die dem Prozesssteuerungssystem 10 zugehörig sind,
und die von einem Systemingenieur oder durch andere Systembediener über die
Bedienerstation 14 generiert und anschließend in
die Steuerung 12 geladen und initialisiert wurden.
-
Wie 1 zeigt,
kann das Prozesssteuerungssystem 10 außerdem eine entfernte Bedienerstation 40 umfassen,
die über
eine Kommunikationsstrecke 42 und ein LAN 44 mit
den Anwendungsendgeräten 16 und 18 kommunikativ
verbunden ist. Die entfernte Bedienerstation 40 kann geographisch
gesehen weit entfernt sein, wobei es sich in diesem Fall bei der
Kommunikationsstrecke 42 vorzugsweise, nicht aber zwingend,
um eine drahtlos aufgebaute Verbindung, eine Verbindung auf Internetbasis
oder um ein anderweitig auf Datenpaketübermittlung basierendes Kommunikationsnetz,
um Telefonleitungen (z.B. digitale Teilnehmerleitungen) oder um
eine beliebige Kombination dieser Möglichkeiten handelt.
-
Wie im Beispiel der 1 gezeigt, ist das aktive Anwendungsendgerät 16 und
das Reserve-Anwendungsendgerät 18 über das
LAN 20 und eine Redundanzstrecke 46 kommunikativ
miteinander verbunden. Bei der Redundanzstrecke 46 kann
es sich um eine separate, zweckgebundene (d.h. nicht durch andere
genutzte) Kommunikationsstrecke zwischen dem aktiven Anwendungsendgerät 16 und
dem Reserve-Anwendungsendgerät 18 handeln.
Die Redundanzstrecke 46 kann beispielsweise mittels eines zweckgebundenen
Ethernet-Link (d.h. jeweils zweckgebundene Ethernet-Karten in den
miteinander verbundenen Anwendungsendgeräten 16 und 18)
realisiert werden. In anderen beispielhaften Ausführungen
könnte
die Redundanzstrecke 46 jedoch auch durch das LAN 20 oder
ein redundantes LAN (nicht dargestellt) realisiert werden, das mit
den Anwendungsendgeräten 16 und 18 kommunikativ
verbunden ist, wobei keine der Verbindungen zwingend zweckgebunden
sein muss.
-
Generell gesagt, tauschen die Anwendungsendgeräte 16 und 18 kontinuierlich,
nur in bestimmten Fällen
oder periodisch Informationen über
die Redundanzstrecke 46 aus (z.B. in Reaktion auf Änderungen
von Parameterwerten, Konfigurationsänderungen der Anwendungsendgeräte, etc.),
um einen Redundanzkontext aufzubauen und zu unterhalten. Der Redundanzkontext
ermöglicht
eine unterbrechungsfreie oder nahtlose Übergabe oder Umschaltung der
Steuerung zwischen dem aktiven Anwendungsendgerät 16 und dem Reserve-Anwendungsendgerät 18.
Beispielsweise ermöglicht
der Redundanzkontext eine Übergabe
oder Umschaltung von dem aktiven Anwendungsendgerät 16 an
das Reserve-Anwendungsendgerät 18 in
Reaktion auf Geräte- oder
Programmausfälle
in dem aktiven Anwendungsendgerät 16 oder
in Reaktion auf eine Anweisung durch einen Systemnutzer oder Systembediener oder
seitens einer Klienten-Anwendung des Prozesssteuerungssystems 10.
-
Bei jedem Ereignis können die
Anwendungsendgeräte 16 und 18 als
ein einzelner Knoten innerhalb des LAN 20 auftreten, der
sich als redundantes Paar verhält.
Insbesondere arbeitet das Reserve-Anwendungsendgerät 18 als
betriebsbereites Reserve-Anwendungsendgerät, das bei einem Ausfall des aktiven
Anwendungsendgerätes 16 oder
dann, wenn eine Umschaltanweisung von einem Benutzer eintrifft,
rasch und unterbrechungsfrei die Kontrolle der Anwendungen oder
Funktionen übernimmt,
die von dem aktiven Anwendungsendgerät 16 ausgeführt werden,
ohne dass dabei eine zeitintensive Initialisierung oder andere Benutzereingriffe
erforderlich sind. Um ein solches betriebsbereites Reserve-Anwendungsendgerät zu realisieren,
nutzt das momentan aktive Anwendungsendgerät (beispielsweise das aktive
Anwendungsendgerät 16)
den Redundanzkontext für
den Austausch von Information, beispielsweise Informationen zur
Konfiguration, zu den Steuerparametern etc., über die Redundanzstrecke 46 mit dem
redundanten Partner- Anwendungsendgerät (beispielsweise
das Reserve-Anwendungsendgerät 18).
Auf diese Weise kann eine nahtlose oder unterbrechungsfreie Übergabe
der Kontrolle bzw. eine Umschaltung von dem momentan aktiven Anwendungsendgerät (beispielsweise
des aktiven Anwendungsendgerätes 16)
zum redundanten Partner- oder Reserve-Anwendungsendgerät (beispielsweise des
Reserve-Anwendungsendgerätes 18)
so lange erfolgen, wie das Reserve-Anwendungsendgerät 18 bereit
ist und die Kontrolle übernehmen
kann.
-
Um sicherzustellen, dass das Anwendungsendgerät 18 bereit
und in der Lage ist, die Kontrolle der Anwendungen, virtuellen Steuerungsfunktionen, Kommunikationsfunktionen,
etc. zu übernehmen,
die momentan von dem aktiven Anwendungsendgerät 16 ausgeführt werden,
stellt der Redundanzkontext fest, ob das Reserve-Anwendungsendgerät 18 Zugriff
auf die physikalischen Ressourcen hat (beispielsweise auf das LAN 20,
andere externe Datenquellen, etc. ), ob ihr die erforderlichen Programmierungsinformationen
zur Verfügung
stehen (beispielsweise Konfigurations- und Verbindungsinformationen),
und ob die erforderliche Funktionsgüte (beispielsweise Prozessorgeschwindigkeit,
Speicheranforderungen, etc.) gegeben ist. Der Redundanzkontext wird
außerdem
aufrechterhalten, um sicherzustellen, dass das Reserve-Anwendungsendgerät 18 zu
jedem Zeitpunkt zur Übernahme
der Kontrolle bereit ist. Die Aufrechterhaltung des Redundanzkontextes
geschieht durch den Austausch von Statusinformationen, Konfigurationsinformationen
oder jeder anderen Information, die benötigt wird, um die Synchronisation
der Betriebsabläufe
zwischen den redundanten Anwendungsendgeräten 16 und 18 zu
gewährleisten.
-
In einigen beispielhaften Ausführungen
können
die Anwendungsendgeräte 16 und 18 so
konfiguriert sein, dass bei einem Ausfall des aktiven Anwendungsendgerätes 16 mit
anschließender
Wiederherstellung der fehlerfreien Funktion oder nach einer Reparatur
oder einem Austausch (mit geeigneter Konfigurierung) das aktive
Anwendungsendgerät 16 die Kontrolle
von dem Reserve-Anwendungsendgerät 18 zurückerhält, und
das Reserve-Anwendungsendgerät 18 wieder
in den Status als Hot-Standby-Station wechselt. Wenn es jedoch wünschenswert
ist, kann das Reserve-Anwendungsendgerät 18 so konfiguriert
werden, dass ein in seiner Funktion wiederhergestelltes Anwendungsendgerät die Kontrolle
nur nach Bestätigung
durch den Systembenutzer oder durch einen anderen Benutzereingriff
zurückerhält.
-
Das aktive Anwendungsendgerät 16 ist
normalerweise für
die Ausführung
(d.h. die Abwicklung) von virtuellen Steuerungsfunktionen, Anwendungen für Verwaltungsfunktionen,
wartungsbezogenen Anwendungen, Diagnoseanwendungen und/oder allen sonstigen
gewünschten
Funktionen oder Anwendungen zuständig,
die dem Management und/oder der Überwachung
von Aktivitäten
zur Prozesssteuerung, Unternehmensoptimierung etc. zuzurechnen sind, und
die im Rahmen des Prozesssteuerungssystems 10 benötigt werden.
Das Reserve-Anwendungsendgerät 18 ist
in identischer Weise konfiguriert wie das aktive Anwendungsendgerät 16 und
enthält
daher eine Kopie einer jeden Funktion und Anwendung, die für die Ausführung der
Aufgaben des aktiven Anwendungsendgerätes 16 erforderlich
ist. Außerdem
besitzt das Reserve-Anwendungsendgerät 18 die Geräte und/oder
verfügt über den
Zugriff auf identische oder mindestens funktional äquivalente
Ressourcen, wie sie dem aktiven Anwendungsendgerät 16 zur Verfügung stehen.
Darüber
hinaus verfolgt das Reserve-Anwendungsendgerät 18 über die
Redundanzstrecke 46 den Betrieb des aktiven Anwendungsendgerätes 16 (beispielsweise
die aktuellen Parameterwerte, die von den in dem aktiven Anwendungsendgerät 16 ausgeführten Anwendungen
verwendet werden).
-
2 ist
ein detaillierteres Blockdiagramm einer beispielhaften Art und Weise,
in der die redundanten Anwendungsendgeräte 16 und 18 der 1 realisiert werden können. Wie
im Beispiel der 2 dargestellt,
umfasst das aktive Anwendungsendgerät 16 einen Redundanzmanager 50,
der kommunikativ mit einer oder mehreren redundanten Anwendungen 52,
einem virtuellen Steuerblock 54, einem Kommunikationssubsystem 56,
einem Betriebssystem 58 und einem Redundanzlinksubsystem 60 verbunden ist.
In entsprechender Weise umfasst das Reserve-Anwendungsendgerät 18 einen
Redundanzmanager 62, eine oder mehrere redundante Anwendungen 64,
einen virtuellen Steuerblock 66, ein Kommunikationssubsystem 68,
ein Betriebssystem 70 und ein Redundanzlinksubsystem 72.
Obwohl die Funktionsblöcke 62–72 des
dargestellten Reserve-Anwendungsendgerätes 18 eine
Funktionalität
bereitstellen, die identisch oder wenigstens nahezu identisch der Funktionalität der jeweils
entsprechenden Funktionsblöcke 50–60 des
aktiven Anwendungsendgerätes 16 ist,
wurden abweichende Bezugszeichen für einander entsprechende Funktionsblöcke (beispielsweise
die Blöcke 50 und 62)
verwendet, um die Klarheit der Funktionsbeschreibungen der Anwendungsendgeräte 16 und 18 zu
gewährleisten.
Insbesondere werden die einander entsprechenden Funktionsblöcke des
aktiven Anwendungsendgerätes 16 und
des Reserve-Anwendungsendgerätes 18,
obwohl sie identische (oder im Wesentlichen identische) Funktionalitäten bereit stellen
können,
in den jeweiligen Anwendungsendgeräten 16 bzw. 18 unabhängig voneinander
initialisiert, so dass sie nicht notwendigerweise zu gleichen Zeitpunkten
genau gleiche Betriebszustände
aufweisen.
-
Generell wirken die Funktionsblöcke 50–60 und 62–72 mit
den jeweils zugeordneten Redundanzmanagern 50 und 62 zusammen,
um einen Redundanzkontext aufzubauen und aufrechtzuerhalten. Der
Redundanzkontext versetzt das Reserve-Anwendungsendgerät 18 in
die Lage, den Betrieb des aktiven Anwendungsendgerätes 16 zu
verfolgen bzw. zu überwachen.
Genauer gesagt, die Anwendungsendgeräte 16 und 18 tauschen
Informationen über
die jeweiligen Redundanzlinksubsysteme 60 und 72 und
die Redundanzstrecke 46 aus, so dass jedes der Anwendungsendgeräte 16 und 18 die
einwandfreie Funktion (d.h. den Funktionszustand) des anderen Anwendungsendgerätes feststellen
kann. Zusätzlich
können
Werte von Betriebsparametern und andere Informationen über die
Redundanzstrecke 46 zwischen dem aktiven Anwendungsendgerät 16 und
dem Reserve-Anwendungsendgerät 18 ausgetauscht
werden. Der Redundanzmanager 62 des Reserve-Anwendungsendgerätes 18 kann
Parameterinformationen oder -werte, die er von dem aktiven Anwendungsendgerät 16 erhält, an eine
oder mehrere der redundanten Anwendungen 64, den virtuellen Steuerblock 66,
das Kommunikationssubsystem 68 und/oder an das Betriebssystem 70 etc. übermitteln, soweit
dies für
die Aufrechterhaltung eines Betriebszustandes in dem Reserve-Anwendungsendgerät 18 erforderlich
ist, das im Wesentlichen mit dem aktiven Anwendungsendgerät 16 synchron
ist und dieses nachbildet.
-
Für
ein besseres Verständnis
des Zusammenwirkens bzw. der Kooperation zwischen den Redundanzmanagern 50 und 62 und
ihren jeweiligen lokalen Subsystemen oder den Funktionsblöcken 52–60 und 64–70 wird
nachstehend eine detaillierte Erläuterung der Arbeitsweise der
Funktionsblöcke 52–60 und 64–70 gegeben.
Die redundanten Anwendungen 52 und 64 umfassen
eine oder mehrere Programmanwendungen wie beispielsweise Anwendungen
für Verwaltungsanwendungen,
Wartung, Echtzeitüberwachung,
Diagnosen etc. Die redundanten Anwendungen 52 und 64 sind
typischerweise, jedoch nicht notwendigerweise, geschichtete Programmanwendungen
(d.h. Programmanwendungen, die anderen Programmanwendungen überlagert
sind). Beispielsweise ist eine Verwaltungsanwendung typischerweise
von einer oder mehreren Stapel- bzw. Batch-Management-Anwendungen überlagert.
-
Die redundanten Anwendungen 52 und 64 sind
mit ihren jeweiligen Redundanzmanagern 50 und 62 registriert
und somit vollständig
in den Redundanzkontext integriert, der von den Redundanzmanagern 50 und 62 aufgebaut
und aufrechterhalten wird. Anders gesagt, die redundanten Anwendungen 52 und 64 können als
jeweils redundante Anwendungspaare fungieren, so dass dann, wenn
beispielsweise eine der redundanten Anwendungen 52 ausfällt, die
entsprechende identische Partneranwendung aus den redundanten Anwendungen 64 nach
einer Umschaltung von dem aktiven Anwendungsendgerät 16 auf
das Reserve-Anwendungsendgerät 18 die
Ausführung
an dem Punkt übernehmen
kann, an dem die ausgefallene Anwendung geendet hat.
-
Um die redundanten Anwendungen 52 und 64 in
die Lage zu versetzen, am Redundanzkontext teilzunehmen, muss jeweils
entsprechende zu den Anwendungen 52 und 64 gehörende Statusinformationen
und andere Informationen ausgetauscht werden, die den momentanen
Zustand des aktiven Anwendungsendgerätes 16, des Reserve-Anwendungsendgerätes 18 sowie
den momentanen Zustand der Anwendungen 52 und 64 betreffen.
Im Fall der Veranlassung einer Umschaltung (beispielsweise Übernahme
der Kontrolle durch das Reserve-Anwendungsendgerät 18 von dem aktiven
Anwendungsendgerät 16 in
Reaktion auf einen Ausfall des aktiven Anwendungsendgerätes 16 oder
in Reaktion auf eine Anweisung durch einen Systemnutzer) kann der
Redundanzmanager 62 den redundanten Anwendungen 64 melden,
dass eine solche Umschaltung eingeleitet ist. Das Reserve-Anwendungsendgerät 18 kann
seinerseits einen oder mehrere Systemalarme oder -ereignisse generieren,
die beispielsweise an eine oder an beide der Bedienerstationen 14 und 40 weitergeleitet
und über
diese an einen Systemnutzer gemeldet werden können. Außerdem erhalten beispielsweise
im Fall der Detektierung eines Ausfalls des Reserve-Anwendungsendgerätes 18 durch
das aktive Anwendungsendgerät 16 die
redundanten Anwendungen 52 eine Meldung dieser Situation,
und wenn dies gewünscht
ist, kann das aktive Anwendungsendgerät 16 einen oder mehrere
entsprechende Alarme oder Ereignisse generieren und an die Bedienerstationen 14 und 40 und/oder
an andere mit dem Prozesssteuerungssystem 10 verbundene
Systeme übermitteln.
In jedem Fall ist jede der Anwendungen innerhalb der redundanten
Anwendungen 52 und 64 konfiguriert, um auf die
Meldung einer eingeleiteten Umschaltung, auf die Meldung eines Ausfalls des
Reserve-Anwendungsendgerätes 18,
etc. in einer für
die jeweilige Anwendung angepassten Weise zu reagieren.
-
Die virtuellen Steuerblöcke 54 und 66 stellen Informationen
zu den physikalischen Ressourcen für die jeweiligen Redundanzmanager 50 und 62 bereit, beispielsweise
die Speichergröße, Prozessorgeschwindigkeit,
Ein/Ausgaben, etc., die zur Ausführung
der virtuellen Steuerungsfunktionen erforderlich sind. Zum Beispiel
kann der Redundanzmanager 62 die Information zu den physikalischen
Ressourcen verwenden, um festzustellen, ob das Reserve-Anwendungsendgerät 18 über die
Kapazität
(d.h. die geeigneten physikalischen Ressourcen) verfügt, um im
Falle einer notwendigen Umschaltung die Kontrolle anstelle des aktiven
Anwendungsendgerätes 16 zu übernehmen
bzw. zu erhalten. Die virtuellen Steuerblöcke 54 und 66 übermitteln
außerdem
ein Signal an ihre jeweiligen Redundanzmanager 50 und 62,
wenn die von ihnen genutzte Information, beispielsweise Betriebsdaten,
Abstimmdaten etc., in ihren jeweiligen Anwendungsendgeräten 16 und 18 aktualisiert
werden muss. Auf diese Weise werden die Ausführungsfunktionsblöcke, die
Ablaufsteuerung, die Stapel- bzw. Batch-Operationen, etc. vollständig synchronisiert.
Im Fall, dass die virtuellen Steuerblöcke 54 und 66 den
Systemnutzern, Bedienern, Dritten, etc. die Möglichkeit einräumen, anwenderspezifische
Funktionsblöcke
zu generieren, werden diese anwenderspezifischen Funktionsblöcke ebenfalls
durch die Redundanzmanager 50 und 62 synchronisiert.
Somit kann der virtuelle Steuerblock 66 der Funktion des virtuellen
Steuerblocks 54 folgen (d.h. mit diesem in Synchronisation
sein), so dass im Fall einer Umschaltung von dem aktiven Anwendungsendgerät 16 auf
das Reserve-Anwendungsendgerät 18 der
virtuelle Steuerblock 66 die virtuellen Steuerungsaufgaben
des virtuellen Steuerblocks 54 nahtlos und unterbrechungsfrei
weiterführen
(d.h. übernehmen)
kann. Vorzugsweise beginnt dabei der virtuelle Steuerblock 66 die
Ausführung
seiner Module, Verfahren, etc. mit Parameterwerten, die den zum
Zeitpunkt der Umschaltung gültigen
Werten der entsprechenden Parameter im virtuellen Steuerblock 54 identisch
sind.
-
Des Weiteren können die virtuellen Steuerblöcke 54 und 66 konfiguriert
sein, um ein Signal dafür
zu liefern, dass in einem oder beiden der virtuellen Steuerblöcke 54 und 66 eine
Bedingung vorliegt, die eine Umschaltung ausschließt bzw.
eine solche verhindert. Ein solches Signal kann beispielsweise in dem
Fall bereitgestellt werden, wenn sich die Konfiguration des aktiven
Anwendungsendgerätes 16 geändert hat
und das Reserve-Anwendungsendgerät 18 nicht
aktualisiert wurde, wo eine Anwendung (beispielsweise eine der redundanten
Anwendungen 64) des Reserve-Anwendungsendgerätes 18 nicht
funktioniert.
-
Die Kommunikationssubsysteme 56 und 68 stellen
ihren jeweiligen Anwendungsendgeräten 16 und 18 und
damit jedem der darin enthaltenen Funktionsblöcke über das LAN 20 die
Möglichkeit
der Kommunikation untereinander und mit anderen Systemen innerhalb
des Prozesssteuerungssystems 10 zur Verfügung. Außerdem stellen
die Kommunikationssubsysteme 56 und 68 Dienste
und/oder Information für
die jeweiligen Redundanzmanager 50 und 62 bereit,
um die Kooperation der Anwendungsendgeräte 16 und 18 innerhalb
des von den Redundanzmanagern 50 und 62 aufgebauten
und unterhaltenen Redundanzkontextes zu ermöglichen und zu vereinfachen.
Insbesondere können
die von den Kommunikationssubsystemen 56 und 58 bereitgestellten Dienste
beispielsweise einen Dienst umfassen, der die Sperrung der Kommunikationssubsysteme 56 und 58 ermöglicht,
einen Dienst, der verifiziert, dass das aktive Anwendungsendgerät 16 mit
dem gleichen LAN (d.h. dem LAN 20) verbunden ist wie das Reserve-Anwendungsendgerät 18,
einen Dienst, der ein Signal liefert, dass ein Kommunikationssubsystem
ausgefallen ist, und einen Dienst, der bei einer Umschaltung das
neu aktivierte Anwendungsendgerät
(beispielsweise das Reserve-Anwendungsendgerät 18) für die Übernahme
der Kommunikationsaufgaben des nunmehr inaktiven Anwendungsendgerätes (beispielsweise
des aktiven Anwendungsendgerätes 16)
auf dem LAN 20 freigibt. Beispielsweise kann das neu aktivierte
Anwendungsendgerät
die Kommunikationsverbindungen des zuvor aktiven Anwendungsendgerätes mit
den anderen Systemen, Vorrichtungen etc. über das LAN 20 wiederherstellen.
-
Jedes der Kommunikationssubsysteme 56 und 68 kann
außerdem
ein Signal dafür
bereitstellen, dass sich die von ihm verwalteten Daten (beispielsweise
Verbindungsinformation, Leitweglenkungsinformation, etc.) geändert haben
und folglich in dem redundanten Partner-Anwendungsendgerät aktualisiert
werden müssen.
Beispielsweise kann das Kommunikationssubsystem 56 des
aktiven Anwendungsendgerätes 16 an
das Reserve-Anwendungsendgerät 18 melden,
dass eine neue Verbindung zum aktiven Anwendungsendgerät 16 eingerichtet
wurde. Die Information betreffend die neue Verbindung kann durch
den Redundanzmanager 50 über das Redundanzlinksubsystem 60,
die Redundanzstrecke 46 und das Redundanzlinksubsystem 72 an
den Redundanzmanager 62 übermittelt werden. Der Redundanzmanager 62 kann
anschließend
mit dem Kommunikationssubsystem 68 kommunizieren, um die neue
Verbindung zur Aufrechterhaltung des Redundanzkontextes einrichten.
Auf diese Weise stellt der Redundanzmanager 62 einen Zustand
des Reserve-Anwendungsendgerätes 18 sicher,
in dem dieses in der Lage ist, die Kommunikationsaufgaben des aktiven
Anwendungsendgerätes
16 im Fall einer Umschaltung wahrzunehmen.
-
Jedes der Redundanzlinksubsysteme 60 und 72 stellt
einen Dienst bereit, durch den seine jeweiligen Anwendungsendgeräte 16 bzw.
18 in die Lage versetzt werden, einen Kommunikationskanal bzw. eine
Kommunikationsverbindung über
die Redundanzstrecke 46 einzurichten. Außerdem stellen
die Redundanzlinksubsysteme 60 und 72 bei einem
Ausfall des Kommunikationskanals bzw. der Kommunikationsverbindung
zwischen den Anwendungsendgeräten 16 und 18 ein
diesbezügliches
Signal für
ihre jeweiligen Redundanzmanager 50 und 62 bereit.
Des Weiteren stellen die Redundanzlinksubsysteme 60 und 72 Dienste
bereit, durch die Betriebsdaten betreffend die redundanten Anwendungen 52 und 64, die
virtuellen Steuerblöcke 54 und 66,
die Kommunikationssubsysteme 56 und 68, die Betriebssysteme 58 und 70,
etc. zwischen den Anwendungsendgeräten 16 und 18 ausgetauscht
werden können.
-
Wie nachstehend detaillierter beschrieben, nutzen
die Redundanzmanager 50 und 62 die Informationsübertragungskapazität ihrer
Redundanzlinksubsysteme 60 und 72 und die Redundanzstrecke 46,
um Statusinformationen betreffend der überwachten Ressourcen zu übermitteln.
Diese Statusinformationen können
in Reaktion auf Änderungen
der Parameterwerte und/oder der Konfiguration etc. beispielsweise
von dem aktiven Anwendungsendgerät 16 zum
Reserve-Anwendungsendgerät 18 übermittelt
werden, um ein "Heartbeat"- bzw. Synchronisationssignal
bzw. eine Information hinsichtlich der einwandfreien Funktion und/oder
des Betriebszustands des aktiven Anwendungsendgerätes 16 zu
liefern. Im Ergebnis kann dann, wenn das Heartbeat- bzw. Synchronisationssignal
anzeigt, dass die einwandfreie Funktion des aktiven Anwendungsendgerätes 16 in schwerwiegender
Weise beeinträchtigt
ist und/oder das Heartbeat- bzw. Synchronisationssignal vollständig ausgefallen
ist, das Reserve-Anwendungsendgerät 18 eine Umschaltung
bewirken und die Aufgaben des ausgefallenen oder des ausfallenden
aktiven Anwendungsendgerätes 16 übernehmen.
-
Bei den Betriebssystemen 58 und 70 kann
es sich um jedes gewünschte
Betriebssystem handeln, wie z.B. Windows®, Linux® etc.,
das die Laufzeit-Umgebung der Anwendungsendgeräte 16 und 18 als Host
bzw. als Hauptcomputer unterstützen
kann. Für das
in 1 gezeigte beispielhafte
Prozesssteuerungssystem 10 kann als Laufzeit-Umgebung die DeltaVTM-Laufzeit-Umgebung eingesetzt werden. Die Betriebssysteme 58 und 70 können Information
für die
Redundanzmanager 50 und 62 bereitstellen, beispielsweise
Information zu Status, einwandfreier Funktion, Kapazität etc. der
den Anwendungsendgeräten 16 und 18 zugeordneten
Geräteplattform. Selbstverständlich kann
die Information entsprechend der zur Bestückung der Anwendungsendgeräte 16 und 18 eingesetzten
Computerteile variieren. Beispielsweise kann im Fall einer Realisierung
der Anwendungsendgeräte 16 und 18 mittels
Multiprozessor-Workstations bzw. Arbeitsplatzsystemen eine bestimmte
Art von Information bereitgestellt werden, während im Fall einer Realisierung
der Anwendungsendgeräte 16 und 18 mittels
Einzelprozessor-PCs eine andere Art oder ein anderer Umfang von
Information bereitgestellt werden kann.
-
Die Redundanzmanager 50 und 62 kommunizieren
in kooperativer Weise mit ihren jeweiligen redundanten Anwendungen 52 und 64,
den virtuellen Steuerblöcken 54 und 66,
den Kommunikationssubsystemen 56 und 68, den Betriebssystemen 58 und 70 und
den Redundanzlinksubsystemen 60 und 72, um einen
Redundanzkontext aufzubauen und aufrechtzuerhalten. Außerdem verwalten
die Redundanzmanager 50 und 62 die Umschaltung
zwischen den Anwendungsendgeräten 16 und 18 entweder
automatisch im Moment des Auftretens eines Ausfalls des momentan
aktiven Anwendungsendgerätes
oder in Reaktion auf eine Benutzeranweisung. Des Weiteren verwalten
die Redundanzmanager 50 und 62 Diagnoseinformation
bezüglich
des Redundanzkontextes selbst. Beispielsweise kann Statusinformation,
Datenlatenzinformation etc. geführt
werden und, wenn gewünscht,
durch beispielsweise eine Optimierungsanwendung und/oder eine Diagnoseanwendung
abgefragt und genutzt werden, die zu den redundanten Anwendungen 52 und 64 gehört, oder
bei der es sich um eine Klienten-Anwendung handeln kann, die mit den
Redundanzmanagern 50 und 62 in einer Weise kommuniziert,
die nachstehend in Verbindung mit 3 detaillierter
beschrieben wird.
-
3 ist
ein detaillierteres Blockdiagramm einer beispielhaften Art und Weise
der Realisierung der Redundanzmanager 50 und 62 der 2. Der Klarheit halber wird
das in 3 gezeigte Beispiel anhand
des Redundanzmanagers 62 des Reserve-Anwendungsendgerätes 18 detailliert
beschrieben. Das detaillierte Blockdiagramm der 3 und die folgende Beschreibung desselben
sind jedoch gleichermaßen
für den
Redundanzmanager 50 des aktiven Anwendungsendgerätes 16 zutreffend.
Wie 3 zeigt, umfasst
der Redundanzmanager 62 in jedem Fall einen Heartbeat-
bzw. Synchronisationsmanager 100, einen Ressourcenmonitor 102,
eine Schnittstelle 104 (API) zur Anwendungsprogrammierung
des Redundanzmanagers und eine Verwaltung 106 für die redundanten
Klienten.
-
Das API 104 des Redundanzmanagers,
im Folgenden Redundanzmanager-API, ermöglicht einer oder mehreren
der redundanten Anwendungen oder Klienten 108, die die
in 2 gezeigten redundanten
Anwendungen 64 sowie andere Anwendungen oder Klienten (nicht
in 2 dargestellt) umfassen
können,
am Redundanzkontext teilzunehmen. Anders gesagt, das Redundanzmanager-API 104 enthält Funktionen,
die eine oder mehrere Anwendungen oder Klienten 108 in
die Lage versetzen, Verbindung zum Redundanzmanager 62 aufzunehmen (d.h.
mit diesem zu kommunizieren), um Änderungen des Status oder der
Information (beispielsweise Umschaltstatus eines bestimmten Anwendungsendgerätes, Änderungen
der Parameterwerte oder der Konfiguration etc.) zu erhalten. Die Änderung
von Statusinformation oder von Information, die vom Redundanzmanager 62 an
die redundanten Anwendungen/ Klienten 108 übermittelt
wird, kann aus Information abgeleitet werden oder auf solcher basieren,
die der Heartbeat- bzw. Synchronisationsmanager 100 vom Redundanzlinksubsystem 72 erhält, und/oder
von Information, die der Ressourcenmonitor 102 von einer oder
mehreren Ressourcen erhält,
beispielsweise vom Kommunikationssubsystem 68 und vom Betriebssystem 70.
-
Das Redundanzmanager-API 104 implementiert
eine Anwendungsregistrierungsfunktion, die es einer Anwendung oder
einem Klienten der redundanten Anwendungen/-Klienten 108 ermöglicht,
mit dem Redundanzmanager 62 zu kommunizieren. Die Anwendungsregistrierungsfunktion
kann eine eindeutige Identifizierung für jede zu registrierende Anwendung
generieren, um es dem Redundanzmanager zu ermöglichen, die Anwendung bei
Bedarf in dem Reserve-Anwendungsendgerät 18 zu lokalisieren.
Außerdem
kann die Anwendungsregistrierungsfunktion eine Callback- bzw. Rückfragefunktion
beinhalten (die mittels eines Helper-Thread bzw. Hilfsthread implementiert
werden kann), die es dem Redundanzmanager 62 ermöglicht,
redundanzrelevante Ereignisse (beispielsweise eine Umschaltung,
eine Konfigurationsänderung
etc.) an die registrierte Anwendung zu übermitteln.
-
Das Redundanzmanager-API 104 realisiert außerdem eine
Funktion für
das Löschen
der Registrierung einer Anwendung, die eine selektierte Anwendung
aus der Liste der registrierten Anwendungen entfernt. Der Redundanzmanager 62 kann
die Funktion für
das Löschen
der Registrierung einer Anwendung von einer fehlerhaften Anwendung
unterscheiden und stellt somit die Möglichkeit bereit, Anwendungen
zu entfernen oder deren Registrierung zu löschen, ohne dabei eine nicht
erforderliche Umschaltung zu veranlassen. Beispielsweise wird im Fall
der Löschung
der Registrierung einer in dem aktiven Anwendungsendgerät 16 registrierten
Anwendung, im Gegensatz zu einer Fehlersituation, von dem Reserve-Anwendungsendgerät 18 nicht
automatisch eine Umschaltung angefordert, wenn deren Heartbeat-
bzw. Synchronisationsmanager 100 feststellt, dass die Registrierung
der Anwendung zweckgerichtet gelöscht
wurde und die letztere nicht länger verfügbar ist.
-
Das Redundanzmanager-API 104 stellt
außerdem
eine Funktion zur unbedingten Umschaltung bereit, die bei Aufruf
durch eine Anwendung oder einen Klienten aus der Gruppe der redundanten
Anwendungen/Klienten 108 das aktive Anwendungsendgerät 16 veranlasst,
auf das Reserve-Anwendungsendgerät 18 umzuschalten.
Darüber
hinaus stellt das Redundanzmanager-API 104 eine Funktion bereit,
die die momentane Redundanzfunktion des Redundanzmanagers 62 und
damit auch die Redundanzfunktion des Anwendungsendgerätes zurückgibt,
in der der Redundanzmanager 62 selbst gespeichert ist,
im Beispiel der 3 also
das Reserve-Anwendungsendgerät 18.
Somit liefert das Redundanzmanager-API 104 auf Anfrage
durch eine oder mehrere der redundanten Anwendungen/Klienten 108 mittels
der Funktion zur Rückmeldung
der Redundanzfunktion Information zurück, die besagt, dass der Redundanzmanager 62 und
das Anwendungsendgerät 18 in
Reserve sind. Wenn eine entsprechende Anfrage an ein Redundanzmanager-API
in dem aktiven Anwendungsendgerät 16 gerichtet
wird, liefert das betreffende Redundanzmanager-API Information zurück, die
einen aktiven Zustand anzeigt. Selbstverständlich kann auch jede andere
gewünschte
Funktion durch das Redundanzmanager-API 104 bereitgestellt
werden.
-
Im Betrieb bauen die Redundanzmanager 50 und 62 vor
der Freigabe einer Umschaltung einen Redundanzkontext auf. Zunächst werden
die Anwendungsendgeräte 16 und 18 in
identischer (oder wenigstens im Wesentlichen identischer) Weise
konfiguriert. Vorzugsweise, nicht aber notwendigerweise, wird hierfür die Konfiguration
des aktiven Anwendungsendgerätes 16 über das
LAN 20 in z.B. das Reserve-Anwendungsendgerät 18 geladen.
In dem Reserve-Anwendungsendgerät 18 kann
ein Identitätssignal
oder ein anderer Indikator gesetzt oder eingestellt werden, um die
betreffende Station als in Reserve befindlich zu kennzeichnen. Nachdem
die Konfiguration des aktiven Anwendungsendgerätes 16 in das Reserve-Anwendungsendgerät 18 geladen
wurde, initiiert das Reserve-Anwendungsendgerät 18 die Kommunikation
mit dem aktiven Anwendungsendgerät 16 über die
Redundanzstrecke 46.
-
Das Reserve-Anwendungsendgerät 18 kommuniziert
mit dem aktiven Anwendungsendgerät 16 über die
Redundanzstrecke 46, um dem aktiven Anwendungsendgerät 16 Information
hinsichtlich der Funktionsgüte
zu übermitteln,
die erforderlich ist, um den Redundanzkontext aufzubauen. Die Information hinsichtlich
der Funktionsgüte
kann beispielsweise einen Parameter bezüglich der maximal zulässigen Datenlatenz,
einen maximal zulässigen
Zeitraum für den
Ausfall der Steuerung oder einen beliebigen anderen Parameter oder
Wert enthalten, der sich auf Leistung, Sicherheit, Kosten etc. des
Prozesssteuerungssystem 10 auswirken kann. Wenn das aktive Anwendungsendgerät 16 nicht
in der Lage ist, die erforderliche Funktionsgüte bereitzustellen, wird der Redundanzkontext
nicht aufgebaut.
-
Das Reserve-Anwendungsendgerät 18 kann außerdem das
aktive Anwendungsendgerät 16 abfragen,
um festzustellen, ob das aktive Anwendungsendgerät 16 bereits an einem
Redundanzkontext mit einer anderen Anwendungsendgerät teilnimmt. Wenn
das aktive Anwendungsendgerät 16 bereits Bestandteil
eines Paars redundanter Anwendungsendgeräte bildet, wird der Redundanzkontext
nicht aufgebaut.
-
Wenn das aktive Anwendungsendgerät 16 noch
nicht als redundanter Partner mit einem anderen Anwendungsendgerät partizipiert
(d.h. bereits Teil eines anderen Redundanzkontextes bildet) und die
zur Aufrechterhaltung des aufgebauten Redundanzkontexts erforderliche
Funktionsgüte
bereitstellen kann, übermittelt
das aktive Anwendungsendgerät 16 Information
bezüglich
der zur Ausführung
der Operationen des aktiven Anwendungsendgerätes 16 verwendeten
Ressourcen. Beispielsweise enthält
die zwischen dem Reserve-Anwendungsendgerät 18 und dem aktiven
Anwendungsendgerät 16 ausgetauschte
ressourcenbezogene Information die Speicheranforderungen und die
für die
Abwicklung der Aufgaben des aktiven Anwendungsendgerätes 16 erforderliche
Prozessorklasse, von dem aktiven Anwendungsendgerät 16 unterstützte Proxy-
bzw. bevollmächtigende
Information (z.B. Klient und Server bzw. Zusteller), Information
zum Kommunikationssubsystem (z.B. Basis-Information, Leitweglenkungs-Information
zum Internet-Protokoll, etc.).
-
Nach Empfang der Ressourceninformation bestimmt
das Reserve-Anwendungsendgerät 18,
ob es Zugriff auf die erforderlichen Ressourcen hat, wobei das Reserve-Anwendungsendgerät 18 in
dem Fall, dass es nicht über
den Zugriff auf die erforderlichen Ressourcen verfügt, eine
geeignete Fehlermeldung an das aktive Anwendungsendgerät 16 absetzt und
der Aufbau des Redundanzkontextes unterbleibt. Wenn andererseits
das Reserve-Anwendungsendgerät 18 Zugriff
auf die erforderlichen Ressourcen hat, baut das Reserve-Anwendungsendgerät 18 die
Kommunikation mit dem aktiven Anwendungsendgerät 16, dem Kommunikationssubsystem 68 und
allen anderen Subsystemen oder Vorrichtungen auf, um Informationen
von den Ressourcen zu erhalten, die für die Abwicklung der Aufgaben
des aktiven Anwendungsendgerätes 16 notwendig
sind. Sobald das Reserve-Anwendungsendgerät 18 die für den Erhalt
der benötigten
Ressourceninformation erforderliche Kommunikation aufgebaut hat,
kann ein Identitätssignal
oder ein anderer Indikator gesetzt werden, um anzuzeigen, dass der
Redundanzkontext aufgebaut ist.
-
Wenn der Redundanzkontext zwischen
dem aktiven Anwendungsendgerät 16 und
dem Reserve-Anwendungsendgerät 18 aufgebaut
ist, wird der Kontext fortgeführt,
wobei alle Änderungen
der Konfiguration, der Betriebsparameter, der Kommunikationssubsysteme,
bedienerseitige Änderungen,
Ablaufsteuerungs-Information, Stapel- bzw. Batch-Phasen, Alarmmeldungen,
Ereignismeldungen, Belegtmeldungen einzelner Ressourcen (beispielsweise beim
Zugriff auf eine mehrfach genutzte Einrichtung wie etwa einen Vorlauf
oder einen Reaktor) etc., die das aktive Anwendungsendgerät 16 betreffen,
an das Reserve-Anwendungsendgerät 18 übermittelt
werden. Wenn beispielsweise ein Systemnutzer oder ein Bediener die
Konfiguration des aktiven Anwendungsendgerätes 16 verändert, werden
diese Änderungen durch
den Redundanzmanager 50 über die Redundanzlinksubsysteme 60 und 72 und
die Redundanzstrecke 46 an den Redundanzmanager 62 übermittelt.
Der Redundanzmanager 62 aktualisiert anschließend die
Konfiguration des Reserve-Anwendungsendgerätes 18, so dass diese
mit dem des aktiven Anwendungsendgerätes 16 übereinstimmt.
In entsprechender Weise werden dann, wenn sich Parameterwerte wie
beispielsweise Abstimmdaten und dem virtuellen Steuerblock 54 zugeordnete
Regelkreisparameter etc. in einer Weise verändern, die die Fähigkeit
des Reserve-Anwendungsendgerätes 18 zur Übernahme
der Steuerungsaufgaben von dem aktiven Anwendungsendgerät 16 beeinflusst,
werden diese Parameterwerte an das Reserve-Anwendungsendgerät 18 übermittelt
und dort entsprechend aktualisiert. Folglich werden betriebliche Änderungen
in dem aktiven Anwendungsend gerät 16 an
das Reserve-Anwendungsendgerät
weitergegeben, so dass das Reserve-Anwendungsendgerät 18 im Wesentlichen synchronisiert
zur Funktion des aktiven Anwendungsendgerätes 16 ist.
-
Wenn eine Konfigurationsänderung
an dem aktiven Anwendungsendgerät 16 vorgenommen
und die Änderung
an das Reserve-Anwendungsendgerät 18 weitergegeben
wird, sperren die Redundanzmanager 50 und 62 die
automatische Umschaltung (d.h. eine Umschaltung infolge eines Fehlers
in dem aktiven Anwendungsendgerät 16).
Während
die automatische Umschaltung gesperrt ist, wird die Information betreffend
die Konfigurationsänderungen über die Redundanzlinksubsysteme 60 und 72 und
die Redundanzstrecke 46 an das Reserve-Anwendungsendgerät 18 übertragen.
Wenn die Konfigurationsinformation erfolgreich übermittelt und in dem Reserve-Anwendungsendgerät 18 aktualisiert
ist, wird die automatische Umschaltung wieder freigegeben. Andererseits
kann bei einem Fehlschlagen der Übertragung
und/oder der Aktualisierung der Konfigurationsinformation der Redundanzkontext
unterbrochen oder beendet werden, wobei in diesem Fall die Anwendungsendgeräte 16 und 18 nicht
weiter als redundantes Paar zusammenwirken.
-
Wie weiter oben erwähnt, kann
eine Umschaltung durch manuellen Eingriff eines Systemnutzers oder
eines Bedieners veranlasst werden, oder automatisch in Reaktion
auf die Erkennung einer Bedingung oder eines anderen Ereignisses
erfolgen, die/das es erfordert, dass das Reserve-Anwendungsendgerät 18 die
Aufgaben des aktiven Anwendungsendgerätes 16 übernimmt.
Eine manuelle Umschaltung kann durch einen hierfür berechtigten Benutzer veranlasst
werden, indem ein entsprechender Funktionsaufruf an ein Redundanzmanager-API
im Redundanzmanager 50 des aktiven Anwendungsendgerätes 16 abgesetzt
wird, welches ähnlich
oder identisch dem Redundanzmanager-API 104 sein kann.
-
Die automatische Umschaltung wird
durch das Reserve-Anwendungsendgerät 18 veranlasst, und
zwar in Reaktion auf eine Feststellung des Heartbeat- bzw. Synchronisationsmanagers 100 dahin
gehend, dass das aktive Anwendungsendgerät 16 keine weiteren
Synchronisationssignale (d.h. Statusinformation hinsichtlich der überwachten
Ressourcen, die auf die ordnungsgemäße Funktion des aktiven Anwendungsendgerätes 16 hinweist) über die
Redundanzstrecke 46 übermittelt.
Die Redundanzlinksubsysteme 60 und 72 sind so
konfiguriert, um ihre jeweiligen Redundanzmanager 50 und 62 in
dem Fall zu informieren, dass die Kommunikation mit einem Partner
innerhalb des Redundanzkontextes (beispielsweise dem Reserve-Anwendungsendgerät 18 als
Partner im Redundanzkontext mit dem aktiven Anwendungsendgerät 16)
ausbleibt. Zusätzlich
sind die Kommunikationssubsysteme 56 und 68 konfiguriert,
um ihre jeweiligen Redundanzmanager 50 und 62 im
Fall einer Unterbrechung der LAN-Kommunikation mit ihren jeweiligen
Anwendungsendgeräten 16 und 18 entsprechend
zu informieren. Wenn beispielsweise das aktive Anwendungsendgerät 16 einen Ausfall
der Kommunikation über
das LAN 20 erleidet, meldet das Kommunikationssubsystem 56 den
Ausfall an den Redundanzmanager 50. Der Redundanzmanager 50 meldet
den Kommunikationsausfall mittels seines Redundanzlinksubsystem 60 (über die Redundanzstrecke 46)
an den Redundanzmanager 62 in dem Reserve-Anwendungsendgerät 18.
-
Wie weiter oben erwähnt, kann
eine Umschaltung in Reaktion auf einen Benutzereingriff veranlasst
werden. Insbesondere kann ein Systemnutzer oder ein Bediener mit
einer oder mehreren der redundanten Anwendungen/Klienten 108 (3) über das Redundanzmanager-API 104 in
Verbindung treten, um eine Funktion aufzurufen, die eine Umschaltung
bewirkt. Vorzugsweise, nicht aber notwendigerweise, wird die Anforderung
zur Umschaltung an den Redundanzmanager 50 in dem aktiven
Anwendungsendgerät 16 gerichtet.
Wenn der Redundanzmanager 50 die Anforderung zur Umschaltung
erhält,
informiert der Redundanzmanager 50 den virtuellen Steuerblock 54,
damit dieser die Umschaltung veranlasst, und alle das aktive Anwendungsendgerät 16 benötigten Bevollmächtigungen
gesperrt werden. Zusätzlich werden
alle für
die Funktion des aktiven Anwendungsendgerätes 16 unterstützenden
Ressourcen informiert, dass eine Umschaltung eingeleitet wurde. Beispielsweise
wird das Kommunikationssubsystem 56 informiert, dass eine
Umschaltung angefordert wurde. In Reaktion auf die Meldung bezüglich der Umschaltung
stellt das Kommunikationssubsystem 56 sicher, dass seitens
des aktiven Anwendungsendgerätes 16 nichts
gegen eine Aktivierung des Reserve-Anwendungsendgerätes 18 (d.h. gegen
eine Übernahme
der Steuerung) steht. Darüber
hinaus stellt das Kommunikationssubsystem 56 sicher, dass alle
von dem Anwendungsendgerät
abgesetzten Meldungen (d.h. Anforderungen eines Wechsels der Betriebsweise,
Anforderungen zur Abstimmung etc.) an das aktive Anwendungsendgerät 16 übermittelt werden.
-
Nach Meldung der Umschaltung an die
Ressourcen kommuniziert der Redundanzmanager 50 über die
Redundanzlinksubsysteme 60 und 72 und die Redundanzstrecke 46,
um eine Umschaltanweisung oder -anforderung an den Redundanzmanager 62 in
dem Reserve-Anwendungsendgerät 18 zu übermitteln.
Das Reserve-Anwendungsendgerät 18 reagiert
auf die Anweisung oder die Anforderung zur Umschaltung, indem es
den virtuellen Steuerblock 66 informiert, die Umschaltung
zu bewirken, und durch Freigabe aller Bevollmächtigungen (die zuvor in dem aktiven
Anwendungsendgerät 16 gesperrt
wurden), die für
die Funktion des virtuellen Steuerblocks 66 erforderlich
sind. Anschließend
werden die den virtuellen Steuerblock 66 unterstützenden
Ressourcen von der Umschaltung informiert. Beispielsweise wird das Kommunikationssubsystem 68 im
Gange der Umschaltung informiert und kann in Reaktion hierauf die Aktualisierung
der Information zum Internetprotokollrouting, den erneuten Aufbau
der TCP-Verbindungen etc. veranlassen. Im Gegensatz hierzu kann
eine Umschaltung selbstverständlich
auch automatisch in Reaktion auf einen Ausfall des aktiven Anwendungsendgerätes 16 initiiert
werden.
-
Die redundanten Anwendungsendgeräte 16 und 18 können genutzt
werden, um eine Online-Konfigurationsänderung, auch bekannt als "Hot"-Konfigurationsänderung,
der aktiven Anwendung 16 vorzunehmen. Beispielsweise kann
nach dem Aufbau eines Redundanzkontextes zwischen dem aktiven Anwendungsendgerät 16 und
dem Reserve-Anwendungsendgerät 18 eine
Umschaltoperation vorgenommen werden, um die Funktionen des aktiven
Anwendungsendgerätes 16 an
das Reserve-Anwendungsendgerät 18 umzuschalten.
Die Umschaltoperation oder -funktion ist dann vorübergehend
gesperrt, so dass die Konfiguration des aktiven Anwendungsendgerätes 16 in
jeder gewünschten
Weise geändert
werden kann. Die Konfigurationsänderung kann
ein Upgrade oder eine Änderung
einer oder mehrerer der redundanten Anwendungen 52, eine Änderung
des virtuellen Steuerblocks 54 oder jede andere gewünschte Änderung
umfassen. Danach wird die Umschaltoperation oder -funktion wieder freigegeben,
und eine Umschaltoperation zum Umschalten der Funktionen des Reserve-Anwendungsendgerätes 18 an
das aktive Anwendungsendgerät 16 wird
ausgeführt.
-
Die in den beispielhaften Anwendungsendgeräten 16 und 18 dargestellten
Funktionsblöcke können unter
Verwendung jeder beliebigen Kombination aus Programmen, Software
in Festwertspeichern und Computergeräten, implementiert werden.
Beispielsweise können
ein oder mehrere Mikroprozessoren, Mikrosteuerungen, anwendungsspezifische Integrierte
Schaltungen (ASICs – Application
Specific Integrated Circuits) etc. auf Befehle oder Daten zugreifen,
die auf maschinen- oder prozessorlesbaren Speicher medien gehalten
werden, um die hierin beschriebenen Verfahren und Vorrichtungen
umzusetzen bzw. zu realisieren. Die Speichermedien können jede
beliebige Kombination aus Einrichtungen und/oder Medien wie beispielsweise
Halbleiterspeichern einschließlich
Speichern mit wahlfreiem Zugriff (RAM), Festspeichern (ROM), elektrisch
löschbaren/programmierbaren
Festwertspeichern (EEPROM) etc., optischen und magnetischen Speichermedien
etc. umfassen. Außerdem
können
Programme, die zur Implementierung der Funktionsblöcke genutzt
werden, zusätzlich
oder alternativ zu dem Prozessor oder einer anderen Einrichtung
bzw. anderer Einrichtungen zur Abarbeitung der Programme, über das
Internet, Telefonleitungen, Satellitenkommunikation etc. geliefert
und zugegriffen werden.
-
Während
die vorliegende Erfindung unter Bezugnahme auf spezifische Ausführungsbeispiele beschrieben
worden ist, die die Erfindung nur verdeutlichen und nicht einschränken sollen,
wird es für den
Fachmann offensichtlich sein, dass Änderungen, Hinzufügungen oder
Weglassungen an den offenbarten Ausführungsformen vorgenommen werden
können,
ohne vom Geist und Geltungsbereich der Erfindung abzuweichen.