-
GEBIET DER
ERFINDUNG
-
Dieses
Patent bezieht sich im Allgemeinen auf Prozessanlagen, insbesondere
auf die Nutzung einer Konfigurationsanwendung, die einem Datenarchivsystem,
wie z. B. einem Stapel- bzw. Batcharchivsystem, die Beziehungen
zwischen Entitäten
höherer
und niedrigerer Ebene innerhalb der Prozessanlagenkonfiguration
automatisch mitteilt.
-
BESCHREIBUNG
DES STANDES DER TECHNIK
-
Verteilte
Prozesssteuerungssysteme, wie sie in chemischen, mineralölbezogenen
oder anderen Prozessen genutzt werden, umfassen typischerweise eine
oder mehrere Prozesssteuerungen, die kommunikativ mit einer oder
mehreren Feldeinrichtungen bzw. -geräten über analoge, digitale oder
kombinierte Analog-Digital-Busse verbunden sind. Die Feldgeräte, die
z. B. Ventile, Ventilstelleinrichtungen, Schalter und Übertragungseinrichtungen
(z. B. Temperatur-,Druck-, Niveau- und Durchflusssensoren) befinden
sich innerhalb der Prozessumgebung und führen Prozessfunktionen aus,
wie z. B. Öffnen
und Schließen
von Ventilen, Messen von Prozessparametern, etc. Intelligente Feldgeräte, wie
die Feldgeräte,
die für
das bekannte FOUNDATION®-Fieldbus-Protokoll ausgelegt
sind, können
auch Steuerungsberechnungen, Alarmfunktionen und andere Steuerungsfunktionen
ausführen,
die üblicherweise
innerhalb der Steuerung implementiert sind. Die Prozesssteuerungen, die
auch typischerweise innerhalb der manchmal rauhen Anlagenumgebung
zu finden sind, empfangen Signale, die Prozessmessungen angeben,
die von den Feldgeräten
gemacht wurden, und/oder andere Informationen, die die Feldgeräte betreffen
und führen
eine Steuerungsanwendung aus, die z. B. unterschiedliche Steuerungsmodule
ablaufen lässt,
die Prozesssteuerungsentscheidungen treffen und Steuerungssignale
erzeugen, welche auf den erhaltenen Informationen basieren und koordinieren
sich mit den Steuerungsmodulen oder -blöcken, die in den Feldgeräten ausgeführt werden,
wie z. B. HART- und Fieldbus-Feldgeräten. Die
Steuerungsmodule in der Steuerung senden die Steuerungssignale über die Kommunikationsleitungen
zu den Feldgeräten,
um dadurch den Betrieb der Prozessanlagen zu steuern.
-
Informationen
von den Feldgeräten
und der Steuerung werden üblicherweise über einen
Datenhighway bzw. -bus einer oder mehreren Hardware-Einrichtung/en,
wie z. B. Bediener-Workstations bzw. -Systemarbeitsplätzen, PCs,
Datenarchivsystemen, Listengeneratoren, zentralisierten Datenbanken,
etc. verfügbar
gemacht, die typischerweise in Kontrollräumen oder anderen Orten, entfernt
von der rauen Anlagenumgebung, platziert sind. Auf diesen Hardware-Einrichtungen
laufen z. B. Anwendungen, bei denen es einem Bediener ermöglicht wird, Funktionen
in Bezug auf den Prozess auszuführen, wie
z. B. das Andern von Einstellungen der Prozesssteuerungsroutine,
die Modifizierung der Steuerungsmodule innerhalb der Steuerungen
oder der Feldgeräte,
Ansehen des derzeitigen Status des Prozesses, Ansehen von Alarmen,
die durch Feldgeräte und
Steuerungen erzeugt werden, Simulation der Arbeitsweise des Prozesses
zum Zweck des Trainings von Personal oder des Testens der Prozesssteuerungssoftware,
Pflege und Aktualisierung einer Konfigurationsdatenbank, Erzeugen
von Reports bzw. Listen von den Aktivitäten und dem Betrieb der Abschnitte
oder Einheiten innerhalb der Prozessanlage, etc.
-
Das
z. B. von Fisher-Rosemount Systems Inc. verkaufte Delta VTM-Steuerungssystem umfasst mehrere Anwendungen,
die innerhalb von unterschiedlichen Geräten, die sich an verschiedenen Plätzen innerhalb
der Prozessanlage befinden, gespeichert und ausgeführt werden.
Eine Konfigurationsanwendung, die sich in einem oder mehreren Betreiber-Workstations befindet,
ermöglicht
den Benutzern das Erzeugen oder Verändern von Prozesssteuerungsmodulen
und das Herunterladen dieser Prozesssteuerungsmodule über einen
Datenhighway bzw. -bus zu bestimmten verteilten Steuerungen. Typischerweise
sind diese Steuerungsmodule aus kommunikativ vernetzten Funktionsblöcken aufgebaut,
welche Objekte in einem objektorientierten Programmprotokoll sind,
und die innerhalb des Steuerungsschemas auf der Basis von diesem
eingegebenen Daten Funktionen ausführen und die Ausgaben anderen
Funktionsblöcken
innerhalb des Steuerungsschemas zur Verfügung stellen. Die Konfigurationsanwendung
kann einem Konfigurationsdesigner auch erlauben, Bedienerschnittstellen,
die von einer Anzeigeanwendung genutzt werden, zu erzeugen oder
zu verändern,
um einem Bediener Daten anzuzeigen und es dem Bediener zu ermöglichen,
Einstellungen innerhalb der Prozesssteuerungsroutine zu ändern, wie
z. B. Sollwerte. Die Konfigurationsanwendung kann es einem Nutzer
ermöglichen,
die spezifischen Beziehungen zwischen Steuerungsmodulen und anderen
Entitäten
höherer
Ebene innerhalb der Prozessanlage, wie z. B. Gerätschaften und Einheiten, für die die
Steuerungsmodule ausgeführt werden,
zu spezifizieren.
-
Jede
dedizierte Steuerung, und in manchen Fällen jedes Feldgerät, speichert
eine Steuerungsanwendung, welche die bezeichneten und auf diesen heruntergeladenen
Steuerungsmodule ablaufen lässt,
um konkrete Prozesssteuerungsfunktionalität zu implementieren, und führt diese
aus. Die Anzeigeanwendungen, die auf einem oder mehreren Operatorworkstation/s
ablaufen können,
empfangen Daten von der Steuerungsanwendung über den Datenhighway und zeigen
diese Daten Prozesssteuerungssystemdesignern, Bedienern oder Nutzern
unter Verwendung der Benutzerschnittstelle an, und können jede
beliebige einer Anzahl verschiedener Ansichten zur Verfügung stellen,
wie z. B. eine Bedieneransicht, eine Ingenieursansicht, eine Technikeransicht,
etc. Eine Datenarchivsystemanwendung ist typischerweise gespeichert
in einer Datenarchivsystemeinrichtung und wird von dieser ausgeführt, wobei
alle oder einige der Daten, die über
den Datenhighway zur Verfügung
stehen, erfasst und speichert, während
eine Konfigurationsdatanbankanwendung in einem nochmals weiteren
Computer laufen kann, der an den Datenhighway angeschlossen ist,
um die momentane Prozesssteuerungsroutinenkonfiguration und die
damit in Zusammenhang stehenden Daten zu speichern. Alternativ dazu
kann sich die Konfigurationsdatenbank in der gleichen Workstation
wie die Konfigurationsanwendung befinden.
-
Allgemein
gesprochen sammeln bzw. erfassen Archivsysteme im Allgemeinen und
Stapel- bzw. Batcharchivsysteme
im Besonderen Daten, die im Zusammenhang mit unterschiedlichen Entitäten innerhalb
der Prozessanlage stehen und speichern diese Daten in einer Art
und Weise, dass sie für
einen Nutzer einfach abzurufen sind, um ein Archivprotokoll von Änderungen
und Aktivitäten
zu sehen, die durch die unterschiedlichen Entitäten in einer Prozessanlage
ausgeführt
worden sind. Insbesondere sammeln und speichern Datenarchivsysteme,
wie z. B. Stapel- bzw. Batcharchivsysteme, typischerweise Daten
auf einer Einheit-für-Einheit-Basis
und können Daten
speichern und sammeln, die im Zusammenhang mit Änderungen, die durch Bediener
an einer Einheit gemacht worden sind, der Ausführung von Stapel- bzw. Batchabläufen auf
einer Einheit, etc. stehen. Darüber
hinaus sammeln Stapel- bzw. Bach-Archivsysteme im Allgemeinen Ereignisdaten
wie z. B. Alarme und andere Ereignissignale, die innerhalb einer
Prozessanlage erzeugt werden, und speichern diese Signale, um so
signifikante Ereignisse aufzuzeichnen, die in Prozessentitäten innerhalb
der Prozessanlage erfasst wurden, wie z. B. Überlauf- oder Unterlaufzustände, Verschlechterung
oder Verlust von Kommunikationen innerhalb der Prozessanlage, etc.
Diese Daten sind typischerweise innerhalb der Prozessanlage unter
Verwendung elektronischer Signale an eine Einheit gerichtet oder
stammen von einer Einheit, wobei diese Daten einfach durch die Adresse
oder andere Informationen innerhalb des Signals, das zu oder von
der Einheit gesendet wurde, als solche zu identifizieren sind. Während viele
von diesen Daten einheitenspezifisch sind und von dem Stapelarchivsystem
als solche identifiziert werden können, werden Ereignissignale
(mit Alarmen als besonderem Typ von Ereignissignalen) typischerweise auf
einer Modul-zu-Modul-Basis innerhalb der Prozessanlage erzeugt.
Das heißt,
die Steuerungsmodule, die innerhalb einer Steuerung oder, in manchen Fällen, innerhalb
der Feldgeräte
oder anderer Einheiten in der Prozessanlage arbeiten, erzeugen die
Ereignissignale und senden diese Ereignissignale an eine Operatorworkstation
zur Anzeige für
einen Benutzer, ohne eine Entität
höherer
Ebene zu spezifizieren, zu der das Modul gehört, das das Ereignissignale
erzeugt. Weil Ereignissignale modulspezifisch sind, muss das Stapelarchivsystem
wissen, zu welcher Entität
höherer
Ebene, wie z. B. zu welcher Einheit, das Modul gehört, das
das Ereignissignal erzeugt hat.
-
Während eine
Beziehung zwischen Entitäten höherer Ebene,
wie z. B. Einheiten, und Entitäten niedrigerer
Ebene, wie z. B. Gerätschaften
und Steuerungsmodulen, generell besteht, wird diese Beziehung bei
der Erzeugung des Prozesssteuerungssystems durch ein Konfigurationssystem
spezifiziert oder konfiguriert. Die Prozesssteuerungssystemkonfiguration
kann während
des Einsatzes der Prozessanlage verändert werden, wenn neue oder
unterschiedliche Steuerungsmodule und Gerätschaftsentitäten zur
Prozessanlage hinzugefügt
werden und neue oder geränderte
Steuerungsmodule auf Steuerungen oder anderen Einrichtungen innerhalb
der Prozessanlage heruntergeladen werden. Da allerdings ein Datenarchivsystem
typischerweise als ein Paket von Dritten stammt, verfügt es im
Allgemeinen nicht über
Informationen über
Gerätschaften
niedrigerer Ebene oder Steuerungsmodule, die einer speziellen Einheit
zugeordnet sind, es sei denn, die Einheit/Gerätschaft- und die Instrumentierungsbeziehungen
sind spezifisch als Teil der Archivsystemkonfigurationen konfiguriert
worden. Daher sind nachteiligerweise dem Datenarchivsystem und insbesondere
einem Batcharchivsystem innerhalb der Prozessanlage im Allgemeinen
die Beziehungen zwischen den Einheiten, für die es Daten sammelt, und
den Modulen innerhalb der Prozessanlage, die Ereignissignale erzeugen,
nicht bekannt. Im Ergebnis ist das Datenarchivsystem häufig nicht
in der Lage, Ereignisse, die innerhalb der Prozessanlage erzeugt
wurden, mit den Einheiten, in denen diese erfassten Ereignisse auftreten,
aufeinander zu beziehen. Dies führt
zu einem unvollständigen
Bild einer Einheitarchivierung und zu einem unorganisierten Protokoll von
Ereignissen für
die Prozessanlage. Nochmals weiterhin ist es für das exakte Sammeln von Ereignisdaten
(z. B. Alarmdaten) für
das Datenarchivsystem wichtig zu wissen, welche Ereignisse und Alarme sich
auf welche Einheiten beziehen, denn in Stapel- bzw. Batchprozessen
sind Alarme und Ereignisse nur dann von Relevanz, wenn sie auf einer
Einheit erzeugt werden, auf der momentan ein Stapel bzw. Batch abläuft. Insbesondere
ist es für
ein Stapel- bzw. Batcharchivsystem wünschenswert, Ereignissignale
zu ignorieren, die Einheiten zugeordnet sind, für welche kein Stapel bzw. Batch
abläuft,
aber die Ereignissignale zu sammeln und zu speichern, die Einheiten
zugeordnet sind, auf denen momentan ein Batch abläuft. Dieses
Sammeln ist jedoch unmöglich, wenn
die Einheit/Gerätschaft/Modul-Beziehungen dem Batcharchivsystem
nicht bekannt sind.
-
In
der Vergangenheit konnte ein Konfigurationsingenieur oder eine andere
Person das Batcharchivsystem in Bezug auf die Beziehungen zwischen Entitäten höherer Ebene,
wie etwa Einheiten, und den Entitäten niedrigerer Ebene, wie
Gerätschaftsentitäten und
Steuerungsmodulen, innerhalb der Prozessanlage manuell so instruieren,
dass das Datenarchivsystem die gesammelten Ereignisdaten zu den Einheiten
innerhalb der Prozessanlage in Beziehung setzen konnte. Bei der
anfänglichen
Konfiguration des Prozesssteuerungssystems konnte jedoch der Konfigurationsaufwand überwältigend
groß sein, denn
es ist für
eine Einheit nicht unüblich,
Hunderte von Einheiten/Gerätschafts/Steuerungsmodulbeziehungen
aufzuweisen und für
eine Anlage nicht unüblich,
Hunderte von Einheiten zu besitzen. Wichtig ist, dass diese Batcharchivsystemkonfigurationsaktivität häufig überhaupt
nicht durchgeführt
wurde, da dies einen Extraschritt verlangte, den der Konfigurationsingenieur
auszuführen
hatte. Selbst wenn diese Konfigurationsinformationen dem Stapel-
bzw. Batcharchivsystem vom Konfigurationsingenieur anfänglich zur
Verfügung
gestellt wurde, so musste darüberhinaus
die Konfigurationsdatenbank des Stapelarchivsystems ständig und
jedesmal wieder geändert
werden, wenn eine Konfigurationsänderung
auftrat, die diese Beziehungen änderte,
was für
den Konfigurationsingenieur sehr mühsam war. Weil außerdem diese
Konfigurationsänderungen
in einer Prozessanlage ziemlich oft vorkommen können, führte die Unterlassung, das
Batcharchivsystem bei jeder Konfigurationsänderung in jeder Instanz zu
aktualisieren, dazu, dass die Konfiguration zwischen Einheiten,
Gerätschaft
und Steuerungsmodulen, wie in dem Datenarchivsystem gespeichert,
rasch in Bezug auf die tatsächliche
Konfiguration zwischen diesen Entitäten innerhalb einer Prozessanlage
unkorreliert oder falsch angepasst wurde, was dazu führte, dass
das Stapelarchivsystem ungenaue Berichte erzeugte.
-
ZUSAMMENFASSUNG
-
Ein
Konfigurationssystem für
eine Prozessanlage umfasst eine Routine, die eine Angabe der Beziehungen
zwischen Entitäten
höherer
Ebene, wie etwa Einheiten, und Entitäten niedrigerer Ebene, wie Gerätschaft
und Steuerungsmodulen, innerhalb einer Prozessanla ge einem Datenarchivsystem,
wie etwa einem Batcharchivsystem, automatisch zur Verfügung stellt.
Das Datenarchivsystem speichert und nutzt diese Beziehungen zum
Sammeln von Ereignissen, die innerhalb der Prozessanlage erzeugt
wurden, und um diese Ereignissen den korrekten Entitäten höherer Ebene
innerhalb der Prozessanlage zuzuordnen. Der automatische Aspekt
des Aktualisierens der Konfigurationsinformationen innerhalb des Datenarchivsystems
durch die Konfigurationsanwendung eliminiert die Anforderung, dass
ein Benutzer manuell das Datenarchivsystem mit diesen Beziehungen
aktualisiert, entweder zu dem Zeitpunkt, zu dem die Prozessanlage
konfiguriert wird oder zu jedem Zeitpunkt, zu dem eine Veränderung
an der Konfiguration der Prozessanlage vorgenommen wird. Diese Tatsache
führt wiederum,
durch das Datenarchivsystem erzeugt, zu einer genaueren Berichterstattung
und informativeren Berichten.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist ein Blockdiagramm
eines innerhalb einer Prozessanlage befindlichen verteilten Prozesssteuerungsnetzwerkes
einschließlich
eines Datenarchivsystems und einer Operator-Workstation, auf der eine
Konfigurationsanwendung implementiert ist;
-
2 ist ein Fließschaltbild,
das einen Abschnitt einer Konfigurationsanwendung zeigt, das einem
Datenarchivsystem automatisch Konfigurationsinformationen zu dem
Zeitpunkt zur Verfügung
stellt, zu dem die Konfiguration erzeugt oder auf Steuerungen innerhalb
der Prozessanlage heruntergeladen wird; und
-
3 ist eine Darstellung eines
Konfigurationsbildschirms, der auf die Konfigurationsanwendung von 2 zurückgehen kann, um es einem Konfigurationsingenieur
zu ermöglichen,
die Beziehungen zwischen den Entitäten höherer und niedrigerer Ebene
innerhalb einer Prozessanlage zu konfigurieren.
-
GENAUE BESCHREIBUNG
-
Aus 1 ist ersichtlich, dass
ein Prozesssteuerungsnetzwerk oder -system 10 ein oder
mehrere Prozesssteuerung/en 12 umfasst, die mit einem oder
mehreren Host-Workstations
oder -Computern 14 (welche von jedem beliebigen Typ von
Personalcomputer, Workstation bzw. Arbeitsplatzsystem oder eines
andereren Computers sein können)
und mit einem Datenarchivsystem 16 über eine Kommunikationsverbindung 18 verbunden
sind. Die Kommunikationsverbindung 18 kann z. B. ein Ethernet-Kommunikationsnetzwerk
oder von jeder anderen gewünschte
Art eines privaten oder öffentlichen
Kommunikationsnetzwerkes sein. Jede der Steuerungen 12 ist
mit einem oder mehreren Ein-/Ausgabe(I/O)-Gerät/en 20, 22 verbunden,
von denen wiederum jedes mit einem oder mehreren Feldgerät/en 25 – 39 verbunden
ist. Während
in 1 dargestellt ist,
dass zwei Steuerungen 12 mit fünfzehn Feldgeräten verbunden
sind, könnte
das Prozesssteuerungssystem 10 jede beliebige andere Anzahl
von Steuerungen und jede gewünschte
Anzahl und Art von Feldgeräten
umfassen. Natürlich
sind die Steuerungen 12 mit den Feldgeräten 25 – 39 unter
Einsatz jeder beliebiger gewünschter
Hard- und Software kommunikativ verbunden, die z. B. mit Standard-4-20-mA-Geräten und/oder
jedem beliebigen intelligenten Kommunikationsprotokoll wie dem Fieldbus-
oder HART-Protokoll
in Zusammenhang stehen. Wie allgemein bekannt ist, implementieren oder überwachen
die Steuerungen 12, welche, nur als Beispiel, von Fisher-Rosemount
Systems, Inc. verkaufte Delta VTM-Steuerungen
sein können,
Prozesssteuerungsroutinen oder Steuerungsmodule 40, die
darin gespeichert oder auf andere Weise diesen zugeordnet sind,
und kommunizieren mit den Geräten 25 – 39,
um einen Prozess in jeder beliebigen gewünschten Art und Weise zu steuern.
-
Die
Feldgeräte 25 – 39 können von
jeder Art Geräte
sein, wie etwa Sensoren, Ventile, Übertrager, Stellgeräte, etc.,
während
die I/O-Karten 20 und 22 von jeder Art von I/O-Geräten sein
können,
die konform mit jedem beliebigen gewünschten Kommunikations- oder Steuerungsprotokoll
sind, wie etwa HART, Fieldbus, Profibus, etc. In der in 1 gezeigten Ausführungsform
sind die Feldgeräte 25 – 27 standardisierte
4-20-mA-Geräte,
die über
Analogleitungen mit der I/O-Karte 22A kommunizieren. Die
Feldgeräte 28 – 31 sind
als mit einem HART-kompatiblen I/O-Gerät 20A verbundene HART-Geräte gezeichnet.
Ebenso sind die Feldgeräte 32 – 39 intelligente Geräte, wie
etwa Fieldbus- Feldgeräte, die über einen Digitalbus 42 oder 44 mit
den I/O-Karten 20B oder 22B unter Einsatz beispielsweise
von Fieldbus-Protokoll-Kommunikationen kommunizieren. Natürlich können die
Feldgeräte 25 – 39 und
die I/O-Karten 20 und 22 zu jedem anderen gewünschten
Standard (oder einer Mehrzahl von Standards) oder Protokollen neben
den 4-20-mA-, HART- oder Fieldbus-Protokollen konform sein, einschließlich jedes
beliebigen, zukünftig
zu entwickelnden Standards oder Protokolls. Wie dies dem Fachmann
ersichtlich ist, ist jedes der Feldgeräte 25 – 39 typischerweise
Gerätschaften
innerhalb einer oder mehrerer spezifizierter Einheit/en innerhalb
der Prozessanlage zugeordnet oder ist ein Teil hiervon. In gleicher
Weise sind in jeder der Steuerungen 12 Steuerungsmodule 40 implementiert,
die einer oder mehreren Einheit/en oder anderen Entitäten, wie
etwa einem Bereich, innerhalb der Prozessanlage zugeordnet sind,
um Operationen auf diesen Einheiten, Bereichen, etc. durchzuführen. In
einigen Fällen
können
Teile der Steuerungsmodule in I/O-Geräten 22 oder 20 und
den Feldgeräten 25 – 39 vorliegen
und durch diese ausgeführt
werden. Dies ist insbesondere der Fall bei den FOUNDATON®-Fieldbus-Feldgeräten 32 – 39.
Module oder Abschnitte von Modulen 45 sind in den I/O-Karten 20A, 22B angeordnet
gezeigt und Module oder Abschnitte von Modulen 46 sind
in der Feldgeräten 34 und 39 angeordnet
gezeigt.
-
Typischerweise
ist jedes der Module 40, 45 und 46 aus
einem oder mehreren untereinander verbundenen Funktionsblöcken aufgebaut,
wobei jeder Funktionsblock ein Teil (z. B. eine Subroutine) einer übergreifenden
Steuerungsroutine ist und in Verknüpfung mit anderen Funktionsblöcken (über „Links" genannte Kommunikationen)
arbeitet, um Prozesssteuerungsschleifen innerhalb des Prozesssteuerungssystems 10 zu
implementieren. Funktionsblöcke
führen
typischerweise eine von einer Eingabe-Funktion, wie etwa diejenige,
die einem Übertrager,
einem Sensor oder anderen Prozessparameter-Messgerät zugeordnet
ist, einer Steuerungsfunktion, wie etwa derjenige, die einer Steuerungsroutine zugeordnet
ist, die eine PID-Steuerung, Fuzzy-Logik-Steuerung, etc. durchführt, oder
einer Ausgabefunktion, die den Betrieb eines Gerätes oder einiger Geräte, wie
z. B. eines Ventils, steuert, um eine technische Funktion innerhalb
des Prozesssteuerungssystems 10 durchzuführen. Natürlich gibt
es Hybrid- oder andere Arten von Funktionsblöcken. Sowohl Funktionsblöcke als
auch Module können
in den Steuerungen 12 gespeichert werden und von diesen ausgeführt werden,
was typischerweise der Fall ist, wenn diese Funktionsblöcke für Standard-4-20-mA-Geräte und einige
Arten von intelligenten Feldgeräten
genutzt werden oder diesen zugeordnet sind, oder sie können in
den Feldgeräten selbst
gespeichert sein und können
durch diese implementiert werden, was etwa bei den FOUNDATION®-Fieldbus-Geräten der
Fall sein kann. Während die
Beschreibung des Steuerungssystems 10 hier unter Verwendung
der Funktionsblock-Steuerungsstrategie erfolgt, könnte die
Steuerungsstrategie auch unter Verwendung anderer Konventionen implementiert
oder ausgelegt sein, wie etwa der Kontaktlogik („Ladder logic"), Sequenzflussdiagrammen,
etc. und unter Verwendung jeder gewünschten proprietären oder
nichtproprietären
Programmiersprache.
-
In
dem System 10 der 1 dient
eines oder dienen mehrere der Host-Geräte 14 als eine Operator-Workstation
und umfasst Konfigurationssoftware 50, die in einem Speicher 52 gespeichert
ist und die ausgebildet ist, um auf einem Prozessor 54 der Workstation 14 ausgeführt zu werden.
Natürlich
kann der Prozessor 54 von jeder gewünschten Art eines Prozessors
sein und der Speicher 52 kann von jeder gewünschten
Art eines computerlesbaren Speichers sein, einschließlich RAM,
ROM, Speicher auf einem Harddrive bzw. einer Festplatte oder einem
magnetischen oder optischen Speichermedium, eines zweckbestimmten
Speichers oder eines transportablen Speichers, wie etwa einer magnetischen
oder optischen Platte, etc. Nochmals weiterhin kann der Prozessor 54 und
der Speicher 52 z. B. in einem ASIC oder einer Firmware-Konfiguration
kombiniert vorliegen. Allgemein gesprochen erlaubt es die Konfigurationssoftware 50 einem
Konfigurationsingenieur, Konfigurationsaktivitäten innerhalb der Prozessanlage
durchzuführen,
einschließlich
dem Erzeugen und Spezifizieren von auf die Steuerungen 12,
die I/O-Geräte 20 und 22 und
die Feldgeräte 25 – 39 herunterzuladenden
Steuerungsmodulen, um Einheiten oder andere Gerätschaften innerhalb des Prozesssteuerungssystems 10 zu
steuern. Als Teil dieser Konfigurationsaktivitäten spezifiziert der Konfigurationsingenieur
oder ein anderer Benutzer die spezifischen Beziehungen zwischen
Entitäten
höherer
Ebene innerhalb der Prozessanlage, wie z. B. Einheiten, und Entitäten niedrigerer
Ebene innerhalb der Prozessanlage, wie etwa der Gerätschaften
und Steuerungsmodulen, die jeder der Einheiten zugeordnet sind.
Nachdem die Steuerungsmodule für
jede der Einheiten erzeugt worden und diesen zugeordnet sind, können diese
Steuerungsmodule auf die Steuerungen 12 und, falls erforderlich,
auf die I/O-Geräte 20, 22 und
die Feldgeräte 25 – 39 heruntergeladen werden
und können
auf diesen implementiert werden, um den Prozessablauf zu steuern.
Nochmals weiterhin wird der Konfigurationsingenieur an einem bestimmten
Punkt innerhalb der Konfigurationsaktivität die momentan Konfiguration
des Prozesssteuerungssystems 10 in einer Konfigurationsdatenbank 55 speichern,
die z. B. auf einer der Workstations 14 gespeichert werden
kann.
-
Ist
der Prozess ein Stapel- bzw. Batch-Prozess, kann eine Stapel- bzw.
Batchausführungsroutine 56 (so
dargestellt, dass sie in einer anderen der Workstations 14 gespeichert
ist) dazu verwendet werden, um Stapel bzw. Batches laufen zu lassen und
dabei unterschiedliche Rezepte („Recipes") auf bestimmten Einheiten innerhalb
des Prozesssteuerungssystems 10 zu unterschiedlichen Zeitpunkten zu
verwenden. Während
des Betriebes bzw. der Ausführung
kann die Stapelausführungsroutine 56 bestimmte
Einheiten innerhalb des Prozesssteuerungssystems 10 reservieren
und den Steuerungsmodulen 40, 45 und 46 innerhalb
der Steuerungen 12, den I/O-Geräten 20, 22 und
den Feldgeräten 25 – 39 Rezept
und andere operator-erzeugte Informationen zur Verfügung stellen,
um eine oder mehrere Phasen eines Stapelprozesses zu implementieren.
Die Stapelausführende 56 kann
diese Phasen bis zu ihrer Vollendung auch überwachen. Natürlich werden
während
dieser Zeit die Steuerungsmodule 40, 45 und 46 Ereignisse
erfassen, wie etwa signifikante Probleme, wie Alarme, oder weniger
ernsthafter Probleme, wie Warnungen oder Benachrichtigungen, und
zwar basierend auf dem Ablauf des Prozesses, und werden Ereignissignale
an eine oder mehrere der Operator- bzw. Bedienerworkstations 14 senden,
wo diese Ereignisse (z. B. Alarme) einem Operator bzw. Bediener
angezeigt werden. Dieser kann, falls erforderlich, Maßnahmen
ergreifen, um die Auswirkungen der Bedingungen) abzumildern, die
für die
Ereignisse ursächlich
sind. Natürlich
kann während
des Betriebs ein Prozessbediener, wie etwa ein Stapelbediener, Änderungen
an der Stapelausführungsroutine 56 vornehmen,
in dem neue Stapel, die abzulaufen haben, neue Rezepte, Änderungen
an existierenden Stapelabläufen
und Rezepten, etc. bereitgestellt werden.
-
Wie
bekannt ist, umfasst das Datenarchivsystem 16 einen Prozessor 60 und
einen Speicher 62, der Programme oder Routinen speichert,
die auf dem Prozessor 60 ablaufen sollen, um Daten oder Nachrichten
auf dem Kommunikationsnetzwerk 18 zu überwachen. Diese Routinen überwachen Änderungen,
die von einem Bediener oder anderen Benutzer über eine beliebige der Workstations 14 an
den Stapelabläufen
oder Modulen innerhalb der Prozessanlage vorgenommen werden, wie
auch Ereignisse, die durch beliebige der Module 40, 45 und 46 oder der
Geräte 12, 20, 22 oder 25 – 39 erzeugt
werden. Diese Überwachungsroutinen
speichern die gesammelten Informationen in einer Weise, dass sie
zu einem späteren
Zeitpunkt z. B. für
die Erstellung eines Berichtes bzw. Protokolls des zurückliegenden
Betriebs der unterschiedlichen Elemente und insbesondere der unterschiedlichen
Einheiten innerhalb des Prozesssteuerungssystems 10 abgefragt
werden können.
Die durch das Datenarchivsystem 16 gesammelten Daten können jede
beliebige Art von Daten sein, die an den Operator-Workstations 14 erzeugt
werden, wie etwa Änderungen
von Sollwerten in Einheiten, oder weitere Steuerungsdaten, die durch
einen Bediener, welcher Änderungen
an Gerätschaften
oder Steuerungsmodulen innerhalb der Prozessanlage macht, gesendet
werden oder Daten, die von Steuerungsmodulen innerhalb der Prozessanlage
erzeugt werden, einschließlich
Ereignisdaten, wie etwa Alarmen. Um dem Datenarchivsystem 16 korrektes
Funktionieren zu ermöglichen,
um in der Lage zu sein, von innerhalb der Prozessanlage empfangene
Daten zuzuordnen, beinhaltet das Datenarchivsystem 16 einen
Konfigurationsspeicher oder -liste 64, die die Beziehungen
zwischen unterschiedlichen Entitäten
höherer
Ebene, wie etwa Einheiten, und Entitäten niedrigerer Ebene, wie
Gerätschaften und
Steuerungsmodule, angibt, da diese Beziehungen innerhalb der Konfigurationsdatenbank 55 spezifiziert
oder gespeichert sind. Das Datenarchivsystem 16 verwendet
diese Konfigurationsinformationen, um die von den Workstations 14 oder
den Steuerungsmodulen 40, 45 und 46 empfangenen
Daten der korrekten Entität
höherer
Ebene, wie etwa mit der korrekten Einheit, zuzuordnen, so dass das
Datenarchivsystem 16 Informationen verfolgen kann, wie
z. B. Änderungen,
die an jeder der unterschiedlichen Entitäten höherer Ebene innerhalb der Prozessanlage
vorgenommen wurden, oder Ereignisse, die diesen zugeordnet sind.
Weiterhin kann das Datenarchivsystem 16 diese Konfigurationsinformationen verwenden,
um zu bestimmen, ob Alarme oder Ereignisse, die innerhalb der Prozessanlage
erzeugt werden, von einer Einheit erzeugt werden, die momentan tatsächlich läuft oder
als Teil eines Batchprozesses in Betrieb ist, und die daher für den betriebsmäßigen Status
der Einheit relevant sind oder ob stattdessen diese Ereignisse einer
inaktiven Einheit zugeordnet sind und daher für den betriebsmäßigen Status
der Einheit nicht relevant sind.
-
In
der Vergangenheit musste der Benutzer die in dem Konfigurationsspeicher 64 gespeicherten Konfigurationsinformationen,
die die Teile oder Subelemente von jeder Einheit innerhalb der Prozessanlage
spezifizieren, manuell zur Verfügung
stellen, so dass das Stapel- bzw. Batcharchivsystem 16 korrekt arbeiten
konnte, um genaue und vollständige
Daten über
jede der Entitäten
höherer
Ebene, wie etwa Einheiten, innerhalb der Prozessanlage abzuspeichern. Allerdings
konnte diese Aufgabe sehr zeitaufwendig sein und war mit dem Risiko
vom Bediener induzierter Fehler behaftet, da Fehler beim Spezifizieren
der tatsächlichen
Art und Weise, in welcher das Prozesssteuerungssystem 10 konfiguriert
war, in den an das Datenarchivsystem 16 gesendeten Konfigurationsinformationen
gemacht werden konnten. Darüber
hinaus hatte ein Benutzer jedes Mal, wenn eine Konfigurationsänderung
an dem Prozesssteuerungssystem 10 vorgenommen wurde, wie
etwa beim Hinzufügen, Löschen oder
Verändern
von Steuerungsmodulen oder Gerätschaften,
die Einheiten zugeordnet waren, diese Informationen dem Datenarchivsystem 16 manuell
zur Verfügung
zu stellen. Falls der Bediener vergessen oder auf sonst eine Weise
verfehlt hatte, die Änderungen
dem Datenarchivsystem 16 bekannt zu geben, konnten die
in dem Datenarchivsystem 16 gespeicherten oder durch diesen
protokollierten Daten unvollständig
oder fehlerhaft werden.
-
Um
diese Probleme zu überwinden,
beinhaltet die Konfigurationsanwendung 50 der 1 eine Datenarchivsystem-Aktualisierungsroutine 66,
welche das Datenarchivsystem 16 automatisch über die Beziehungen
zwischen Entitäten
höherer
Ebene, wie etwa Einheiten, und Entitäten niedrigerer Ebene, wie etwa
Gerätschaften
und Modulen innerhalb der Prozesssteuerungs-Netzwerkkonfiguration
informiert, beispielsweise zu dem Zeitpunkt, zu dem Steuerungsmodule
erzeugt und auf die Steuerungen 12, die I/O-Geräte 20 und 22 oder
die Feldgeräte 25 – 39 heruntergeladen
werden. Insbesondere kann die Routine 66 Veränderungen
erkennen, die an der Konfiguration von jeder beliebigen Einheit
inner halb der Prozessanlage, wie in der Konfigurationsdatenbank 55 gespeichert,
vorgenommen werden. Wenn diese Veränderungen vorgenommen werden,
wie etwa durch einen Bediener, einen Konfigurationsingenieur oder
jeden anderen autorisierten Benutzer, kann die Routine 66 eine
neue Konfigurationsliste zur Verfügung stellen oder kann an der
innerhalb des Datenarchivsystems 16 gespeicherten Konfigurationsliste 64 vorzunehmende Änderungen
bereitstellen. Natürlich
wird die Routine 66 diese neue Konfigurationsliste oder Änderungen
an der Konfigurationsliste 64 über das Kommunikationsnetzwerk 18 bereitstellen,
aber sie könnte
diese Information alternativ auch in jeder anderen gewünschten
Art und Weise zur Verfügung
stellen, etwa über
ein unterschiedliches gemeinsam mit anderen Diensten genutztes oder
für diesen
Zweck bestimmtes Kommunikationsnetzwerk. In Fällen, in denen die Konfigurationsdatenbank 55 in demselben
Gerät wie
das Datenarchivsystem 16 gespeichert ist, wie etwa demselben
Server oder derselben Datenbank, kann die Routine 66 solche Änderungen
direkt ohne Verwenden eines externen Kommunikationsnetzwerkes bereitstellen.
-
Natürlich kann
die neue Konfigurationsinformation als ein Ergebnis von jedem signifikanten
Ereignis, welches dem Ändern
der Konfiguration des Prozesssteuerungssystems 10 zugeordnet
ist, bereitgestellt werden, beispielsweise einschließlich der Erzeugung
von Änderungen
durch den Benutzer, dem Herunterladen von Änderungen oder neuer Steuerungsmodule 40, 45, 46 auf
die Steuerungen 12 oder andere Geräte oder jedes anderen gewünschten
Ereignisses, solange wie die Routine 66 automatisch und
konsistent arbeitet, um Konfigurationsänderungen jedesmal, wenn eine
Konfigurationsänderung
vorgenommen worden ist, die die in dem Datenarchivsystem-Konfigurationsspeicher 64 gespeicherten
Informationen oder Beziehungen verändert oder beeinflusst, an
das Datenarchivsystem 16 zu senden.
-
Natürlich wird
während
des Betriebs das Datenarchivsystem 16 die von den Modulen 40, 45 und 46 gesendeten
Informationen überwachen,
die die relevante Werte, Einstellungen und Messwerte umfassen können, welche
der Prozessanlage zugeordnet sind oder in dieser vorgenommen wurden,
und wird sodann die Konfigurationsliste 64 verwenden, um
die Entität
höherer
Ebene zu bestimmen, zu der diese Daten gehören oder zugeordnet sind. In
einem bestimmten Fall ist das Datenarchivsystem 16 programmiert,
um Alarme zu empfangen, welche durch alarmerzeugende Software innerhalb
einiger oder aller der Steuerungen 12, der I/O-Geräte 20 und 22 oder
der Feldgeräte 25 – 39 erzeugt
werden. Allgemein gesprochen kann das Datenarchivsystem 16 unterschiedliche
Kategorien von Ereignissen und Alarmen empfangen und speichern,
einschließlich
z. B. Prozessalarmen (welche typischerweise von Prozesssteuerungs-Softwaremodulen
erzeugt werden, wie etwa denjenigen, die aus kommunikativ miteinander
verbundenen Funktionsblöcken
aufgebaut sind und Prozesssteuerungsroutinen bilden, die während der
Laufzeit des Prozesses verwendet werden), Hardwarealarmen, wie etwa
Alarmen, die durch die Steuerungen 12, I/O-Geräte 20 und 22 oder
andere Geräte
erzeugt werden und den Status oder die Funktionsbedingungen dieser
Geräte
betreffen, und Gerätealarme,
welche von einigen oder allen der Feldgeräte 25 – 39 erzeugt
werden, um Probleme anzugeben, die diesen Geräten zugeordnet sind. Diese oder
weitere Kategorien von Alarmen können
in jeder gewünschten
Art und Weise erzeugt werden. Jede gewünschte Fehlerdetektierungs-
und Alarmerzeugungs-Software kann verwendet werden, um Alarme an
das Datenarchivrystem 16 zu senden, welches konfiguriert
ist, um diese Alarme unter Einsatz jeder gewünschten Protokolls oder jeder
gewünschten Kommunikationsstrategie
zu empfangen und zu erkennen. Natürlich können die Alarme oder Ereignisse jede
gewünschte
Information beinhalten, welche dem Ereignis zugeordnet ist, wie
z. B. die Kategorie des Ereignisses (z. b. Prozess-, Geräte- oder
Hardware-Alarm), die Art des Ereignisses (Kommunikation, Ausfall,
Warnung, Wartung, etc.), die Priorität des Ereignisses, das Modul,
Gerät,
die Hardware, der Knoten oder der Bereich, das/die/der durch das
Ereignis betroffen ist, ob das Ereignis bestätigt oder unterdrückt wurde,
ob das Ereignis aktiv ist, etc.
-
Die 2 zeigt ein Flussdiagram 80,
das die allgemeinen Schritte zeigt, die durch die Konfigurationsanwendung 50 vorgenommen
werden können, um
Konfigurationsänderungen
in der Form von Beziehungen zwischen Entitäten höherer Ebene, wie etwa Einheiten,
und Entitäten
niedrigerer Ebene, wie etwa Gerätschaften
und Steuerungsmodulen, dem Datenarchivsystem 16 automatisch
zur Verfügung
zu stellen. In einem Schritt 82 greift die Konfigurationsanwendung 50 auf
die Konfigurationsdatenbank 55 zu, um die momentane Konfiguration
des Prozesssteuerungssystems 10 zu erhalten. In einem Schritt 84 präsentiert
die Konfigurationsanwendung 50 die Konfiguration des Prozesssteuerungssystems 10 einem
Benutzer, wie etwa einem Konfigurationsingenieur, einem Bediener,
etc., und zwar beispielsweise über
einen einer der Workstations 14 aus 1 zugeordneten Anzeigebildschirm. Ein
Beispiel eines Konfigurationsanzeigebildschirms 86, der
im Schritt 84 erzeugt werden könnte, ist in 3 gezeigt. Der Konfigurationsanzeigebildschirm 86 beinhaltet
eine Explorer-artige Ansicht 88 auf seiner linken Seite
und zeigt speziellere Informationen über ein ausgewähltes Element
innerhalb der Ansicht 88 (in diesem Fall das Element Reactor_1)
auf seiner rechten Seite. Die Ansicht 88 beinhaltet allgemeine
Konfigurationselemente, wie einen Bibliotheksabschnitt 90 und
einen Systemkonfigurationsabschnitt 92. Der Bibliotheksabschnitt 90 speichert
Schablonen bzw. Masken („Templates"), wie Steuerungsmodulschablonen,
Gerätschaftenschablonen
und Einheitenschablonen, etc. und andere nützliche generische Elemente,
während
der Systemkonfigurationsabschnitt 92 folgende Ordner beinhaltet:
einen Rezept-Ordner („Recipes") 94, der
Rezepte für
Batchabläufe
speichert, einen Setup-Ordner 96, der Setup-Parameter für die Konfiguration,
wie z. B. Alarmpräferenzen,
Sicherheit, etc., speichert, einen Steuerungsstrategie(„Control
Strategies")-Ordner 98,
der Konfigurationsinformationen über
die Art und Weise, in der Steuerungsvorgänge innerhalb der Prozessanlage
ausgeführt
werden, speichert, und einen „Physical
Network"-Ordner 100, der
Konfigurationsinformationen speichert, die die Art und Weise betreffen,
in der das Prozesssteuerungssystem 10 physikalisch bzw.
technisch konfiguriert ist.
-
Wie
ersichtlich ist, definiert oder beinhaltet der Steuerungsstrategieabschnitt 98 Beziehungen zwischen
Entitäten
höherer
Ebene und Entitäten niedrigerer
Ebene, die verwendet werden, um die Prozessanlage zu steuern. Zum
Beispiel beinhaltet der Steuerungsstrategieabschnitt 98 eine
Bereichsbezeichnung Area A (das als Entität höherer Ebene angesehen werden
kann), welche hierzu zugeordnete Unterelemente hat, beinhaltend
Steuerungsschleifen mit Namen LIC-549, LOOP und TIC-205, die in dem
Bereich Area A laufen. Außerdem
umfasst Area A einen Salzherstellungsabschnitt („Salt") bzw. eine solche Prozesszelle, der
bzw. die ein oder mehrere Unterelement/e haben könnte. In diesem Fall beinhaltet
der Salzherstellungsabschnitt oder die Salzprozesszelle eine Reactor_1-Einheit-Entität und eine Water_Hdr1-Gerätschaftsentität als seine
bzw. ihre Unter elemente. Während
diese zwei Entitäten
Entitäten
niedrigerer Ebene in Bezug auf den Salzherstellungsabschnitt oder
die Salzprozesszelle sind, sind sie Entitäten höherer Ebene in Bezug auf die
anderen diesem bzw. dieser zugeordneten Elemente. Zum Beispiel beinhaltet
Reactor_1 Entitäten
niedrigerer Ebene mit den Namen Acidi, Alkalis und eine Entität Outlet2,
die Gerätschaftsentitäten sind,
die Teile der Reactor_1-Einheit bilden. In gleicher Weise beinhaltet
Reactor_1 Steuerungsmodule mit den Namen Level_Meter1, Water_Hdr1
und Water_In1, die Steuerungsroutinen oder -aktivitäten in Bezug
auf die Reactor_1-Einheit ausführen.
Nochmals weiterhin beinhaltet die Reactor 1-Einheit Unterelemente
in der Form von Phasen, die auf der Reactor_1-Einheit abzulaufen
haben, mit den Namen Dose, Drain, Flush und Mix.
-
In
gleicher Art und Weise beinhaltet die Water Hdr1-Gerätschaftsentität des Salzherstellungsabschnitts
Unterelemente (Elemente niedrigerer Ebene), wie etwa die Steuerungsmodule
mit den Namen Coarse_Valve4, Fine_Valve4 und Flow_Meter4. Während die
Konfigurationsansicht 88 der 3 die Beziehungen
zwischen den bestimmten Bereichen (z. B. Area_A), Einheiten (z.
B. Reactor_1), Gerätschaftsentitäten (z.
B. Acid1, Alkali1, Water_Hdr1) und Steuerungsmodulen (z. B. Level_Meter1, Water_In1,
Coarse_Ventil4) zeigt, ist es dem Fachmann ersichtlich, dass weitere
Beziehungen zwischen diesen Arten oder andere Arten von Entitäten in der
Konfigurationsansicht 88 spezifiziert werden können und
dass die Ansicht 88 der 3 lediglich beispielhaft
ist.
-
In 2 ist gezeigt, dass es im
Schritt 110 die Konfigurationsanwendung 50 einem
Anwender ermöglicht, Änderungen
an der Konfiguration vorzunehmen, und zwar unter Verwendung z. B.
der Bildschirmanzeige 86 oder jedes anderen gewünschten Verfahrens
zum Vornehmen von Konfigurationsänderungen.
Allgemein gesprochen stellt die Konfigurationsanwendung 50 einem
Konfigurationsingenieur Konfigurationsinformationen zur Verfügung und
ermöglicht
es dem Konfigurationsingenieur, einige oder alle Elemente der Prozessanlage
in jeder gewünschten
Art und Weise zu verändern.
Als ein Ergebnis der durch die Konfigurationsanwendung 50 durchgeführten Konfigurationsaktivitäten kann
der Konfigurationsingenieur die Steuerungsroutinen oder Steuerungsmodule 40, 45, 46 für die Prozesssteuerungen 12,
I/O-Geräte 20, 22 und
die Feldgeräte 25 – 39 erstellen
oder ändern,
er kann Gerätschaften
und Einheiten spezifizieren, auf denen diese Steuerungsroutinen
implementiert sind, und kann im Allgemeinen die Beziehungen zwischen
Entitäten
höherer
Ebene und Entitäten
niedrigerer Ebene innerhalb des Prozesssteuerungssystems 10 spezifizieren.
-
Falls
gewünscht,
können
Steuerungsmodule für
jede der unterschiedlichen Steuerungen 12 und andere Geräte erzeugt
und zugeordnet werden, und zwar unter Verwendung des Verfahrens
zum Konfigurieren eines Prozesssteuerungssystems wie im US-Patent
Nr. 5,838,563 beschrieben, welches dem Zessionar dieses Patentes
zugeordnet ist und welches hiermit ausdrücklich in dieses Dokument durch Bezugnahme
aufgenommen ist. Allgemein gesprochen, können Steuerungsmodule aus Modul-Schablonenobjekten
erzeugt werden, die in dem Konfigurationsbibliothekabschnitt 90 der 3 gespeichert sind, und
können
angepasst bzw. ausgebildet werden, um in bestimmten Steuerungen
oder anderen Geräten
verwendet zu werden, um spezifische Steuerungsfunktionen in Bezug
auf bestimmte Gerätschaften,
Einheiten, Bereiche oder anderer Entitäten höherer Ebene innerhalb des Prozesssteuerungssystems 10 durchzuführen. Um
ein Steuerungsmodul, eine Gerätschaft,
Einheit, etc. innerhalb des Konfigurationssystems zu erzeugen, kann
ein Konfigurationsingenieur eine bestimmte Schablone kopieren, um
ein bestimmtes individuelles Element zu erzeugen, und kann dieses
individuelle Element einer bestimmten Entität zuordnen, wie etwa einer
Entität
höherer
Ebene, etwa einer Einheit, und zwar durch Ziehen und Einfügen („dragging
and dropping") dieser bestimmten
Schablone auf den geeigneten Abschnitt oder Platz innerhalb der
Ansicht 88 des Konfigurationsanzeigebildschirms 86 der 3.
-
Um
so z. B. den Salzherstellungsabschnitt der Prozessanlage unter Verwendung
des Konfigurationsanzeigebildschirms 86 der 3 zu konfigurieren, kann
ein Konfigurationsingenieur ein Reaktoreinheit-Schablonenobjekt
(nicht gezeigt) aus dem Bibliotheksabschnitt 90 auswählen und
es unter die „Salt"-Überschrift ziehen oder auf
andere Weise kopieren, um eine Instanz eines Reaktors so zu erzeugen,
dass diese dem Salzherstellungsabschnitt mit dem Namen „Salts" (welcher dem Bereich
mit dem Namen „Area_A" zugeordnet ist)
zugeordnet ist. Der Konfigurationsingenieur kann auch eine Gerätschaftsschablone
einer geeigneten Form auswählen und
es unter die Reactor_1-Einheit ziehen, um das Acid1-Gerätschaftsmodul,
das Alkali1-Gerätschaftsmodul,
etc. zu erzeugen, um hierdurch der Reactor_1-Einheit höherer Ebene
zugeordnete Gerätschaften
zu spezifizieren. In gleicher Weise kann der Konfigurationsingenieur
eine Steuerungsmodulschablone auswählen und es unter die Reactor_1-Einheit
ziehen, um das Water_In1-Steuerungsmodul, etc. zu erzeugen, um hierdurch
der Reactor_1-Einheit höherer
Ebene zugeordnete Steuerungsmodule zu spezifizieren. Natürlich kann
der Konfigurationsingenieur beliebige gewünschte Beziehungen zwischen
Bereichen, Einheiten, Gerätschaften,
Steuerungsmodulen und jeder anderen Bezeichnung unterschiedlicher
Entitäten
innerhalb der Prozessanlage spezifizieren. Darüberhinaus kann jede andere
Art und Weise der Vornahme oder Änderung
einer Konfiguration, um Beziehungen zwischen Entitäten höherer Ebene
und Entitäten
niedrigerer Ebene innerhalb des Prozesssteuerungssystems 10 zu
spezifizieren, zusätzlich
oder an Stelle von dem hier allgemein beschriebenen Vorgehen verwendet werden.
-
In
einem Schritt 112 in 2 bestimmt
die Konfigurationsanwendung 50, ob der Konfigurationsingenieur
oder ein anderer Benutzer die Vornahme von Änderungen an der Konfiguration
beendet hat. Falls nicht, wird die Steuerung an Schritt 110 zurück gegeben.
Hat allerdings der Konfigurationsingenieur oder weitere Benutzer
die Vornahme von Änderungen
beendet, speichert in einem Schritt 114 die Konfigurationsapplikation
bzw. – anwendung 50 diese Änderungen
in der Konfigurationsdatenbank 55. In einem Schritt 116 lädt die Konfigurationsanwendung 50 die Änderungen,
wie z. B. die neuen oder veränderten
Steuerungsmodule auf die Steuerungen 12 oder weitere Geräte herunter,
auf denen diese Steuerungsmodule auszuführen sind. In einem Schritt 120,
der entweder in Reaktion auf einen beliebigen der Schritte 112, 114 oder 116 automatisch
implementiert werden kann, oder der eine Subroutine sein kann, die
durch einen beliebigen der Schritte 112, 114 oder 116 aufgerufen
wird, stellt die Konfigurationsanwendung 50 und insbesondere
die Konfigurationsroutine 66 die Konfigurationsänderungen
dem Datenarchivsystem 16 bereit bzw. sendet die Konfigurationsänderungen
an das Datenarchivsystem 16, um die Konfigurationsliste
oder den Speicher 64 zu aktualisieren. Natürlich kann
der Schritt 120 in Reaktion auf jeden beliebigen weiteren
Schritt oder Vorgang implementiert oder aufgerufen werden, der der Vornahme
von Änderungen
an der Konfiguration des Prozesssteuerungssystems 10 zugeordnet
ist.
-
Während es
viele verschiedene mögliche
Arten von Entitäten
gibt, die innerhalb der Prozessanlage erzeugt oder verwendet werden
können,
um Konfigurationsaktivitäten
innerhalb der Prozessanlage durchzuführen, werden drei spezifische
Arten hier beispielhaft diskutiert, nämlich Einheit-, Gerätschaft- und
Steuerungsmodulentitäten.
Allgemein gesprochen ist jeder der verschiedenen Arten von Entitäten einem
unterschiedlichen Bereich von Steuerung oder Verwendung innerhalb
der Prozessanlage zugeordnet. Diese Entitäten sind im Allgemeinen in
dem Kontext zu verstehen, in dem sie in dem gut bekannten S88-Standard
definiert sind.
-
Genauer
gesagt, ist eine Einheit dazu bestimmt, um für die Repräsentation von Steuerungsaktivitäten für einen
breiten Bereich von Gerätschaften
innerhalb einer Prozessanlage verwendet zu werden. Insbesondere
ist eine Einheit einem Satz von in Wechselbeziehung stehenden Gerätschaften,
wie z. B. Reaktoren oder anderen Elementen, die über individuelle Elemente verfügen, die
miteinander in einer bekannten Art und Weise zusammenarbeiten, zugeordnet
oder für
die Modellierung dieses Satzes vorgesehen.
-
Eine
Gerätschaftsentität ist dafür vorgesehen,
verwendet zu werden, um Steuerungsaktivitäten für einen weniger breiten Bereich
technischer Gerätschaften
innerhalb der Prozessanlage zu repräsentieren. Die Gerätschaften,
die einer Gerätschaftsentität zugeordnet
sind, bestehen im Allgemeinen aus einer oder mehreren technischen
Entität/en,
wie etwa Ventilen, Durchflussmessgeräten, etc., die Subsystem einer
Einheit bilden. Die Gerätschaftsentität kann einen
oder mehrere Befehl/e oder Algorithmus/Algorithmen beinhalten, welche
befehlsgesteuerte Algorithmen („Command Driven Algorithms", CDAs) oder zustandsgesteuerte
Algorithmen („State
Driven Algorithms",
SDAs) sein können,
die auf dem Stück
der Gerätschaft
durchzuführen
sind. Daher zielt eine Gerätschaftsentität auf das
Konfigurieren der Steuerung einer oder mehrerer Komponenten oder
Entitäten niedriger
Ebene innerhalb einer Einheit ab, um einen elementaren Satz von
Funktionen für
diese Gerätschaft,
wie sie innerhalb der Einheit verwendet wird, bereit zu stellen.
Wie bekannt ist, wird ein befehlsgesteuerter Algorithmus verwendet,
wenn die Komponenten niedriger Ebene über mehrere Schritte hinweg
koordiniert werden müssen,
um eine Funktion zu bewerkstelligen. Zum Beispiel könnte es
sein, dass ein Ventil für
einen bestimmten Zeitabschnitt geöffnet werden muss und danach
geschlossen werden muss, während
ein anderes Ventil geöffnet
und dann geschlossen wird. Ein zustandsgesteuerter Algorithmus kann
die Zustände
verschiedener Komponenten niedriger Ebene spezifizieren, die in
einem einzigen Schritt manipuliert werden können.
-
Eine
Steuerungsmodulentität
ist dafür
vorgesehen, um für
individuelle Steuerungselemente oder Steuerungsmodule innerhalb
der Prozessanlage verwendet zu werden und diese zu repräsentieren.
Ein Steuerungsmodul stellt eine bestimmte Art von Steuerung bereit
oder spezifiziert diese, die auf einer Anlagenentität durchzuführen ist,
wie etwa einem Ventil, Messgerät,
etc., einem Stück
der Gerätschaften
oder sogar auf einer Einheit. Allgemein gesprochen, stellt ein Steuerungsmodul
eine bestimmte Art von Steuerungsprogrammierung bereit, wie etwa
einen Satz von kommunikativ untereinander verbundener Funktionsblöcke, die
eine Steuerungsroutine definieren, die in einer Steuerung oder einem
anderen Gerät auszuführen ist,
was nützlich
ist, um eine oder mehrere Steuerungsaktivitäten innerhalb einer Prozessanlage
durchzuführen.
-
Während die
Konfigurationsanwendung 50 hier so beschrieben ist, dass
sie die Beziehungen zwischen diesen drei bestimmten Arten von Entitäten spezifiziert
und Änderungen
in diesen Beziehungen dem Datenarchivsystem 16 bereitstellt,
welches ein Stapel- bzw. Batcharchivsystem sein kann, kann die Konfigurationsanwendung 50 die
Beziehungen zwischen beliebigen anderen bzw. weiteren Entitäten hoher
und niedriger Ebene (neben Einheiten, Gerätschaften und Steuerungsmodulen)
dem Datenarchivsystem 16 automatisch bereitstellen, um
es dem Datenarchivsystem 16 zu ermöglichen, die Daten in Bezug
auf Ereignisse innerhalb des Prozesssteuerungssystems 10 in
einer genauen und aussagekräftigen
Art und Weise auszuwerten und zu speichern. In dieser Weise kann
jede gewünschte
Konfigurationsinformation automatisch von der Konfigurationsanwendung 50 an
das Datenarchivsystem 16 gesendet werden, um es dem Datenarchivsystem 16 zu
ermöglichen,
in einer besseren oder aussagekräftigeren
Art und Weise zu arbeiten.
-
Im
implementierten Zustand kann jeder Teil der hier beschriebenen Software
in jedem beliebigen computerlesbaren Speicher gespeichert sein bzw. werden,
wie etwa auf einer Magnetplatte, einer optischen Platte oder anderen
Speichermedien, in einem RAM oder ROM auf einem Computers oder Prozessor,
etc. Ebenso kann diese Software an einen Benutzer, eine Prozessanlage
oder eine Operatorworkstation unter Verwendung jedes beliebigen
bekannten oder gewünschten
Lieferungsverfahrens ausgeliefert werden, was beispielsweise folgendes
einschließt:
die Auslieferung auf einer computerlesbaren Platte oder anderen
transportfähigen
Computerspeichermechanismen oder über einen Kommunikationskanal
wie etwa eine Telefonleitung, das Internet, das World Wide Web,
jedes andere lokale Netzwerk oder überregionale Netzwerke, etc.
(wobei diese Auslieferung als gleichartig zu oder austauschbar mit der
Bereitstellung derartiger Software über ein transportables Speichermedium
angesehen wird). Weiterhin kann diese Software direkt, ohne Modulation
oder Verschlüsselung
zur Verfügung
gestellt werden oder kann moduliert und/oder verschlüsselt werden,
wobei jede geeignete Modulations-Trägerwelle und/oder jede geeignete
Verschlüsselungstechnik
verwendet werden kann, bevor die Software über einen Kommunikationskanal übertragen
wird.
-
Während die
vorliegende Erfindung mit Bezug auf spezifische Beispiele beschrieben
worden ist, die lediglich beispielhaft, nicht jedoch als die Erfindung
eingrenzend zu verstehen sein sollen, ist es für den Fachmann offensichtlich,
dass Veränderungen,
Hinzufügungen
oder Streichungen an den offenbarten Ausführungsbeispielen vorgenommen
werden können,
ohne von dem Geist der Erfindung abzuweichen und sich aus dem Bereich
der Erfindung zu entfernen.