-
VERWANDTE
ANMELDUNG
-
Diese
Anmeldung ist eine Teilweiterverfolgung der US-Patentanmeldung laufende
Nr. 10/352,396 mit dem Titel „Process
Control System with an Embedded Safety System", welche am 28. Januar 2003 eingereicht
wurde, deren Offenbarung hiermit durch Bezug hierin ausdrücklich mitaufgenommen
wird.
-
GEBIET DER
TECHNIK
-
Die
vorliegende Erfindung bezieht sich allgemein auf Sicherheitssysteme,
die in Prozessanlagen verwendet werden und im Spezielleren auf ein
Sicherheitssystem, das funktional oder logisch in einem Prozesssteuerungssystem
einer Prozessanlage eingebettet oder darin integriert ist.
-
BESCHREIBUNG
DES VERWANDTEN STANDS DER TECHNIK
-
Prozesssteuerungssysteme,
wie diejenigen, die in chemischen, Erdöl- oder anderen Prozessen eingesetzt
werden, umfassen typischerweise eine oder mehrere Prozesssteuerung/en,
die über
analoge, digitale, oder kombinierte analoge/digitale Busse kommunikativ
mit mindestens einem Host- oder Bedienerarbeitsplatzrechner und
einem oder mehreren Feldgeräten
gekoppelt sind. Die Feldgeräte,
welche beispielsweise Ventile, Ventilstellglieder, Schalter und
Messwertgeber (z.B. Temperatur-, Druck- und Fließgeschwindigkeitssensoren)
sein können,
erfüllen
Aufgaben innerhalb der Prozessanlage, wie Öffnen und Schließen von
Ventilen, und Messen von Prozessparametern. Die Prozesssteuerungen
empfangen Signale, die von den Feldgeräten durchgeführte Prozessmessungen
und/oder andere die Feldgeräte
betreffenden Informationen anzeigen, verwenden diese Informationen,
um Steuerroutinen zu implementieren und dann Steuersignale zu erzeugen,
die über
die Busse an die Feldgeräte
geschickt werden, um den Ablauf des Prozesses zu steuern. Informationen
aus den Feldgeräten
und den Steuerungen werden typischerweise einer oder mehreren Anwendungen
zur Verfügung
gestellt, die vom Bedienerarbeitsplatzrechner ausgeführt werden,
um einen Bediener in die Lage zu versetzen, irgendeine gewünschte Aufgabe
im Hinblick auf den Prozess zu erfüllen, wie Konfigurieren des
Prozesses, den momentanen Zustand des Prozesses zu überblicken, den
Ablauf des Prozesses zu verändern,
etc.
-
Darüber hinaus
ist bei vielen Prozessen ein separates Sicherheitssystem vorgesehen,
um signifikante sicherheitsbezogene Probleme innerhalb der Prozessanlage
zu erfassen und Ventile automatisch zu schließen, Geräte stromfrei zu schalten, Durchflussmengen
innerhalb der Anlage zu regeln, etc., wenn ein Problem auftritt,
das in einer ernsthaften Gefahr in der Anlage, wie einem Auslaufen
giftiger Chemikalien, einer Explosion, etc. enden oder dazu führen könnte. Diese
Sicherheitssysteme besitzen neben den Prozesssteuerungssteuerungen
typischerweise noch einen oder mehrere separate Steuerungen, die über separate,
innerhalb der Prozessanlage angeordnete Busse oder Kommunikationsleitungen
an die Feldgeräte
angeschlossen sind. Die Sicherheitssteuerungen verwenden die Sicherheitsfeldgeräte, um Prozessbedingungen
zu erfassen, die mit signifikanten Ereignissen zusammenhängen, wie die
Position bestimmter Sicherheitsschalter oder Abschaltventile, Über- oder
Unterlaufbedingungen im Prozess, den Betrieb wichtiger Stromerzeugungs- oder
Steuergeräte,
den Betrieb von Fehlererfassungsgeräten, etc., um dadurch „Ereignisse" innerhalb der Prozessanlage
zu erfassen. Wird ein Ereignis erfasst, ergreift die Sicherheitssteuerung
irgendeine Maßnahme,
um die schädliche
Auswirkung des Ereignisses einzuschränken, wie Ventile zu schließen, Geräte abzuschalten,
Abschnitte der Anlage stromfrei zu schalten, etc.
-
Eine
Entkopplung zwischen Prozesssteuerungen und Sicherheitssteuerungen
wird als wichtig erachtet (und wird häufig durch geltende staatliche Richtlinien
angeordnet), weil eine Verwendung einer Prozesssteuerung zur Durchführung von
Sicherheitsaufgaben zum gleichzeitigen Ausfall der Sicherheits- und
Prozesssteuerungsfunktionen führt,
wenn die Prozesssteuerung ausfällt.
Die Sicherheitsfunktionen werden jedoch dann am Kritischsten, wenn
die Prozesssteuerung ausfällt,
weil dabei der Prozess teilweise oder gänzlich außer Kontrolle ist.
-
Die
Entkopplung zwischen den Prozesssteuerungen und den Sicherheitssteuerungen
in Prozessanlagen hat dazu geführt,
dass diese Systeme von unterschiedlichen Personen entwickelt wurden, die
unterschiedliche Hard- und Software verwenden. Tatsächlich wird
in manchen Fällen,
weil die Sicherheitssysteme nicht die Hard- und Softwareinfrastruktur
des Prozesssteuerungssystems verwenden, an verschiedenen Stellen
innerhalb derselben Prozessanlage eine unterschiedliche und vollkommen
unzusammenhängende
Sicherheitssystemhardware und -software etwa an verschiedenen Knoten
verwendet. Jedenfalls führt
die Entkopplung zwischen dem Prozesssteuerungssystem und dem Sicherheitssystem zu
einer Anzahl unterschiedlicher und unzusammenhängender Sicherheitssysteme
in derselben Anlage, die separat konfiguriert und überwacht
werden müssen.
Im Ergebnis wird typischerweise eine unterschiedliche Kommunikationsinfrastruktur
eingesetzt, um diese unterschiedlichen Systeme innerhalb derselben
Anlage zu implementieren, wobei unterschiedliche Konfigurations-
und Diagnoseanwendungen und Arbeitsplatzrechner verwendet werden,
um diese gesonderten Systeme zu konfigurieren und zu überwachen.
Gleichermaßen
wird typischerweise unterschiedliches Personal zur Durchführung der
Konfigurations-, Diagnose- und Überwachungstätigkeiten bzw.
-vorgänge
im Hinblick auf diese unterschiedlichen Systeme benötigt, was
insgesamt zu zusätzlichen
Kosten beim Konfigurieren und Betreiben einer Prozessanlage führt, die
ein Sicherheitssystem verwendet. Da sich die Konfigurations- und
Diagnosesoftware des Sicherheitssystems von der Konfigurations-
und Diagnosesoftware des Steuerungssystems unterscheidet, müssen Personen
in diesen unterschiedlichen Softwareprogrammen getrennt geschult
werden, was zu einer erhöhten
Schulungszeit führt.
-
Es
wurden in der Vergangenheit Versuche unternommen, Daten aus den
in derselben Anlage vorhandenen Prozesssteuerungs- und Sicherheitssystemen
auf ein und derselben Benutzeroberfläche zu integrieren, um dadurch
das bildliche Darstellen und Handhaben dieser unterschiedlichen
Daten an ein und derselben Stelle zu ermöglichen. Diese Integration
findet aber erst nach der Tatsache statt, dass herkömmliche
Konfigurations-, Sicht- und Diagnoseanwendungen des Steuersystems
als zugrundeliegende Softwareplattform verwendet wird und dann die
Sicherheitssystemdaten in die Steuerungssystemsoftware importiert
werden. Unglücklicherweise stellen
herkömmliche
Steuerungssysteme nicht die Flexibilität bereit, Sicherheitssystemdaten
von Steuerungssystemdaten zu unterscheiden. Wenn erst einmal die
Sicherheitssysteminformation in den Steuerungssystemanwendungen
integriert ist, erscheinen im Ergebnis die dem Benutzer angezeigten
Sicherheitssystemwerte als dieselben wie die Steuerungssystemwerte,
was es schwierig macht, die Sicherheitssystemdaten nachzuverfolgen
oder zu unterscheiden.
-
Darüber hinaus
erfordern diese integrierten Anzeigesysteme typischerweise, dass
die Sicherheitssystemdaten der Steuerungssystemkonfiguration zugeordnet
werden, damit ein Benutzer erfährt, woher
die Sicherheitssystemdaten im Hinblick auf die Steuerungssystemhardware
stammen. In diesen Fällen
wird eine separate Software innerhalb einer Benutzeroberfläche verwendet,
um Daten zwischen den beiden Systemen aufgrund der unterschiedlichen
Architekturen zuzuordnen, die zur Definition der Daten (oder der
Identifizierungs-Kennzeichen, die die Herkunft oder Bestimmung der
Daten angeben) verwendet werden, die mit den beiden Systemen zusammenhängen. Diese
Datenzuordnungsverfahren erfordern, dass eine zusätzliche
Benutzerprogrammierung sowohl installiert als auch gepflegt wird,
und können
aufgrund von Fehlern, die durch die Zuordnungsfunktion eingeschleppt
werden, zu fehlerhaften Daten führen.
-
Noch
weiter darüber
hinaus, lässt
sich Sicherheit in Systemen schwieriger handhaben, welche versuchen,
Sicherheitssystemdaten in einer herkömmlichen Steuerungssystemanwendung
zu integrieren. Während
manche Benutzeroberflächen- oder
Mensch-Maschine-Schnittstellenprodukte (Mensch-Maschine-Schnittstelle – HMI – Human
Machine Interface) (im Gegensatz zu Steuerungssystemen) in der Lage
sind, eine eindeutige Sicherheit über einzelne HMI-Datenwerte/Kennzeichen
(„tags") bereitzustellen,
muss innerhalb der HMI immer noch ein zusätzliches Benutzerprogramm installiert
werden, um sicherzustellen, dass jeder Wert und/oder jedes Kennzeichen
korrekt als vom Sicherheitssystem stammend gekennzeichnet ist, um
sicherzustellen, dass diese Sicherheit aufgerufen wird. Diese Funktion
ist von Natur aus fehleranfälliger
und von daher weniger sicher, weil sie von der die HMI programmierenden
und pflegenden Person abhängt,
die sicherstellen soll, dass alle Werte aus dem Sicherheitssystem
korrekt der Steuersystemschnittstelle zugeordnet sind. Darüber hinaus
macht solch ein Zuordnungsverfahren die HMI-Sicherheit kritisch, was das Sicherheitsinstrumentierungssystem
verkompliziert, was es schwieriger macht, den Grad an Sicherheitsintegrität zu prüfen und
nachzuweisen.
-
Im
Ergebnis mangelt es diesen Benutzeroberflächenintegrationssystemen an
der Fähigkeit, Lese-
und Schreibwerte des Sicherheitsinstrumentierungssystems direkt
in eine Benutzergraphik zu stellen, ohne dass dabei eine Zuordnung
zwischen der Steuerungs- und Sicherheitssystemkonfiguration oder
eine spezielle in den Sicherheitssystemsteuerungen untergebrachte
Sicherheitsinstrumentierungssteuerlogik erforderlich wäre, die
eine „Firewall" zwischen der Benutzeroberfläche und
der Logik des Sicherheitsinstrumentierungssystems herstellt, um dadurch
unbefugte Einschreibevorgänge
in das Sicherheitsinstrumentierungssystem zu verhindern. Darüber hinaus
mangelt es diesen bekannten integrierten Benutzeroberflächensystemen
an einem sicheren Schreibmechanismus, der sicherstellt, dass keine
Verfälschung
des eingegebenen Werts oder Pfads während eines Einschreibvorgangs
in das Sicherheitsinstrumentierungssystem stattfindet, und es mangelt
ihnen auch an einem eindeutigen, in das Steuerungssystem eingebauten
Sicherheitsschutz, der gewährleistet,
dass alle Einschreibvorgänge
von Werten entweder aus einer Prozessgraphik oder irgendeiner anderen
Anwendung, die Werte in das Sicherheitsinstrumentierungssystem einschreiben kann,
in das Sicherheitsinstrumentierungssystem spezielle Rechte oder
Berechtigungen erfordert.
-
Zusätzlich wurden
die Konfigurationen des Sicherheitssystems und des Steuerungssystems
typischerweise unter Verwendung von an separaten Stellen innerhalb
der Prozessanlage gespeicherten, unterschiedlichen Konfigurationsanwendungen
erstellt und bildlich dargestellt, und es bestand wenig oder gar
keine Interaktion (wechselseitige Verbindung) zwischen Konfigurationsdaten
des Sicherheitssystems und Konfigurationsdaten des Steuerungssystems.
Im Ergebnis ist es für
einen Benutzer schwierig, auf eine umfassende Weise die Konfiguration
des Steuerungssystems und des Sicherheitssystems integriert darzustellen
oder diese nachzuvollziehen, z.B. auf eine Weise, die die Art und
Weise anzeigt oder darstellt, auf die diese beiden Systeme miteinander
interagieren, oder auf die die Geräte und die Logik, die mit den
unterschiedlichen Systemen zusammenhängen, physikalisch und logisch
mit der Anlage verschaltet sind.
-
Genauso
wurden Diagnoseanwendungen, die mit Steuerungs- und Sicherheitssystemen zusammenhängen, wie
Alarm-, Test- und andere Diagnosewerkzeuge in vielen Fällen separat
ausgebildet, was es einem Einzelbenutzer schwer macht, nachzuvollziehen,
wie Probleme in einem System sich auf Probleme innerhalb des anderen
Systems auswirken oder damit zusammenhängen können. Zusätzlich haben diese separaten
Diagnoseanwendungen dazu geführt,
dass die Alarm- und anderen Diagnosedaten, die mit den unterschiedlichen
Systemen zusammenhängen,
typischerweise unterschiedlichen Benutzern auf verschiedenen Anzeigen
angezeigt werden, oder auf derselben Anzeige zu unterschiedlichen
Zeiten mittels unterschiedlicher Programme. Diese nicht integrierte
Verwendung und Anzeige von Diagnosedaten macht es noch schwieriger,
den Betrieb der gesamten Anlage und die Art und Weise, auf die das
Sicherheitssystem mit dem Prozesssteuerungssystem während des
Betriebs der Anlage zusammenwirkt, nachzuvollziehen.
-
Während, wie
oben angegeben, bekannt ist, eine integrierte Anzeige der Prozesssteuerungsalarme
und der Sicherheitssystemalarme vorzusehen, werden die Sicherheitssystemalarme
im Wesentlichen in der Alarmanzeigenumgebung des Prozesssteuerungssystems
als Prozesssteuerungssystemalarm verzeichnet. Im Ergebnis werden
die Sicherheitssystemalarme im Wesentlichen als Prozessteuerungssystemalarme
dargestellt, was es für
Benutzer der Alarmanzeige schwierig macht, Sicherheitssystem- von
Prozesssteuerungssystemalarmen problemlos zu trennen oder diese
zu erkennen. Weil die Sicherheitssystemalarme zu Anzeigezwecken
in Prozesssteuerungssystemalarme umgewandelt werden müssen, werden
zusätzlich
die umgewandelten Sicherheitssystemalarme zu dem Zeitpunkt mit einem Zeitstempel
versehen, zu dem sie im Prozesssteuerungssystem generiert werden,
d.h. wenn die Alarme durch die Anzeigeanwendung umgewandelt werden, anstatt
zu dem Zeitpunkt mit einem Zeitstempel versehen zu werden, zu dem
diese Alarme tatsächlich im
Sicherheitssystem erfasst werden. Im Ergebnis gehen die Daten verloren,
die den tatsächlichen
Zeitpunkt betreffen, zu dem die Sicherheitsdaten im Sicherheitssystem
generiert wurden, was zu irreführender
Information zu Zwecken der Alarmprotokollierung, Alarmquittierung
und Alarmbeantwortung führt.
-
ZUSAMMENFASSUNG
DER OFFENBARUNG
-
Eine
Prozessanlage umfasst ein Sicherheitssystem, das physikalisch und
logisch auf eine Weise in ein Prozesssteuerungssystem eingegliedert
ist, die es ermöglicht,
dass das Sicherheitssystem und das Prozesssteuerungssystem eine
gemeinsame Hard- und Software für
Kommunikation, Konfiguration, Diagnose und Anzeige innerhalb der
Prozessanlage verwenden können,
während
sie gleichzeitig immer noch eine funktionale Entkopplung zwischen
den Sicherheitssystemsteuerungen und den Prozesssteuerungssystemsteuerungen
vorsieht. Wie typisch ist, sind separate Sicherheitssystemsteuerungen über eine
Sicherheitskommunikationsinfrastruktur an Sicherheitsfeldgeräte angeschlossen,
während
Prozesssteuerungssystemsteuerungen über standardmäßige Steuerungssystembusse
oder Kommunikationsleitungen an die Steuerungssystemfeldgeräte angeschlossen
sind. Jedoch sind die Sicherheitssystemsteuerungen kommunikativ
mit den Prozesssteuerungssystemsteuerungen über einen Bus oder einen anderen
Kommunikationskanal verbunden und jeweils mit einem oder mehreren
Bedienerarbeitsplatzrechnern innerhalb der Prozessanlage über ein gemeinsames
Kommunikationsnetz verbunden, wodurch es möglich ist, dass die Software
in den Bedienerarbeitsplatzrechnern sowohl mit den Prozesssteuerungssteuerungen
(und damit zusammenhängenden
Prozesssteuerungsfeldgeräten)
als auch den Sicherheitssystemsteuerungen (und damit zusammenhängenden
Sicherheitsfeldgeräten)
kommunizieren und diese konfigurieren und deren Betrieb bildlich
darstellen kann.
-
Diese
Integration beinhaltet die Verwendung einer gemeinsamen Datenkommunikationsstruktur für sowohl
das Sicherheitssystem als auch das Prozesssteuerungssystem, so dass
Anwendungen Daten an die Geräte
in jedem System auf dieselbe Weise schicken und von diesen empfangen
können,
z.B. unter Verwendung derselben Kommunikationshardware und -software.
Die gemeinsame Datenkommunikationsstruktur kann aber Prozesssteuerungsgeräte von Sicherheitsgeräten unterscheiden,
indem sie Kennzeichen, Adressen oder andere Felder innerhalb der
an die Geräte
geschickten oder von diesen empfangenen Nachrichten verwendet, wodurch
Daten, die mit dem Prozesssteuerungssystem zusammenhängen, von
Daten unterscheidbar sind, die mit dem Sicherheitssystem zusammenhängen, wodurch eine
Anwendung innerhalb einer Benutzoberfläche in die Lage versetzt wird,
diese Daten je nach der Herkunft (oder Bestimmung) der Daten unterschiedlich zu
behandeln.
-
In
einem Beispiel können
Anzeige-, Konfigurations-, Steuerungs- und Diagnoseanwendungen ermöglichen,
dass Einschreibevorgänge
(oder Auslesevorgänge)
sowohl in die (aus den) Prozesssteuerungssystemgeräte(n) als
auch Sicherheitssystemgeräte(n)
vorgenommen werden können,
während die
Einschreibvorgänge
in die Sicherheitssystemgeräte
automatisch mit Sicherheitsprozeduren zwangsbeaufschlagt werden,
die für
die Einschreibvorgänge in
die Prozesssteuerungssystemgeräte
nicht notwendig sind, oder umgekehrt. Diese Einschreibevorgänge können aber
von derselben Anzeige freigegeben werden, die Einschreibevorgänge in das
Sicherheitssystem von Einschreibevorgängen in das Prozesssteuerungssystem
basierend auf der Anzeige unterscheidet, in welche die einzuschreibenden
Daten gestellt wurden. Auf diese Weise können die Anzeige-, Konfigurations-,
Steuerungs- und Diagnoseanwendungen Einschreibungen in jedes System
vornehmen, ohne die Daten aus dem Prozesssteuerungssystem dem Sicherheitssystem
oder umgekehrt zuordnen zu müssen.
-
Zusätzlich können Konfigurations-
und Diagnoseanwendungen eine gemeinsame Schnittstelle bereitstellen,
um Konfigurations- und Diagnosevorgänge innerhalb der Prozessanlage
für sowohl
das Prozesssteuerungssystem als auch das Sicherheitssystem durchzuführen. Insbesondere
kann es eine Konfigurationsanwendung einem Benutzer ermöglichen,
das Prozesssteuerungssystem und/oder das Sicherheitssystem zu konfigurieren,
und kann die Konfigurationsinformation in einer gemeinsamen Datenbank
mit bekannten Assoziationen zwischen den Prozesssteuerungssystemgeräten (der
Prozesssteuerungssystemgerätelogik)
und den Sicherheitssystemgeräten
(der Sicherheitssystemgerätelogik)
abspeichern, um es leichter zu machen, die wechselseitigen Beziehungen
zwischen der Steuerungssystem- und der Sicherheitssystemkonfiguration
nachzuvollziehen. Noch weiter darüber hinaus kann eine gemeinsame
Bildschirmmaske sowohl die Konfigurationsinformation des Prozesssteuerungssystems
als auch die Konfigurationsinformation des Sicherheitssystems anzeigen,
und Daten, die in einem dieser Systeme generiert wurden, können bei
der Konfiguration oder Implementierung des anderen dieser Systeme
verwendet werden, ohne dass dabei ein gesonderter Zuordnungsvorgang
durchgeführt
wird. Diese gemeinsame oder integrierte Konfigurationsanwendung
macht es leichter, die gesamte Anlage unter Verwendung einer einzigen
Konfigurationsanwendung zu konfigurieren, was wiederum die Notwendigkeit
aus der Welt schafft, dieselben oder verschiedene Benutzer in unterschiedlichen
Konfigurationsanwendungen zu schulen.
-
Gleichermaßen können Diagnoseanwendungen
so programmiert werden, dass sie Daten sowohl aus dem Prozesssteuerungs- als auch aus dem Sicherheitssystem
verwenden, indem sie eine integrierte Diagnose durchführen, ohne
die Herkunft der Diagnosedaten aus den Augen zu verlieren. Beispielsweise
kann eine Alarmanzeigeanwendung verwendet werden, um sowohl die
Prozesssteuerungssystem- als auch die Sicherheitssystemalarme auf derselben
Oberfläche
anzuzeigen, die Alarme nach Priorität zu ordnen und einen gewissen
Hinweis auf das Verhältnis
unter diesen Alarmen bereitzustellen, z.B., dass ein bestimmter
Prozesssteuerungssystemalarm in gewisser Weise mit einem bestimmten
Sicherheitssystemalarm in Beziehung steht. Da diese Alarme unter
Verwendung eines gemeinsamen Kommunikationsformats, das zwischen
Sicherheitssystem- und Prozesssteuerungssystemgeräten unterscheidet,
an die Diagnoseanwendung geschickt werden, kann die Diagnoseanwendung
erfassen, ob ein Alarm im Prozesssteuerungs- oder Sicherheitssystem
generiert wurde, und kann beide Alarmarten anzeigen, ohne dabei
aus den Augen zu verlieren, wo und wann diese Alarme generiert wurden.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist ein Blockschema einer
beispielhaften Prozessanlage mit einem Sicherheitssystem, das in
einem Prozesssteuerungssystem integriert ist und Schnittstellen-,
Konfigurations- und Diagnoseanwendungen beinhaltet, die integrierte
Sicherungs-, Konfigurations- und Diagnosevorgänge im Hinblick auf das Prozesssteuerungs-
und Sicherheitssystem bereitstellt;
-
2 ist ein Blockschema mehrerer
Sicherheitssystemsteuerungen, die über ein erstes Kommunikationsnetz
kommunikativ miteinander verbunden und zusätzlich über ein zweites und gemeinsames
Kommunikationsnetz mit Prozesssteuerungssystemsteuerungen und Benutzeroberflächen verbunden
sind;
-
3 ist ein Beispiel einer,
durch die Konfigurationsanwendung von 1 erzeugten
Bildschirmmaske, die eine Konfigurationsansicht der Prozessanlage
von 1 darstellt, die
sowohl die Prozesssteuerungssystem- als auch die Sicherheitssystemgeräte zeigt;
-
4 ist ein Blockschema der
Diagnoseanwendung von 1,
welche dazu ausgelegt ist, die Anzeige und Handhabung von Prozesssteuerungssystem-
und Sicherheitssystemalarmen in einer einzigen Benutzeroberfläche zu integrieren;
-
5 ist eine Darstellung eines
Beispiels einer Alarmbildschirmmaske, die von der Diagnoseanwendung
von 4 erzeugt wird,
die Alarme aus sowohl dem Prozesssteuerungs- als auch dem Sicherheitssystem
von 1 anzeigt;
-
6 ist ein Blockschema eines
Beispiels einer Sicherungsanwendung, die in einem oder mehreren
der Arbeitsplatzrechner von 1 angeordnet ist,
die automatisch verschiedene Sicherheitsgesetze im Hinblick auf
das Einschreiben von Daten in die oder Auslesen von Daten aus den
Prozesssteuerungssystem- und Sicherheitssystemgeräten von 1 durchsetzt; und
-
7 ist eine Darstellung eines
Beispiels einer Benutzeroberflächenanzeige,
die gesicherte Einschreibevorgänge
in und Auslesevorgänge
aus verschiedenen Geräten
innerhalb des Prozesssteuerungs- und Sicherheitssystems von 1 unter Verwendung der Sicherungsanwendung
von 6 ermöglicht.
-
AUSFÜHRLICHE
BESCHREIBUNG
-
Nun
umfasst mit Bezug auf 1 eine
Prozessanlage 10 ein Prozesssteuerungssystem 12, das
mit einem (durch unterbrochene Linien angezeigten) Sicherheitssystem 14 integriert
ist, welches im Allgemeinen als sicherheitsinstrumentiertes System
(SIS) arbeitet, um die vom Prozesssteuerungssystem 12 bereitgestellte
Steuerung/Regelung zur Maximierung des wahrscheinlichen Sicherheitsbetriebs
der Prozessanlage 10 zu überwachen und durch Override
außer
Kraft zu setzen. Die Prozessanlage 10 umfasst auch einen
oder mehrere Host-Arbeitsplatzrechner, Computer oder Benutzeroberflächen 16 (die
irgendeine Art von PC, Arbeitsplatzrechner, etc. sein können), auf
die durch das Anlagenpersonal wie Prozesssteuerungsoperatoren, Wartungspersonal,
Systemtechniker, etc. zugegriffen werden kann. In dem in 1 dargestellten Beispiel
sind drei Benutzeroberflächen 16 gezeigt,
die mit zwei separaten Prozesssteuerungs-/Sicherheitssteuerungsknoten 18 und 20 und
mit einer Konfigurationsdatenbank 21 über eine gemeinsame Kommunikationsleitung oder
einen gemeinsamen Kommunikationsbus 22 verbunden sind.
Das Kommunikationsnetz 22 kann unter Verwendung einer beliebigen
auf Bus basierenden oder nicht auf Bus basierenden Hardware implementiert
sein, unter Verwendung einer beliebigen festverdrahteten oder drahtlosen
Kommunikationsstruktur, und unter Verwendung eines beliebigen oder
geeigneten Kommunikationsprotokolls wie einem Ethernet-Protokoll.
-
Allgemein
ausgedrückt,
umfasst jeder der Knoten 18 und 20 der Prozessanlage 10 sowohl
Prozesssteuerungssystem- als auch Sicherheitssystemgeräte, die über eine
Busstruktur miteinander verbunden sind, die auf einer Rückwandplatine
vorgesehen werden kann, in der die verschiedenen Geräte befestigt
sind. Der Knoten 18 ist in 1 als
eine Prozesssteuerung 24 (welche ein redundantes Rechnerpaar
sein kann) sowie ein oder mehrere Eingabe-/Ausgabegeräte (E/A-Geräte) 28, 30 und 32 des Prozesssteuerungssystems
umfassend dargestellt, während
der Knoten 20 als eine Prozesssteuerung 26 (welche
ein redundantes Rechnerpaar sein kann) sowie ein oder mehrere E/A-Geräte 34 und 36 des Prozesssteuerungssystems
umfassend dargestellt ist. Jedes der E/A-Geräte 28, 30, 32, 34 und 36 des Prozesssteuerungssystems
ist kommunikativ mit einer Gruppe von prozesssteuerungsbezogenen
Feldgeräten
verbunden, die in 1 als
Feldgeräte 40 und 42 dargestellt
sind. Die Prozesssteuerungen 24 und 26, die E/A-Geräte 28 – 36 und
die Prozesssteuerungsfeldgeräte 40 und 42 machen
allgemein das Prozesssteuerungssystem 12 von 1 aus.
-
Ebenso
umfasst der Knoten 18 einen oder mehrere Sicherheitssystemlogiklöser 50 und 52, während der
Knoten 20 Sicherheitssystemlogiklöser 54 und 56 umfasst.
Jeder dieser Logiklöser 50 – 56 ist
ein E/A-Gerät
(verschiedentlich auch als Sicherheitscontroller bezeichnet) mit
einem Prozessor 57, der in einem Speicher abgespeicherte
Sicherheitslogikmodule 58 ausführt, und steht kommunikativ
in Verbindung, um Steuersignale an die Feldgeräte 60 und 62 zu
schicken und/oder Signale von diesen zu empfangen. Zusätzlich kann
jeder der Knoten 18 und 20 mindestens ein Nachrichtenverbreitungsgerät (MPD – Message
Propagation Device) 70 bzw. 72 umfassen, welche über eine
Ringbusverbindung 74 (wovon nur ein Teil in 1 dargestellt ist) miteinander
verbunden sind. Die Sicherheitssystemlogiklöser 50 – 56,
die Sicherheitssystemfeldgeräte 60 und 62, die
MPDs 70 und 72 und der Bus 74 machen
allgemein das Sicherheitssystem 14 von 1 aus.
-
Die
Prozesssteuerungen 24 und 26, bei denen es sich
nur beispielhaft um Delta VTM-Rechner, die
von Emerson Process Management vertrieben werden, oder irgendeine
andere beliebige Art von Prozesssteuerungen handeln kann, sind so
programmiert, dass sie eine Prozesssteuerungsfunktionalität (indem
sie das verwenden, was allgemein als Steuermodule bezeichnet wird)
unter Verwendung der E/A-Geräte 28, 30 und 32 (für die Steuerung
bzw. den Rechner 24), der E/A-Geräte 34 und 36 (für die Steuerung
bzw. den Rechner 26), und der Feldgeräte 40 und 42 bereitstellen.
Insbesondere implementiert oder überwacht
jeder der Rechner 24 und 26 ein oder mehrere darin
gespeicherte oder anderweitig damit zusammenhängende Prozesssteuerungsroutinen 75 (die
auch als Steuermodule bezeichnet werden) und kommuniziert mit den
Feldgeräten 40 und 42 und
den Arbeitsplatzrechnern 14, um den Prozess 10 oder
einen Teil des Prozesses 10 auf eine gewünschte Weise
zu steuern/regeln. Die Feldgeräte 40 und 42 können jede
beliebige Art von Feldgeräten
sein, wie Sensoren, Ventile, Messwertgeber, Stellglieder, etc.,
und können
jedem gewünschten
offenen, geschlossenen oder anderen Kommunikations- oder Programmierprotokoll,
einschließlich
beispielsweise dem HART- oder dem 4–20 mA-Protokoll (wie für die Feldgeräte 40 dargestellt),
jedem Feldbusprotokoll wie dem Protokoll Foundation® Fieldbus
(wie für
die Feldgeräte 42 dargestellt),
oder den CAN-, Profibus-, AS-Interface-Protokollen entsprechen,
um nur einige wenige zu nennen. Ähnlich
können
die E/A-Geräte 28 – 36 irgendeine
bekannte Art von E/A-Geräten
für die
Prozesssteuerung sein, die irgendein geeignetes oder irgendwelche
geeigneten Kommunikationsprotokolle verwenden.
-
Die
Sicherheitslogiklöser 50 – 56 von 1 können eine beliebige Art von
Sicherheitssystemsteuergeräten
sein, die einen Prozessor 57 und einen Speicher umfassen,
in dem Sicherheitslogikmodule 58 abgespeichert sind, die
dazu ausgelegt sind, auf dem Prozessor 57 ausgeführt zu werden,
um Steuerungsfunktionalität
in Zusammenhang mit dem Sicherheitssystem 14 unter Verwendung
der Sicherheitsfeldgeräte 60 und 62 bereitzustellen.
Natürlich können die
Sicherheitsfeldgeräte 60 und 62 eine
beliebige Art von Feldgeräten
sein, die irgendeinem bekannten oder gewünschten Kommunikationsprotokoll,
wie den oben erwähnten,
entsprechen oder dieses verwenden. Insbesondere können die
Feldgeräte 60 und 62 sicherheitsbezogene
Feldgeräte
der Art sein, die herkömmlicher
Weise von einem separaten, zweckgebundenen sicherheitsbezogenen
Steuersystem gesteuert werden. In der in 1 dargestellten Prozessanlage 10 sind
die Sicherheitsfeldgeräte 60 so
dargestellt, dass sie ein zweckgebundenes oder Punkt-zu-Punkt-Kommunikationsprotokoll,
wie das HART- oder 4–20
mA-Protokoll verwenden, während
die Sicherheitsfeldgeräte 62 so
dargestellt sind, dass sie ein Buskommunikationsprotokoll wie ein Fieldbus-Protokoll
verwenden. Typischerweise werden die Sicherheitsgeräte (sowohl
die Sicherheitssystemlogiklöser(rechner)) 50 – 56,
als auch die Sicherheitssystemfeldgeräte 60 und 62,
die als Teil des Sicherheitssystems 14 verwendet werden,
zu den Sicherheitsgeräten
gezählt,
was typischerweise bedeutet, dass diese Geräte ein Bewertungsverfahren durchlaufen
müssen,
um durch eine geeignete Instanz als Sicherheitsgerät eingeordnet
zu werden.
-
Eine
gemeinsame Rückwandplatine 76 (angezeigt
durch eine unterbrochene Linie durch die Rechner 24, 26,
die E/A-Geräte 28 – 36,
die Sicherheitslogiklöser 50 – 56 und
die MPDs 70 und 72) wird in jedem der Knoten 18 und 20 verwendet,
um die Rechner 24 und 26 an die E/A-Karten 28, 30 und 32 oder 34 und 36 der
Prozesssteuerung sowie an die Sicherheitslogiklöser 52 und 54 oder 56 und 58 und an
die MPDs 70 oder 72 anzuschließen. Die Steuerungen 24 und 26 sind
auch kommunikativ an den Bus 22 angeschlossen und wirken
für diesen
als Busarbitrator, um die E/A-Geräte 28 – 36,
die Logiklöser 52 – 56 bzw.
die MPDs 70 und 72 in die Lage zu versetzen, über den
Bus 22 mit einem der Arbeitsplatzrechner 16 zu
kommunizieren.
-
Wie
klar wird, ermöglicht
es die Verwendung der Rückwandplatine 76 in
jedem der Knoten 18 und 20 den Sicherheitslogiklösern 50 – 56,
lokal miteinander zu kommunizieren, um Sicherheitsfunktionen zu koordinieren,
die von jedem dieser Geräte
bewerkstelligt werden, um einander Daten mitzuteilen oder andere
integrierte Funktionen zu erfüllen.
Andererseits wirken die MPDs 70 und 72 so, dass
sie es Teilen des Sicherheitssystems 14, die sich an äußerst unterschiedlichen
Stellen der Anlage 10 befinden, ermöglichen, immer noch miteinander
zu kommunizieren, um einen koordinierten Sicherheitsbetrieb an unterschiedlichen
Knoten der Prozessanlage 10 bereitzustellen. Insbesondere
ermöglichen
es die MPDs 70 und 72 zusammen mit dem Bus 74,
dass die Sicherheitslogiklöser,
die mit den verschiedenen Knoten 18 und 20 der
Prozessanlage 10 zusammenhängen, kommunikativ in Kaskadenschaltung
miteinander verbunden sind, um für
die Kaskadenschaltung von sicherheitsbezogenen Funktionen innerhalb
der Prozessanlage 10 nach einer zugeteilten Priorität zu sorgen.
Alternativ können
zwei oder mehre sicherheitsbezogene Funktionen an unterschiedlichen
Stellen innerhalb der Prozessanlage 10 verknüpft oder
miteinander verbunden werden, ohne dass dabei eine zweckgebundene
Leitung zu einzelnen Sicherheitsfeldgeräten innerhalb der gesonderten
physikalischen Bereiche oder Knoten der Anlage 10 verlegt werden
müsste.
Anders ausgedrückt
ermöglicht
es der Einsatz der MPDs 70 und 72 und des Busses 74 einem
Systemtechniker, ein Sicherheitssystem 14 zu entwerfen
und konfigurieren, das von der Art her über die gesamte Prozessanlage 10 verteilt
ist, dessen unterschiedliche Komponenten aber kommunikativ miteinander
verbunden sind, um es der verschiedenen sicherheitsbezogenen Hardware
zu ermöglichen,
wie erforderlich miteinander zu kommunizieren. Dieses Merkmal sorgt
auch für
eine Skalierbarkeit des Sicherheitssystems 14, indem es
ermöglicht,
dass zusätzliche
Logiklöser
dem Sicherheitssystem 14 hinzugefügt werden können, wenn sie benötigt werden, oder
wenn der Prozessanlage 10 neue Prozesssteuerungsknoten
hinzugefügt
werden.
-
2 stellt die Kommunikationsverbindungen
innerhalb und zwischen den Knoten 18 und 20 der
Prozessanlage 10 ausführlicher
dar. Allgemein ausgedrückt,
sind die Bestandteile von 1,
die in 2 dargestellt
sind, mit denselben Bezugszahlen bezeichnet. Jedoch ist jeder der
Prozessrechner bzw. -steuerungen 24 und 26 in 2 als ein redundantes Rechnerpaar 24A, 24B und 26A und 26B dargestellt,
welche irgendwelche standardmäßigen Redundanztechniken
verwenden können.
Gleichermaßen
ist jeder der Sicherheitslogiklöser 50 – 56 als
ein Gerätepaar
mit einem primären
Sicherheitslogiklöser 50A, 52A, 54A und 56A und
einem sekundären
Sicherheitslogiklöser 50B, 52B, 54B und 56B in
jedem Paar dargestellt. Wie klar wird, ist jedes Paar der Sicherheitslogiklöser 50 – 56 an
die (in 2 nicht dargestellten)
Sicherheitsfeldgeräte
angeschlossen und kann dieselben Sicherheitslogikmodule 58 zur
Verwendung bei der Erfüllung
von Sicherheitsfunktionen innerhalb des Sicherheitssystems 14 speichern.
Jedes Paar der Sicherheitslogiklöser 50 – 56 umfasst einen
zweckgebundenen Bus 50C, 52C, 54C und 56CC,
der zwischen den primären
und sekundären Logiklösern angeschlossen
ist, um Steuerverbindungen zwischen dem Logiklöserpaar bereitzustellen. Die
primären
und sekundären
Logiklöser
lassen gleichzeitig Berechnungen ablaufen und führen sie durch, und die Ausgaben
dieser beiden Geräte
können über die geeigneten
Busse 50C, 52C, 54C und 56C einander
mitgeteilt und bestätigt
werden. Falls gewünscht,
kann das primäre
Gerät eine
Auswahllogik umfassen, die die Ausgabe des Paars der Sicherheitslogiklöser basierend
auf der Ausgabe sowohl der primären
als auch der sekundären
Geräte
bestimmt. Alternativ können
irgendwelche beliebigen oder bekannten Redundanztechniken für die Logiklöserpaare 50 – 56 verwendet
werden.
-
Darüber hinaus
ist jeder der MPDs 70 und 72 als redundantes Gerätepaar 70A, 70B und 72A, 72B dargestellt,
wobei die MPDs der verschiedenen Knoten 18 und 20 mit
einem redundanten Paar von knotenübergreifenden Kommunikationsleitungen
oder -bussen 74 verbunden sind. Während die Kommunikationsverbindungen
zwischen nur zwei Knoten 18 und 20 in den 1 und 2 dargestellt sind, wird klar, dass nur
ein einziges oder ein redundantes Paar von MPDs in beliebig vielen
unterschiedlichen Knoten der Prozessanlage 10 angeordnet
und miteinander in einer Ringbusstruktur verbunden sein kann, um
auf irgendeine gewünschte
Weise knotenübergreifende Verbindungen
bereitzustellen. Obwohl im Allgemeinen (aber nicht unbedingt) ein
Ringbuskommunikationsaufbau verwendet wird, werden die MPDs des ersten
Knotens mit den MPDs des zweiten Knotens verbunden, welcher mit
den MPDs des dritten Knotens verbunden wird, usw., wobei die MPDs
des letzten Knotens mit den MPDs des ersten Knotens, alle jeweils über den
Ringbus 74, verbunden werden. Gibt es, wie in 1 dargestellt, nur zwei
Knoten in der Prozessanlage 10, wird der aus den MPDs 72A und 72B des
Knotens 20 austretende Bus 74 direkt an die Eingänge der
MPDs 70A und 70B des Knotens 18 angeschlossen.
-
Zusätzlich zur
Darstellung der Verbindung zwischen den Steuerungen 24 und 26 und
den Arbeitsplatzrechnern von 1,
stellt 2 die Rückwandplatinen 76 ausführlicher
dar. Insbesondere sind am Knoten 18 die Steuerungen 24A und 24B an die
E/A-Geräte 28, 30 und 32,
an die redundanten Paare der Sicherheitslogiköser 50A, 50B und 52A, 52B und
an das redundante Paar der MPDs 70A und 70B über eine
Schienenbuskommunikationsverbindung 100 angeschlossen,
die vorzugsweise in der Rückwandplatine 76 angeordnet
ist. Genauso sind am Knoten 20 die Rechner 26A und 26B an
die E/A-Geräte 34 und 36,
die Paare der Logiklöser 54A, 54B und 56A, 56B und
an das redundante Paar der MPDs 72A und 72B über eine
Schienenbuskommunikationsverbindung 102 angeschlossen,
die in der Rückwandplatine 76 angeordnet
ist. Die Rechner 24 und 26 verwenden die Schienenbusverbindungen 100 und 102,
um Kommunikationsverbindungen zwischen den Arbeitsplatzrechnern 14 einerseits
und den E/A-Geräten 28 – 36 und
den Sicherheitssystemlogiklösern 50 – 56 und
den MPDs 70 und 72 andererseits bereitzustellen,
sowie Kommunikationsverbindungen zwischen den E/A-Geräten 28 – 36 einerseits
und den Sicherheitslogiklösern 50 – 56 und
den MPDs 70 und 72 andererseits bereitzustellen.
Anders ausgedrückt
werden die Schienenbusleitungen 100 und 102 als
Kommunikationsnetz verwendet, das es ermöglicht, dass die Sicherheitssystemgeräte innerhalb
der Prozessanlage 10 mit den Prozesssteuerungssystemgeräten auf
einer höheren
Ebene integriert werden können,
so dass dieselben Konfigurations- und Anzeigeanwendungen, die in
den Arbeitsplatzrechnern 14 angeordnet sind, sowohl mit den
Prozesssteuerungssystem- als auch den Sicherheitssystemgeräten kommunizieren,
diese konfigurieren und Information von diesen anzeigen können.
-
Zusätzlich umfasst
die Rückwandplatine 76, wie
im Hinblick auf den Knoten 18 dargestellt ist, einen ersten
nicht-hierarchischen oder P2P-Bus (P2P – Peer-to-Peer) 104A,
der die Sicherheitssystemlogiklöser 50 bis 52 jeweils
mit dem primären
MPD 70A verbindet, während
ein zweiter P2P-Bus 104B die Sicherheitssystemlogiklöser 50 und 52 jeweils
mit dem sekundären
MPD 70B verbindet. Die ersten und zweiten P2P-Busse 104A und 104B sind
lokale P2P-Busse, die lokale Kommunikationsverbindungen zwischen
den Sicherheitslogiklösern
in einer einzelnen Rückwandplatine 76 sowie
dem MPD 70 bereitstellen, der zur Rückwandplatine 76 gehört oder mit
ihr verbunden ist. Auf ähnliche
Weise umfasst der Knoten 20 einen ersten nicht-hierarchischen
Bus (P2P-Bus) 106A, der die redundanten Paare der Sicherheitssystemlogiklöser 54 und 56 jeweils
mit dem primären
MPD 72A verbindet, während
ein zweiter P2P-Bus 106 jeweils die redundanten Paare der
Sicherheitssystemlogiklöser 54 und 56 mit
dem sekundären
MPD 72B verbindet. Der erste und der zweite P2P-Bus 106A und 106B sind
lokale P2P-Busse, die lokale Kommunikationsverbindungen zwischen
den Sicherheitslogiklösern
und dem MPD 72 in der Rückwandplatine 76 des
Knotens 20 bereitstellen. Wie klar wird, stellen die ersten
und zweiten P2P-Busse 104A, 104B, 106A und 106B redundante
Kommunikationspfade zwischen allen sicherheitsbezogenen Logiklösern 50 – 56 auf
den jeweiligen Rückwandplatinen 76 bereit.
Falls gewünscht,
können
die lokalen P2P-Busse 104 und 106 als Rundrufbusse
wirken, indem jedes an den Bus angeschlossene Sicherheitslogiklöser- und
MPD-Gerät die Übertragungen
aller anderen Geräte
auf dem Bus empfängt
und immer nur ein Gerät
senden kann. Während 2 zwei an jede der Rückwandplatinen 76 in
den unterschiedlichen Knoten 18 und 20 angeschlossene
Sicherheitslogiklöser
darstellt, können
natürlich
beliebig viele Sicherheitslogiklöser,
die redundante Logiklöserpaare oder
alteinstehende Logiklöser
sein können,
an die Rückwandplatine 76 an
jeden der Knoten 18 und 20 (und dadurch an den
lokalen P2P-Bus 104 oder 106) angeschlossen werden.
-
Falls
gewünscht,
können
sich die Sicherheitslogiklöser
die lokalen P2P-Buseinrichtungen unter Verwendung einer Zeitvielfachzugriffsmethode (TDMA)
teilen, wobei alle lokalen Sicherheitslogiklöser auf einer speziellen Rückwandplatine
miteinander synchronisiert sind. In einem Fall können die lokalen P2P-Busse 104 und 10b ein
RS485 Manchester-codiertes HDLC-Protokoll mit einem Durchsatz von
beispielsweise 2 Mb/sec. verwenden. Dieses Manchester-Codierschema
lässt die
Leitung mit 4 Mb/s anfahren. Die angegebenen Geschwindigkeiten sind
nur beispielhaft, da auch genauso andere geeignete Geschwindigkeiten
und Codierschemata gewählt
werden können.
Darüber
hinaus kann, falls gewünscht,
jeder der lokalen Sicherheitslogiklöser auf einer speziellen Rückwandplatine
seinen Übertragungszeitschlitz
innerhalb des auf der Rückwandplatine 76 verwendeten
TDMA-Schemas basierend auf seiner physikalischen Anordnung auf der
Rückwandplatine 76 bestimmen
oder zugeteilt bekommen, was die Anzahl an Konfigurationsschritten
reduziert, die zum Installieren der Rückwandplatine 76 an
einem bestimmten Knoten erforderlich sind. Noch weiter darüber hinaus
können
die ersten und zweiten P2P-Busse 104 und 106 der
Rückwandplatinen 76 jede
beliebige Nachrichtenart unterstützen,
und die physikalischen Verknüpfungen
für die
lokalen P2P-Busse 104 und 106 können in
der Rückwandplatine 76 liegen.
-
Die
P2P-Fernbusse 74 verwenden vorzugsweise eine Ringtopologie,
um zuzulassen, dass Daten zwischen Sicherheitslogiklösern, die
sich an unterschiedlichen Knoten der Prozessanlage 10 befinden
und deshalb auf unterschiedlichen Rückwandplatinen 76 angeordnet
sind, übertragen
werden können.
Die MPDs 70 und 72 sind für die Verbreitung von Nachrichten
um den Ring verantwortlich, der aus dem P2P-Fernbus 74 besteht,
um Nachrichten, die aus einem Sicherheitslogiklöser auf derselben Rückwandplatine
wie des MPDs 70 oder 72 zum Ring 74 geleitet
werden, unterzubringen, und um die Nachrichten, die sich im Ring 74 befinden
und an einen Sicherheitslogiklöser
auf derselben Rückwandplatine wie
eines MPDs 70 oder 72 adressiert sind, zu eben diesem
Sicherheitslogiklöser
zu schicken. Während jede
Anzahl an Nachrichten auf dem P2P-Fernbus 74 verbreitet
werden kann, sieht eine Ausführungsform ein
Maximum von zweiunddreißig
(32) Nachrichten vor, die während
jedes P2P-Buszyklus verbreitet werden sollen. Diese Nachrichten
können
von 1 bis 32 separaten und verschiedenen Sicherheitslogiklösern stammen,
einschließlich
der Sicherheitslogiklöser 50 – 56 auf
den Rückwandplatinen 76 der
Knoten 18 und 20, sowie von irgendwelchen anderen
Rückwandplatinen
auf anderen Knoten in der Prozessanlage 10, die durch den
Ringbus 74 miteinander verbunden werden. Als Ergebnis dieser
Operation können
jedoch alle der Sicherheitslogiklöser im Sicherheitssystem 14 synchron
arbeiten, selbst wenn sie sich an unterschiedlichen Knoten befinden,
weil der Ringbus 74 eine Kommunikationsverbindung zwischen
diesen Geräten
bereitstellt, was ermöglicht, dass
eine Synchronisation erzielt werden kann. Der Ringbus 74 kann
jede gewünschte
Art von Busstruktur und -protokoll einsetzen, verwendet aber vorzugsweise
Punkt-zu-Punkt-Kabel mit verdrillten Aderpaaren mit einem 10Base-T-Ethernet-Protokoll,
bzw. Glasfaserkabel und ein 10Base-F-Ethernet-Protokoll, welches
eine Übertragungsrate
von 10 Mbit/sec. hat.
-
Mit
erneutem Bezug auf 1 umfasst
jeder der Arbeitsplatzrechner 16 einen Prozessor 77 und einen
Speicher 78, der beliebig viele Benutzeroberflächen-, Konfigurations-,
Diagnose- und/oder Anzeigeanwendungen speichern kann, die dazu ausgelegt sind,
auf dem Prozessor 77 ausgeführt zu werden. Eine Konfigurationsanwendung 80 und
eine Diagnoseanwendung 82 sind in 1 in einer in ihre Einzelteile zerlegten
Ansicht dargestellt, wie sie in einem der Arbeitsplatzrechner 16 abgespeichert
sind, während
eine Benutzeroberflächen-
oder Anzeigeanwendung 85 als in einem zweiten der Arbeitsplatzrechner 16 gespeichert
dargestellt ist. Jedoch könnten,
falls gewünscht,
diese Anwendungen auch in anderen als den Arbeitsplatzrechnern 16 oder
in anderen zur Prozessanlage 10 gehörenden Computern abgespeichert
sein und von diesen ausgeführt
werden. Allgemein ausgedrückt
stellt die Konfigurationsanwendung 80 einem Systemtechniker
eine Konfigurationsinformation zur Verfügung und ermöglicht es
ihm, einige oder alle Elemente der Prozessanlage 10 zu konfigurieren
oder diese Konfiguration in der Konfigurationsdatenbank 21 zu
speichern. Als Teil dieser von der Konfigurationsanwendung 80 durchgeführten Konfigurationsvorgänge kann
der Systemtechniker Steuerroutinen oder Steuermodule für die Prozesssteuerungen 24 und 26 erstellen,
kann Sicherheitslogikmodule 58 für einige oder alle der Sicherheitslogiklöser 50 – 56 erstellen,
und kann diese unterschiedlichen Steuer- und Sicherheitsmodule über den
Bus 22 und die Rechner 24 und 26 auf
die geeigneten der Prozessrechner 24 und 26 und
der Sicherheitslogiklöser 50 – 56 herunterladen. Ähnlich kann die
Konfigurationsanwendung 80 dazu verwendet werden, andere
Programme und Logik zu erstellen und auf die E/A-Geräte 28 – 36,
irgendwelche der Feldgeräte 40, 42, 60 und 62,
etc., herunterzuladen. Wie klar wird, können diese Prozess- und Sicherheitssteuerungsmodule
für die
getrennten Prozesssteuerungs- und Sicherheitssysteme unabhängig von
den Geräten
erstellt werden, in denen diese Module ausgeführt werden, und können kommunikativ miteinander
verknüpft
werden, indem sie direkt aufeinander verweisen, um dadurch die Prozesssteuerungs-
und Sicherheitslogik in die Lage zu versetzen, miteinander zu kommunizieren,
bevor sie irgendwelchen bestimmten Geräten zugeteilt werden. Dieses Merkmal
ermöglicht
es den Prozesssteuerungssystem- und Sicherheitssystemmodulen, als
Vorlagen erstellt und abgespeichert werden zu können, sorgt für eine einfachere
Tragbarkeit dieser Module, wenn Geräte innerhalb der Prozessanlage
ausgetauscht, entfernt, etc. werden, und lässt allgemein zu, dass die
Logikkonfiguration sowohl des Prozesssteuerungssystems 12 als
auch des Sicherheitssystems 14 vor den physikalischen Geräten, die
mit diesen Systemen zusammenhängen,
eingebaut werden kann.
-
Umgekehrt
kann die Diagnoseanwendung 82 dazu eingesetzt werden, einem
Benutzer wie einem Prozesssteuerungsoperator, einem Sicherheitsoperator,
etc., eine oder mehrere Anzeigen, falls das so gewünscht wird,
entweder in gesonderten Ansichten oder in ein und derselben Ansicht
bereitzustellen, welche Informationen über den Zustand des Prozesssteuerungssystems 12 und
des Sicherheitssystems 14 beinhaltet. Beispielsweise kann
die Diagnoseanwendung 82 eine Alarmanzeigeanwendung sein,
die Alarmmeldungen empfängt
und einem Bediener anzeigt. Falls gewünscht, kann solch eine Alarmanzeigeanwendung
eine Form annehmen, wie sie im US-Patent Nr. 5,768,119 mit dem Titel „Process
Control System Including Alarm Priority Adjustment" und der US-Patentanmeldung
Nr. 09/707,580 mit dem Titel „Integrated
Alarm Display in a Process Control Network" offenbart ist, die beide dem Übernehmer
dieses Patents zugeteilt sind und hiermit ausdrücklich durch Bezugnahme mit
aufgenommen werden. Es wird jedoch klar, dass die Alarmanzeige oder
das Alarmbanner dieser Patente Alarme sowohl vom Prozesssteuerungssystem 12 als
auch dem Sicherheitssystem 14 empfangen und in einer integrierten
Alarmanzeige anzeigen kann, da die Alarme aus beiden Systemen 12 und 14 zum
Bedienerarbeitsplatzrechner 16 geschickt werden, der die
Alarmanzeigeanwendung ausführt,
und werden als Alarme aus unterschiedlichen Gerätearten erkennbar sein, einschließlich, ob
es sich um Alarme entweder aus dem Prozesssteuerungssystem oder
dem Sicherheitssystem handelt. Falls gewünscht, kann ein Bediener die
in einem Alarmbanner angezeigten Sicherheitsalarme genauso wie Prozesssteuerungsalarme beantworten
(z.B. quittieren, sperren, etc.). Beispielsweise kann der Bediener
oder Benutzer unter Verwendung irgendwelcher Leistungsmerkmale der Alarmanzeige
Sicherheitsalarme quittieren, abschalten, etc. Durch solche Maßnahmen
werden Nachrichten an das geeignete Sicherheitslogikgerät 50 – 56 im
Sicherheitssystem 14 unter Verwendung von Kommunikationsverbindungen über den
Bus 22 und die Rückwandplatine 76 verschickt,
wodurch das Sicherheitssystem 14 dazu veranlasst wird,
die entsprechende Maßnahme
im Hinblick auf den Sicherheitsalarm zu ergreifen. Auf ähnliche
Weise können andere
Diagnoseanwendungen Diagnoseinformationen oder -daten anzeigen,
die sowohl aus dem Prozesssteuerungssystem 12 als auch
dem Sicherheitssystem 14 erhalten werden, weil diese Systeme
dieselben Typen und Arten von Parametern, Sicherung und Verweisen
bzw. Bezügen
benutzen, so dass alle Daten aus einem der Systeme 12 und 14 in
einer Anzeige oder Ansicht integriert werden können, die herkömmlicher
Weise für
ein Prozesssteuerungssystem vorgesehen ist.
-
Die
Benutzeroberflächenanwendung 85 kann
irgendeine Art von Oberfläche
sein, die es beispielsweise einem Benutzer ermöglicht, Datenwerte zu verarbeiten
(z.B. Auslese- oder Einschreibvorgänge durchzuführen), um
dadurch den Betrieb von Steuer- oder Sicherheitsmodulen im Steuerungssystem
und/oder dem Sicherheitssystem zu verändern und gleichzeitig den
richtigen Sicherheitsgrad und die richtige Sicherheitsart bereitzustellen.
Wenn somit beispielsweise ein Einschreibvorgang bestimmt wird, der
an einem mit dem Steuerungssystem 12 zusammenhängenden
Steuermodul wie einem der Steuermodule 75 oder einem der
Feldgeräte 42 vorgenommen
werden soll, erzwingt beispielsweise die Anwendung 85 die
richtigen Sicherheitsprozeduren, damit dieser Einschreibvorgang
stattfinden kann. Ist andererseits der Einschreibvorgang dazu bestimmt, an
einem mit dem Sicherheitssystem 14 zusammenhängenden
Modul wie an einem der Module 58 oder einem der Feldgeräte 62 vorgenommen
zu werden, erzwingt die Anwendung 85 beispielsweise die
richtigen Sicherheitsmaßnahmen
und -prozeduren, damit dieser Einschreibvorgang stattfindet, und
schickt, wenn die Sicherheitsmaßnahmen
getroffen wurden, den Schreibbefehl an das geeignete Sicherheitsgerät, ohne
dass dabei eine weitere Firewall in den Sicherheitssystemsteuerungen 50 – 56 notwendig
wäre.
-
Auf
jeden Fall können
die Anwendungen 80, 82 und 85 separate
Konfigurations-, Diagnose- und andere Signale an jeden der Prozessrechner 24 und 26 sowie
jeden der Sicherheitssystemlogiklöser 50 – 56 schicken
und von diesen empfangen. Diese Signale können Nachrichten auf Prozessebene
umfassen, die sich auf die Steuerung der Betriebsparameter der prozesssteuerungsbezogenen
Feldgeräte 40 und 42 beziehen,
können
Nachrichten auf Sicherheitsebene umfassen, die sich auf die Steuerung
der Betriebsparameter der sicherheitsbezogenen Feldgeräte 60 und 62 beziehen,
und können
Nachrichten auf Geräteebene
umfassen, die sich auf Gerätebesonderheiten
sowohl der Prozesssteuerungs- als auch der Sicherheitssystemgeräte beziehen.
Während
die Sicherheitslogiklöser 50 – 56 so
programmiert werden können,
dass sie sowohl die Nachrichten auf Prozessebene als auch auf Sicherheitsebene erkennen
können,
sind die Sicherheitslogiklöser 50 – 56 dazu
in der Lage, zwischen den beiden Nachrichtenarten zu unterscheiden
und können
nicht durch Konfigurationssignale auf Prozessebene programmiert
oder beeinflusst werden. In einem Beispiel können die an die Prozesssteuerungsgeräte verschickten
Programmiernachrichten bestimmte Felder oder Adressen enthalten,
welche von den Sicherheitssystemgeräten erkannt werden, und welche
verhindern, dass diese Signale dazu verwendet werden, die Sicherheitssystemgeräte zu programmieren.
Insbesondere kann das Identifizierungskennzeichen (wie ein Pfadname)
oder die Adresse der an das Sicherheitssystemgerät oder -routine wie einem der
Sicherheitssystemlogikgeräte 50 – 56 zu
verschickenden oder von dort zu empfangenden Daten ein spezielles
Feld oder eine spezielle Überschrift
enthalten, die das Gerät
oder die Einheit als mit dem Sicherheitssystem 14 zusammenhängend kennzeichnet.
Ist dies der Fall, kann die in jeder Anwendung eingebettete Schreibschutzsoftware
durch das Identifizierungskennzeichen oder die Adresse, die mit
den Daten zusammenhängen,
bestimmen, wann ein Einschreibversuch in die Sicherheitssystemkomponente
erfolgen soll. Bestimmt die Schutzsoftware, dass ein Einschreibvorgang
(oder auch Auslesevorgang) für
das Sicherheitssystem ange fordert wird, kann die Schutzroutine automatisch
jede gewünschte
Schutzprozedur wie Überprüfen des
Passworts und der Berechtigung des Benutzers anwenden, um sicherzustellen,
dass der Benutzer über
die Rechte verfügt, einen
Einschreibvorgang in das/die (oder einen Auslesevorgang aus dem/der)
Sicherheitssystemgerät oder
Sicherheitssystemlogikeinheit vorzunehmen.
-
Falls
gewünscht,
können
die Sicherheitslogiklöser 50 – 56 im
Vergleich zur Hardware- und Softwareauslegung, die für die E/A-Karten 28 – 36 der Prozesssteuerung
verwendet werden, dieselbe oder eine andere Hardware- oder Softwareauslegung
verwenden. Der Einsatz von wechselnden Technologien für die Geräte im Prozesssteuerungssystem 12 und die
Geräte
im Sicherheitssystem 14 kann jedoch Hard- und Softwareausfälle minimieren
oder ausschalten, die eine gemeinsame Ursache haben.
-
Die
Sicherheitssystemgeräte
einschließlich der
Logiklöser 50 – 56 können auch
irgendwelche beliebigen Entkopplungs- und Schutztechniken benutzen,
um die Wahrscheinlichkeit zu reduzieren oder auszuschalten, dass
unberechtigte Änderungen
an dadurch implementierten sicherheitsbezogenen Funktionen vorgenommen
werden. Beispielsweise können
die Sicherheitslogiklöser 50 – 56 und
die Konfigurationsanwendung 80 eine Person mit einem besonderen
Berechtigungsgrad oder eine Person, die sich an einem besonderen
Arbeitsplatzrechner befindet, auffordern, Änderungen an den Sicherheitsmodulen
in den Logiklösern 50 – 56 vorzunehmen, wobei
dieser Berechtigungsgrad oder diese Berechtigungsstelle sich vom
Grad oder der Stelle der Berechtigung oder des Zugriffs unterscheidet,
der/die erforderlich ist, um Änderungen
an den von den Steuerungen 24 und 26 und den E/A-Geräten 28 – 36 durchgeführten Steuerfunktionen
vorzunehmen. In diesem Fall haben nur diejenigen Personen, die in der
Sicherheitssoftware benannt sind oder sich an Arbeitsplätzen befinden,
die dazu berechtigt sind, Änderungen
am Sicherheitssystem vorzunehmen, eine Berechtigung, sicherheitsbezogene
Funktionen zu ändern,
was die Gefahr minimiert, den Betrieb des Sicherheitssystems 14 zu
verfälschen.
Wie klar wird, können
die Prozessoren in den Sicherheitslogiklösern, um einen solchen Schutz
oder eine solche Sicherung bereitzustellen, auf die eingehenden
Nachrichten zugreifen und auf passende Form und Sicherung überprüfen, und
als Wächter über Änderungen wirken,
die an den Steuermodulen 58 auf Sicherheitsebene, die in
den Sicherheitslogiklösern 50 – 56 ausgeführt werden,
vorgenommen werden. Alternativ können,
wie weiter unten noch ausführlicher
beschrieben wird, die Anwendungen, die Nachrichten an die Sicherheitslogiklöser 50 – 56 erzeugen,
Sicherungsprozeduren implementieren und den Versand einer Nachricht
verweigern, wenn der Sicherheitsgrad des Benutzers nicht angemessen
genug ist, um einen Einschreibvorgang in ein oder einen Auslesevorgang
aus einem Sicherheitssystemgerät
vorzunehmen.
-
Somit
kann, falls gewünscht,
wenn sicherheitsbezogene Funktionen in den Logiklösern 50 – 56 erst
einmal freigegeben sind, keine Statusveränderung an den Sicherheitsfunktionen über die
Bedienerarbeitsplatzrechner 16 ohne angemessene Zugriffsrechte
vorgenommen werden, was es ermöglicht, dass
die mit dem Prozesssteuerungssystem 12 zusammenhängende Kommunikationsstruktur
dazu verwendet werden kann, eine Initialisierung für das Sicherheitssystem 14 und
eine Ablaufliste des Betriebs des Sicherheitssystems 14 bereitzustellen, aber
immer noch das Prozesssteuerungssystem 12 vom Sicherheitssystem 14 in
dem Sinne zu entkoppeln, dass Veränderungen am Prozesssteuerungssystem 12 sich
nicht auf den Betrieb des Sicherheitssystem 14 auswirken
können.
-
3 stellt eine Bildschirmmaske 183 dar, die
durch die Konfigurationsroutine 80 von 1 erzeugt werden kann, und die eine Konfigurationsdarstellung
veranschaulicht, bei der das Sicherheitssystem 14 (einschließlich der
Logiklöser 50 – 56 und
der Sicherheitsfeldgeräte 60, 62)
mit dem Prozesssteuerungssystem 12 integriert ist. Es wird
klar, dass die Konfigurationsbildschirmmaske 183 von 3 die Art und Weise darstellt,
auf die die Konfigurationsanwendung 80 die mit den verschiedenen
Geräten
innerhalb der Prozessanlage 10 zusammenhängende Software
konfiguriert hat und von einem Systemtechniker dazu verwendet werden
kann, um die gegenwärtige
Konfiguration der Prozessanlage zu erstellen oder zu verändern, indem
eine neue Konfigurationssoftware auf die Geräte innerhalb der Prozessanlage 10,
einschließlich
der Prozesssteuerungssystem- und Sicherheitssystemgeräte heruntergeladen
wird.
-
Wie
in der Bildschirmmaske 183 dargestellt ist, umfasst die
Prozessanlage 10 einen physikalischen Netzabschnitt 184,
der zur Anzeige der physikalischen Verknüpfungen der Geräte innerhalb
der Prozessanlage 10 verwendet wird, und einen Sicherheitsnetzabschnitt 185,
der zum Konfigurieren von Sicherheitssystemgeräten verwendet wird. Der physikalische
Netzabschnitt 184 umfasst einen Steuernetzabschnitt 186 mit
einer Steuerung 187 (CTRL1 genannt). Der Rechner 187,
bei dem es sich um einen der Rechner 24, 26 von 1 handeln kann, umfasst
eine Gruppe zugeteilter Module 188, welche Steuermodule
sind, die im Rechner 187 gespeichert sind und von diesem
ausgeführt
werden, und einen E/A-Geräteabschnitt 189,
der zu Kommunikationszwecken an die Steuerung 187 angeschlossen
ist. Der E/A-Geräteabschnitt 189 ist
erweitert, um alle Karten 190 darzustellen, die an den
Rechner 187 (CTRL1) über
eine der Rückwandplatinen 76 von 1 angeschlossen sind. In
diesem Beispiel umfasst der E/A-Geräteabschnitt 189 Eingabe-/Ausgabekarten
C01 – C05,
C11 – C15
und C21 der Prozesssteuerung. Jede dieser Karten kann erweitert werden,
um die Kennung der unterschiedlichen Feldgeräte oder andere damit zusammenhängende Informationen
darzustellen (welche Feldgeräte
einzelne der Feldgeräte 40 und 42 von 1 sind), die an jede dieser
Karten angeschlossen sind. Auf ähnliche
Weise sind zur Darstellung der physikalischen Anschlüsse zwei
Sicherheitssystemkarten C07 (BLR1BMS genannt) und C017 (noch nicht
konfiguriert) in schraffiertem Format dargestellt und können in
diesem Abschnitt nicht erweitert werden, weil sie nicht in und durch
das Steuernetz konfiguriert werden können. Aber, wie klar wird,
können
die Geräte,
die mit dem Prozesssteuerungssystem 12 zusammenhängen, unter
Verwendung des Steuernetzabschnitts 186 der Bildschirmmaske 183 konfiguriert
werden, indem Steuermodule, E/A-Geräte und/oder Feldgeräte in diesem
Abschnitt der Konfigurationsdarstellung hinzugefügt, gelöscht oder verändert werden.
-
Das
Sicherheitssystem 14 ist im Sicherheitsnetzabschnitt 185 der
Bildschirmmaske 183 als drei Sicherheitslogiklöser 191 – 193 umfassend
dargestellt, die als BLR1BMS, BLR2BM5 und LS1 bezeichnet sind. Gleichermaßen können, falls
gewünscht, Nachrichtenverbreitungsgeräte (wie
die MPDs 70 und 72 von 1) im Sicherheitsnetzabschnitt 185 dargestellt
sein. In der Bildschirmmaske 183 ist der Sicherheitslogiklöser 191 erweitert,
um darzustellen, dass er zugewiesene Sicherheitsmodule, einen oder mehrere
Kanäle
(die an die Sicherheitsfeldgeräte
wie die Geräte 60 und 62 von 1 angeschlossen sind) und
Schutzparameter enthält.
Jedes dieser Elemente könnte
in diesem Abschnitt der Bildschirmmaske 183 weiter angezeigt,
hinzugefügt,
gelöscht
oder verändert
werden, um dadurch das Sicherheitssystem 14 zu konfigurieren.
Insbesondere kann das Sicherheitssystem 14 unter Verwendung
des Sicherheitsnetzabschnitts 185 auf eine ähnliche
Weise konfiguriert und modifiziert werden wie das Konfigurieren des
Prozesssteuerungsnetzes 12 unter Verwendung des Steuernetzabschnitts 186.
Wie klar wird, können also
Steuer- und Sicherheitsmodule erstellt und jedem dieser unterschiedlichen
Steuer- und Sicherheitssysteme zugewiesen werden, indem das Verfahren
zum Konfigurieren eines Prozesssteuerungssystems verwendet wird,
wie es im US-Patent Nr. 5,838,563 beschrieben ist, welches dem Übernehmer
dieses Patents zugeteilt ist und hiermit ausdrücklich durch Bezugnahme mit
aufgenommen wird.
-
Allgemein
ausgedrückt
können
jedoch Sicherheitslogikmodule aus Modulvorlageobjekten erstellt
werden, die in einer Konfigurationsbibliothek gespeichert und dazu
ausgelegt sind, in einem speziellen Sicherheitslogiklöser zum
Einsatz zu kommen, um Sicherheitsfunktionen im Hinblick auf spezielle Sicherheitsfeldgeräte innerhalb
der Prozessanlage 10 zu erfüllen. Um einen Sicherheitslogikmodul
zu erstellen, kann ein Sicherheitstechniker eine spezielle Steuervorlage
kopieren (die dazu verwendet werden kann, um sowohl in Prozesssterungen
ablaufende Prozesssteuerungsmodule als auch in Sicherheitslogiklösern ablaufende
Sicherheitslogikmodule zu erstellen), um einen bestimmten Sicherheitslogikmodul zu
erstellen, und kann diesen Sicher heitslogikmodul einem bestimmten
Sicherheitselement, wie einem der Sicherheitslogiklöser zuweisen,
indem dieser Sicherheitslogikmodul durch Drag-and-Drop auf oder unter
eine Anzeige des gewünschten
Sicherheitslogiklösers
in der Konfigurationsbildschirmmaske 183 von 3 verschoben wird. Bei der
Implementierung des offenbarten Systems entsteht eine neue Benutzerrolle
als Sicherheitstechniker. Beim Konfigurieren des Sicherheitssystems 14 kann
der Systemtechniker, der den Prozesssteuerungsabschnitt bzw. -teil leitet,
nicht die geeigneten Rechte haben, um Sicherheitsmodule zu konfigurieren,
und somit wird eine Konfiguration der Sicherheitsmodule von einem
Sicherheitstechniker durchgeführt.
Somit lässt
eine Sicherung innerhalb des Systems die Berufsbeschreibung gesonderter
Sicherheits- und Systemtechniker zu.
-
In
einem besonderen Beispiel kann ein Sicherheitstechniker Sicherheitslogiklöser unter
dem Sicherheitsnetzabschnitt 185 hinzufügen, indem eine (nicht gezeigte)
Menüoption „Add Logic
Solver" aus einem
Sicherheitsnetzmenü gewählt wird
(welches zum Beispiel ein Pop-up-Menü oder ein Pull-down-Menü sein kann).
Dabei wird ein Logiklöser
mit dem nächsten
verfügbaren
Systemnamen unter dem Sicherheitsnetz 185 erstellt. Automatisch
erstellte Systemnamen können
beispielsweise mit LS1 beginnen, können aber auch zu irgendeinem
allgemein unverwechselbaren Namen im Konfigurationssystem für die Prozessanlage 10 umbenannt
werden. 3 stellt den
Fall dar, bei dem zwei Logiklöser
umbenannt wurden und einer (LS1) nicht umbenannt wurde. An diesem
Punkt ist der Logiklöser
immer noch ein Platzhalter, der nicht an einen physikalischen Logiklöser gebunden
ist. Danach kann der Benutzer einen Logiklöser durch Drag-and-Drop von unter
dem physikalischen Netzabschnitt 184 (wie demjenigen der
Karten unter dem E/A-Abschnitt 189) auf den Sicherheitsnetzabschnitt 185 verschieben, um
einen bestimmten physikalischen Logiklöser (d.h., eine Karte) an den
erstellten Platzhalter zu binden. Wenn ein bestimmter Logiklöser unter
dem Sicherheitsnetzabschnitt 185 erst einmal gebunden ist, erfolgen
an dem und auf den speziellen physikalischen Logiklöser heruntergeladene
Konfigurationsveränderungen,
wie unter dem physikalischen Netzabschnitt 184 spezifiziert
ist. Darüber
hinaus kann, wenn einmal gebunden, der Logiklöser unter dem Sicherheitsnetzabschnitt 185 den
physikalischen Pfad in Klammern und der Logiklöser (die Karte) unter dem physikalischen
Netzabschnitt 184 den Logiklösernamen in Klammern anzeigen.
In 3 sind das Sicherheitslogikgerät 191 und
die Karte C07 auf diese Weise aneinander gebunden. Die Karte C07
unter dem physikalischen Netzabschnitt 184 ist durchgestrichen,
um darzustellen, dass sie unter dem Prozesssteuerungsnetzabschnitt 186 nicht
konfiguriert werden kann, sondern statt dessen über den Sicherheitsnetzabschnitt 185 konfiguriert
werden muss. Noch weiter darüber
hinaus zeigt ein Abschnitt Ports [Fieldbus] unter dem Sicherheitsnetzabschnitt 185 Fieldbusports
an, denen Fieldbus-Sicherheitsgeräte hinzugefügt oder
an die Sicherheitslogikeinheit oder die Sicherheitssteuerung 191 angeschlossen
werden können.
-
Falls
gewünscht
kann ein Binden auch dadurch erfolgen, dass ein ungebundener Logiklöser unter
dem Sicherheitsnetzabschnitt 185 zu einem ungebundenem
Logiklöser
unter dem physikalischen Netzabschnitt 184 gezogen wird,
oder ein ungebundener Logiklöser
unter dem physikalischen Netzabschnitt 184 unter den Sicherheitsnetzabschnitt 185 verschoben
wird. In jedem Fall führt
das Binden eines Platzhalters an einen physikalischen Logiklöser zu einem
in Klammern gezeigten Verweis. Natürlich ist das Verschieben eines
Platzhalters unter dem Sicherheitsnetzabschnitt 185 zu
E/A unter einem Rechner in einem Steuernetzabschnitt nicht unterstützt (und
wird genaugenommen vom Sicherheitssystem verhindert), so dass es
nicht möglich
ist, eine Logiklöserkarte
unter einem E/A-Gerät des Prozessrechners zu
erstellen. Dies sorgt für
eine funktionale Trennung zwischen den Prozesssteuerungs- und den
Sicherheitsgeräten.
Niedrigrangigere Sicherheitselemente wie Sicherheitsfeldgeräte, Sicherheitsmodule,
Parameter, etc. können
einem bestimmten Sicherheitslogiklöser zugewiesen oder an ihn
gebunden werden, indem eine Anzeige dieser niedrigrangigeren Elemente
an die geeignete Stelle der Bildschirmmaske 183 (z.B. durch
Drag-and-Drop) gesetzt wird.
-
Selbstverständlich kann
aber auch eine ähnliche
Technik verwendet werden, um das Prozesssteuerungsnetz 186 unter
Verwendung der Konfigurationsbildschirmmaske 183 zu konfigurieren,
so dass sowohl das Prozesssteuerungsnetz(system) als auch das Sicherheitssystem
unter Verwendung derselben Anwendung konfiguriert werden kann, und
um die Wechselbeziehungen zwischen Elementen im Prozesssteuerungs-
und Sicherheitsnetz festzulegen. Zusätzlich können, weil die Konfigurationsanwendung 80 dasselbe
Benennungskonstrukt verwendet, um sowohl das Prozesssteuerungsnetz 186 als auch
das Sicherheitsnetz 185 zu konfigurieren (wobei Änderungen
in den Feldern dieser Namen dazu verwendet werden, zu bestimmen,
ob ein Element mit dem Prozesssteuerungs- oder dem Sicherheitsnetz
zusammenhängt),
alle anderen Anwendungen leicht basierend auf dem mit den Daten
verbundenen Namen oder (Identifizierungs-)Kennzeichen feststellen,
ob Daten oder Signale von einem Prozesssteuerungs- oder einem Sicherheitselement
stammen oder an dieses geschickt werden. Als Ergebnis dieser gemeinsamen
Konfigurations- und Benennungsstruktur müssen Daten aus dem Sicherheitssystem
nicht dem Prozesssteuerungssystem oder umgekehrt zugeordnet werden.
Statt dessen kann jede Anwendung Daten oder Befehle zu jedem der
Prozesssteuerungs- oder Sicherheitssystemgeräte schicken oder davon empfangen
(vorausgesetzt, die Sicherheitsmaßnahmen sind erfüllt) und
basierend auf dem Namen oder Identifizierungskennzeichen des Geräts oder
der logischen Einheit, an die die Daten geschickt werden, nachvollziehen,
zu welchem System diese Daten gehören.
-
Darüber hinaus
kann aufgrund der gemeinsamen Benennungsstruktur, die zwischen den
Prozesssteuerungssystemgeräten
und der Prozesssteuerungssystemlogik und der Sicherheitssystemlogik und
den Sicherheitssystemgeräten
verwendet wird, und aufgrund dessen, dass die Konfigurationsdatenbank
Daten für
alle diese Entitäten
speichert, ein Systemtechniker Prozesssteuerungsmodule Sicherheitslogikmodule
ansprechen lassen und umgekehrt (sie also miteinander kommunizieren
lassen), ohne Zuordnungen vornehmen zu müssen. Der Systemtechniker kann
nämlich
Sicherheitslogikmodule so konfigurieren, dass sie Prozesssteuerungslogikmodulen
ansprechen oder umgekehrt, auf dieselbe Weise wie der Techniker
zwei Sicherheitslogikmodule oder zwei Prozesssteuerungslogikmodule
aufeinander verweisen lässt.
Bekanntlich kann ein solches Verweisen grafisch erfolgen, indem
auf einer grafischen Konfigurationsbildschirmmaske Linien zwischen
den geeigneten Ein- und Ausgängen
der beiden Module gezogen werden, oder indem die Parameter, die
in Bezug gesetzt werden sollen bzw. auf die verwiesen werden soll,
manuell durch das richtige Identifizierungskennzeichen, den richtigen
Namen, die richtige Adresse, etc. festgelegt werden. In einer Ausführungsform
können
diese Verweise bzw. Bezüge
unter Verwendung des hinlänglich
bekannten Namens- und Parameterverweisschemas hergestellt werden.
In diesem Fall werden der Name des Moduls oder einer anderen Entität und der
Parameter dieser Entität
als Teil des (Identifizierungs-)Kennzeichens (Pfads) festgelegt,
das (der) mit einer Verbindung zwischen den beiden Modulen zusammenhängt.
-
Noch
weiter darüber
hinaus können,
falls gewünscht,
die Konfigurationsdaten, die mit dem Prozesssteuerungs- und dem
Sicherheitssystem zusammenhängen,
auf integrierte Weise in einer gemeinsamen Datenbank hinterlegt
werden, und es kann auf sie durch eine einzelne Anwendung, wie der
Konfigurationsanwendung 80 zu jedem beliebigen Zeitpunkt zugegriffen
werden. Alternativ können
Konfigurationsdaten für
unterschiedliche Abschnitte der Anlage an verschiedene Stellen in
der Anlage 10 verteilt und dort gespeichert werden. Zum
Beispiel können
die Konfigurationsdaten für
den Knoten 18 der Anlage von 1 (für sowohl
die Prozesssteuerungs- als auch die Sicherheitssystemgeräte, die
mit dem Knoten 18 zusammenhängen) im Rechner 24 des
Knotens 18 als Datenbank oder Speicher 202 gespeichert
werden, und die Konfigurationsdaten für den Knoten 20 der
Anlage von 1 (für sowohl
die Prozesssteuerungs- als auch die Sicherheitssystemgeräte, die
mit dem Knoten 20 zusammenhängen) können in der Steuerung 26 des
Knotens 20 als Datenbank oder Speicher 204 gespeichert
werden.
-
Auf
diese Weise können
Konfigurationsvorgänge
von derselben Konfigurationsanwendung aus bewerkstelligt werden,
um sowohl das Prozesssteuerungsnetz 12 als auch das Sicherheitsnetz 14,
die mit der Anlage 10 zusammenhängen, zu konfigurieren, und
die Konfigurationsdaten für
beide dieser Systeme können
zusammengefasst werden, um die Wechselbeziehungen zwischen der Hard-
und Software des Pro zesssteuerungs- und Sicherheitssystems darzustellen.
Aufgrund dessen, dass das gemeinsame Konfigurationsparadigma verwendet
wird, kann jedoch die Namens- und Datenadressierung der Elemente
im Prozesssteuerungssystem 12 und Sicherheitssystem 14 sichergestellt
werden, um einen eindeutigen Namen oder eine eindeutige Adresse
für jedes
Gerät so
vorzusehen, dass Sicherheitssystemkomponenten (und -daten) leicht
von Prozesssteuerungssystemkomponenten (und -daten) unterschieden
werden können.
Dies wiederum schafft die Notwendigkeit aus der Welt, Daten zuordnen
zu müssen. Wie
ersichtlich wird, verwendet die Konfigurationsanwendung 80 ein
gemeinsames Kennzeichnungs-, Benennungs-, Adressierungs- und Verweisformat
für sowohl
das Prozesssteuerungssystem (und alle darin vorhandenen logischen
und physikalischen Entitäten)
als auch das Sicherheitssystem (und alle darin vorhandenen logischen
und physikalischen Entitäten).
-
Noch
weiter darüber
hinaus müssen
alle Konfigurations- und Ablaufpunkte, die standortabhängig (oder
BEREICHsabhängig)
sind, nur einmal für
das Prozesssteuerungs- und Sicherheitssystem (und nicht separat
für jedes
System) festgelegt werden, weil die Prozesssteuerungs- und die Sicherheitsmodule
innerhalb desselben Bereichs aneinander gebunden sind. Das ist logisch,
weil jeder Bereich eine logische Gruppierung von Ausrüstung mit
sowohl Prozesssteuerungssystem- als auch Sicherheitssystemausrüstung (und
-logik) ist. Beispielsweise kann es in dem Bereich mehrere Dampfkessel
geben, welche „BOILER" genannt werden könnten. Jeder
Dampfkessel innerhalb des „BOILER"-Bereichs besitzt
seine eigene Sicherheits- und Prozesssteuerungsausrüstung und
-logik. Indem sich damit im Bereich „BOILER" die Sicherheitsmodule am selben logischen
Standort befinden wie die Prozessmodule, werden alle relevanten
Informationen für
den Benutzer zusammengefasst, und es kann über eine einzige oder gemeinsame
Konfigurationsanwendung auf sie zugegriffen werden. Falls gewünscht, kann
in diesem Beispiel der Benutzer einen weiteren ,verzeichnisartigen
Ordner' (wie die
in 3 dargestellten Ordner) unter
dem „BOILER"-Bereich anlegen,
der UNITS genannt wird. In diesem Ordner könnte es eine Boiler Unit 1,
eine Boiler Unit 2 und eine Boiler Unit 3 geben, die mit drei verschiedenen
Dampf kesseln zusammenhängen.
Wieder können
sowohl Sicherheits- als auch Prozesssteuerungsmodule unter das richtige Boiler
Unit-Verzeichnis gesetzt werden, um anzuzeigen, welche Sicherheitsmodule
(und Prozesssteuerungsmodule) für
welchen Dampfkessel verwendet werden, wodurch weitere eine weitere
Untergliederung in der Konfigurationsanzeige bereitgestellt wird.
-
Wie
ersichtlich, können
deshalb eine sicherheitsinstrumentierte System- und Prozesssteuerungskonfiguration
von denselben Technikanwendungen aus durchgeführt werden, was es ermöglicht, dass
Konfigurationsanzeige, -verwaltung, -prüfung, -sicherung, etc. von
einer einzigen Stelle aus durchgeführt werden kann. Insbesondere
können
eine einzige Verwaltungsroutine für die Konfigurationsdatenbank,
wie eine Sicherungsroutine, welches die Konfigurationsdatenbank
sichert, eine Importroutine, welches Daten in die Konfigurationsdatenbank
importiert, und weitere Routinen sowohl auf die Prozesssteuerungssystem-
als auch die Sicherheitssystemdaten in der Konfigurationsdatenbank
angewendet werden, wodurch die Anzahl an unterstützenden Anwendungen reduziert
wird, die bei gesonderten Systemen benötigt werden. Noch weiter darüber hinaus können die
sicherheitsinstrumentierten Funktionen für einen besonderen Abschnitt
(z.B. Bereich) der Anlage 10 an derselben Stelle wie die
Prozesssteuerungskonfiguration für
eben diesen Abschnitt (z.B. Bereich) konfiguriert und gesichert
werden.
-
Im
Ergebnis befinden sich alle relevanten Informationen für einen
Bereich sowohl aus der Prozesssteuerungs- als auch Sicherheitssystemperspektive
an einer einzigen Stelle und werden mit derselben Anwendung konfiguriert.
Insbesondere die Prozesssteuerungssystemelemente (wie die Prozesssteuerungen 24, 26 oder
die Feldgeräte 40, 42 und
die Module oder eine andere darin ausgeführte Logik) und die Sicherheitssystemelemente
(wie die Sicherheitssteuerungen 50 – 56 oder die Feldgeräte 60, 62 und
die Module oder eine andere darin ausgeführte Logik) werden zusammen
durch dieselbe Anwendung innerhalb eines Bereichs konfiguriert,
ungeachtet dessen, welcher Rechner zum Ausführen der Prozesssteuerungs-
oder Sicherheitssystemlogik eingesetzt wird. Im Ergebnis kann die
Konfigurationslogik für
sowohl das Prozesssteuerungs- als auch das Sicherheitssystem erstellt
werden, bevor bekannt ist, wie viele Rechner es dort gibt, wo die
Rechner im System (Adresse und/oder Name) angeordnet werden, und
welcher Steuerung die Logik zugewiesen wird. Aufgrund dessen muss
die physikalische Auslegung des Prozesssteuerungssystems nicht bekannt
sein, um die Sicherheitsmodule zu konfigurieren. Da diese Konfiguration
auf einer logischen anstatt einer physikalischen Basis erfolgt,
wird auch eine einfache Übertragbarkeit
zwischen Systemen, eine einfache Neuzuweisung von Modulen zu Logiklösern als
Reaktion auf Veränderungen
in den physikalischen Auslegungen innerhalb der Prozessanlage, und
das Erstellen auswählbarer
Bibliotheksvorlagen möglich,
die verwendet werden sollen, um eine Prozesssteuerungs- und Sicherheitssystemkonfigurationslogik
zu erstellen. Auch, weil die Verweise zwischen Sicherheitsmodulen über Name/Parameter des
Sicherheitsmoduls hergestellt werden, kann eine Kommunikation zwischen
den Sicherheitsmodulen unabhängig
vom Logiklöser
konfiguriert werden, dem die Sicherheitsmodule zugewiesen sind.
-
Wie
vorstehend angemerkt, verfügt
die Konfigurationsanwendung, obwohl die Prozesssteuerungs- und Sicherheitssystemkonfiguration
integriert ist, über
Schutzmaßnahmen,
die die Benutzer bestimmen können,
die Konfigurationsvorgänge
am Prozesssteuerungs- und Sicherheitssystem separat vornehmen können. Insbesondere
kann die Konfigurationsanwendung 80 so installiert werden,
dass auf sie über
verschiedene Benutzer-Accounts zugegriffen werden kann, wobei jeder
Benutzer-Account mit einer speziellen Benutzereinheit zusammenhängt. Bei
einer Benutzereinheit kann es sich um einen oder mehrere Benutzer
handeln und in manchen Fällen um
eine Anwendung, die unabhängig
von einem menschlichen Wesen arbeitet. Der Einfachheit halber wird
hier austauschbar auf Benutzer und Benutzer-Accounts Bezug genommen.
-
Wie
klar wird, kann jeder Benutzer-Account unterschiedliche Zugriffsrechte
haben oder zugeteilt bekommen, die die Rechte der Benutzereinheit
im Hinblick auf sowohl das Prozesssteuerungs- als auch Sicherheitssystem
definieren. Ein und derselbe Benutzer-Account kann andere Zugriffsrechte
für Prozesssteuerungssystemkonfigurationsfunktionen
als für
Sicherheitssystemkonfigurationsfunktionen haben, und jeder Benutzer-Account
kann eine gewisse Zugriffsebene sowohl für das Prozesssteuerungs- als auch
das Sicherheitssystem festlegen, sogar, dass kein Zugriff besteht.
Falls gewünscht,
kann ein spezieller Benutzer-Account
Zugriffsrechte haben, die es der Benutzereinheit ermöglichen,
eine oder mehrere Maßnahmen
im Hinblick auf nur das Prozesssteuerungssystem zu ergreifen, eine
oder mehrere Maßnahmen
im Hinblick nur auf das Sicherheitssystem zu ergreifen, oder eine
oder mehrere Maßnahmen
im Hinblick auf sowohl das Prozesssteuerungs- als auch das Sicherheitssystem
zu ergreifen. Weiter darüber hinaus
können
verschiedene Ebenen von Zugriffsrechten für das Prozesssteuerungs- bzw.
Sicherheitssystem definiert werden, einschließlich beispielsweise einer
Ebene, die eine Benutzereinheit in die Lage versetzt, Prozesssteuerungs-
oder Sicherheitssystemdaten auszulesen, einer Ebene, die einen Benutzer
in die Lage versetzt, Prozesssteuerungs- oder Sicherheitssystemparameter
oder -einstellungen einzuschreiben oder zu verändern, einer Ebene, die einen
Benutzer in die Lage versetzt, Prozesssteuerungs- oder Sicherheitssystemmodule oder
eine andere Logik zu erstellen, einer Ebene, die einen Benutzer
in die Lage versetzt, Prozesssteuerungs- oder Sicherheitssystemmodule
auf geeignete Geräte
herunterzuladen, und einer Ebene, die einen Benutzer in die Lage
versetzt, Eichvorgänge
an einem oder mehreren Prozesssteuerungs- oder Sicherheitssystemgeräten vorzunehmen.
Natürlich können jeder
Benutzereinheit beliebig viele dieser Zugriffsrechte für das Prozesssteuerungs-
und/oder Sicherheitssystem verliehen werden, und andere mögliche Ebenen
von Rechte können
auch oder anstatt der hier aufgelisteten verwendet werden.
-
Auf
diese Weise kann ein Prozesssteuerungstechniker daran gehindert
werden, das Sicherheitssystem in der Anlage zu konfigurieren, und
ein Sicherheitssystemtechniker kann daran gehindert werden, das
Prozesssteuerungssystem in der Anlage zu konfigurieren. Wie vorstehend
angegeben, kann das Sicherheitssystem, welches einen Benutzerschutz
für Konfiguration
und Ablaufrechte leistet, voll in eine einzelne Anwendung (wie die
Konfigurationsanwendung) sowohl für das Prozesssteuerungs- als
auch das Sicherheitssystem integriert werden. Wie vorstehend angemerkt,
können
Benutzer-Accounts installiert werden, um die Rechte zu bestimmen,
die ein Benutzer an einer bestimmten Stelle (oder innerhalb einer
besonderen Anwendung) hat. Falls gewünscht, kann die Ausführungszeitspanne eines
Benutzers für
die Steuerung pro Bereich, sowie Prozesssteuerungs- und Sicherheitssystemfunktionalität bestimmt
werden. Somit kann einem Bediener Zugriff zu sowohl dem Sicherheits- als auch Prozesssteuerungssystem
für einen
oder mehrere bestimmte Bereiche erteilt werden, aber nicht zu anderen
Bereichen. Auf diese Weise kann eine Sicherung auf einer kombinierten
Benutzer-/Standortbasis geleistet werden. Falls gewünscht, kann
die Sicherung auch basierend auf dem Standort der Konfigurationsanwendung
oder des Computers, der diese ausführt, bewerkstelligt werden,
so dass ein Benutzer die richtigen Zugriffsrechte an einem bestimmten
Computer haben muss, um von diesem Computer aus Konfigurationsfunktionen
durchführen
zu können.
-
Wie
klar wird, können
Vorgänge
der Sicherheitssystemkonfiguration als wechselseitig verbundene
logische Elemente (wie Funktionsblöcke oder -module) in einer
grafischen Anzeige auf die Weise definiert werden, wie in den US-Patenten
Nr. 5,838,563; 5,940,294 und 6,078,320 offenbart ist, die alle hiermit
ausdrücklich
durch Bezugnahme hier mitaufgenommen werden. In diesem Fall kann
die Sicherheitssystemfunktionalität oder -logik (in Form von
Sicherheitssystemmodulen) unabhängig
davon erstellt werden, festlegen zu müssen, welche tatsächliche
Sicherheitssystemhardware diese Logik ausführen wird, und welche E/A-Kanäle des Sicherheitssystems
verwendet werden. Liegen die Hardware- und Kanalfestlegungen erst
einmal fest, können
einfache Vorgänge
der Hardware- und E/A-Zuteilung (wie die Drag-and-Drop-Operationen auf der Konfigurationsbildschirmmaske
von 3) verwendet werden,
um die Logik an die Hardware zu binden. Dieses Vorgehen ermöglicht,
dass Sicherheitssystemfunktionen zwischen Sicherheitssystemen in
hohem Grade übertragbar
sind, und stellt eine größere Flexibilität bei der
Installation der Hardwareanordnung und der Kanaladressierung für das Sicherheitssystem 14 bereit.
Noch darüber
hinaus können
die Sicherheitssystemlogikmodule, ähnlich wie Prozesssteuerungsmodule,
zur einfachen Wiederverwendung als Vorlagen in einer Bibliothek
gespeichert werden, um zu ermöglichen,
dass derselbe allgemeine Typ Sicherheitsmodul für eine ähnliche Ausrüstung oder
eine identische Ausrüstung
in unterschiedlichen Bereichen der Anlage wiederverwendbar sein kann.
Auf diese Weise können
die Sicherheitssystemlogikvorlagen auf die geeigneten Bereiche kopiert und
der Sicherheitssystemhardware zugeteilt werden.
-
Noch
weiter darüber
hinaus ist es wichtig, da ein Sicherheitssystem typischerweise kleiner
ist als sein dazugehöriges
Prozesssteuerungssystem, die Sicherheitssystemhardware und -logik
getrennt von der Prozesssteuerungssystemhardware und -logik leicht
auffinden und sichten zu können,
um die Zuweisung von Sicherheitslogikmodulen zur Sicherheitssystemhardware
anschauen zu können.
Das wie vorstehend im Hinblick auf 3 beschriebene Konfigurationssystem
erfüllt
diese Funktion, indem es ermöglicht,
dass die Konfigurationsinformation des Sicherheitssystems 14 und
des Prozesssteuerungssystems 12 getrennt oder unter unterschiedlichen Überschriften
im Konfigurationsdiagramm unterschieden werden kann.
-
Überdies
wird die Information aus der Sicherheitssystemlogik typischerweise
im Prozesssteuerungssystem zu Zwecken des Sperrens, etc. gebraucht.
Wie vorstehend angenommen, erforderte dies herkömmlicher Weise, dass die Konfiguration des
Sicherheitssystems in Halteregister oder andere wohldefinierte Datenstrukturen
für das
Prozesssteuerungssystem übertragen
wird, die vom Prozesssteuerungssystem bei Steuerstrategien eingesetzt werden
sollen. Bei der vorstehend beschriebenen integrierten Konfiguration
sind die Sicherheitssysteminformationen und -daten für die Prozesssteuerungssystemlogik
ohne Eintragen dieser Daten schnell verfügbar, weil alle diese Daten
in einer integrierten Konfiguration vorliegen und gespeichert sind,
und somit Daten aus dem Sicherheitssystem genauso direkt in der
Prozesssteuerungssystemlogik genutzt werden können wie Daten aus anderen
Teilen der Prozesssteuerungssystemlogik in der Prozesssteuerungssystemlogik
verwendet werden können.
Diese Integration reduziert sowohl die Zeit als auch Komplexität bei der
Konfiguration, und reduziert auch signifikant Fehler, die mit dem
Eintragen von Daten verbunden sind.
-
Wie
klar wird sind auch Konfigurations- und Statusdaten der Sicherheitssystemgeräte in dieser einzelnen
Konfigurationsumgebung integriert. Dies umfasst sowohl die gerätespezifische
Information als auch die gerätebezogene
Steuersysteminformation wie die Konfiguration für die Gerätealarme. Bei einigen Kommunikationsprotokollen
wie dem Foundation Fieldbus, kann die Steuerinformation in den Feldgeräten selbst
liegen. Soll diese Information als Teil einer Sicherheitssystemfunktion
genutzt werden, ist die Möglichkeit,
diese Information in derselben Einzelkonfigurationsumgebung vorliegen
zu haben wichtig, um die Logik nachzuvollziehen. Zusätzlich kann
die Statusinformation aus irgendeinem Teil des Sicherheitssystems 14,
einschließlich
der Sensoren, Stellglieder und Logiklöser je nachdem entweder im Steuerungssystem 12 oder
im Sicherheitssystem 14 genutzt werden. Beispielsweise
kann das Herabsetzen von Auswahlschemata basierend auf der Systemgesundheit
oder das Einstellen einer Sperre im Steuerungssystem 12 basierend
auf der Gerätegesundheit
erfolgen. Solch ein gemeinsames Nutzen von Information durch das
Prozesssteuerungssystem 12 und das Sicherheitssystem 14 wäre ohne
integrierte Konfigurationsumgebung äußerst schwierig zu bewerkstelligen.
-
Wie
aus der vorstehenden Erörterung
ersichtlich wird, kann bei der integrierten Konfiguration das ganze
Vergeben von Identifizierungskennzeichen, Parameterverweisen, Namen,
Sicherung, etc. von einer gemeinsamen Datenbank aus konfiguriert werden.
Dies ermöglicht
es Benutzern, den Hebel bei Investitionen, Schulungen, etc. anzusetzen,
die beim Prozesssteuerungssystem für sicherheitskritische Funktionen
vorgesehen sind. Zusätzlich
ermöglicht es
die gemeinsame Explorer-Ansicht (wie diejenige von 3, die Prozesssteuerungsgeräte und -logik mit
Sicherheitssystemgeräten
und -logik integriert) einem Benutzer, leicht zwischen Prozess-,
Geräte- und
Sicherheitsfunktionen zu unterscheiden, einen Zusammenhang zum geeigneten
Objekt in der Ansicht herzustellen, klar Befehle für die im
Zusammenhang befindlichen, ausgewählten Objekte zu differenzieren,
etc. Auch sorgt die integrierte Hierarchie für einfaches Navigieren, Suchen,
Auflisten, etc. von bezeichneten Objekten. Ein Setzen von Präferenzen
in der Explorer-Ansicht ermöglicht
auch, dass die Funktionen, die der Benutzer nicht braucht, verdeckt
bleiben. Falls gewünscht,
kann nämlich
jeder Benutzer oder jeder Benutzer-Account unterschiedliche Präferenzen
haben, was sich auf die Art und Weise auswirkt, auf die die Konfigurationsinformation
einschließlich
Prozesssteuerungssystem- und Sicherheitssystemkonfigurationsinformation
diesem Benutzer angezeigt wird.
-
Zusätzlich zu
Konfigurationsvorgängen
können
Diagnosevorgänge,
die mit dem Prozesssteuerungssystem 12 und dem Sicherheitssystem 14 zusammenhängen, in
einer gemeinsamen Anwendung und einer gemeinsamen Ansicht oder Anzeige,
die einem Benutzer zur Verfügung
gestellt werden, integriert sein. Insbesondere kann die Diagnoseanwendung 82 von 1 Diagnoseinformation liefern
und Diagnosevorgänge
unter Verwendung einer gemeinsamen Schnittstelle sowohl für das Prozesssteuerungssystem 12 als
auch das Sicherheitssystem 14 durchführen. In einem Beispiel kann
die Diagnoseanwendung 82 eine Alarmanzeigeanwendung sein,
die jedwede Art von Alarmen wie Prozessalarme/-warnungen, Gerätealarme/-warnungen,
Kommunikationsalarme/-warnungen,
etc. empfängt,
die sowohl in den Prozessrechnern 24 und 26 als
auch den Sicherheitslogiklösern 50 – 56 erzeugt
oder erfasst werden. Da die von den Prozesssteuerungen 24 und 26 und den
Sicherheitslogiklösern 50 – 56 verschickten Nachrichten
als mit der Hardware/Software der Prozesssteuerung oder des Sicherheitssystems
zusammenhängend
unterschieden werden können,
können diese
Alarme oder Warnungen in einer gemeinsamen Anzeige oder in einer
gemeinsamen Diagnoseanwendung integriert werden, während die
Herkunft des Alarms im Auge behalten und angezeigt wird, das heißt, ob es
sich bei dem Alarm um einen Sicherheitssystem- oder Prozesssteuerungsalarm
handelt, und während
im Auge behalten wird, wann der Alarm ursprünglich ausgelöst oder
vom Prozesssteuerungssystem 12 oder Sicherheitssystem 14 mit
einem Zeitstempel versehen wurde.
-
Genauer
ausgedrückt
braucht die Diagnoseanwendung 82 von 1, weil sie auf dieselbe Weise wie vorstehend
im Hinblick auf die Konfigurationsanwendung 80 erörtert, sowohl
Prozesssteuerungs- als auch Sicherheitssystemalarme erkennen kann, eine
Art von Alarm nicht in eine Anzeige zu übertragen, die für die andere
Art von Alarm gebaut ist. Statt dessen kann die Anwendung 82 sich
einfach der Alarmerfassungs- und
Zeitstempelmechanismen bedienen, die während des Erstellens der Alarmnachricht
von einem der Logiklöser 50 – 56 oder
einem der Prozesssteuerungen 24 oder 26 generiert
wurde, und diese Information in irgendeinem passenden Format auf
einer Benutzeroberfläche
anzeigen. Die Diagnoseanwendung 82 kann jedoch konsistente Regeln
auf jeden der Alarme anlegen, die von der Prozesssteuerungs- oder
Sicherheitssystemhardware eingehen, um eine Alarmpriorität zu bestimmen,
eine Quittierung von Alarmen zu steuern und Leistungsmerkmale sowohl
von Prozesssteuerungs- als auch Sicherheitssystemalarmen freizugeben/zu sperren.
-
Wie
klar wird, erfasst, versieht mit einem Zeitstempel und schickt die
Alarmerfassungssoftware oder -logik in den Prozessrechnern 24 und 26,
um die Integration von Alarmen zu ermöglichen, Alarme an die Diagnoseanwendung 82,
wie es in einem Prozesssteuerungssystem üblich ist. Zusätzlich erfasst, versieht
mit einem Zeitstempel und schickt eine Alarmerfassungssoftware oder
-logik in den Sicherheitslogiklösern 50 – 56 Alarmmeldungen
an die Diagnoseanwendung 82. Das Format der (von den Rechnern 24 und 26 verschickten)
Prozesssteuerungsalarmmeldungen und der (von den Logiklösern 50 – 56 verschickten)
Sicherheitssystemalarmmeldungen wird insofern ähnlich sein, als beide dasselbe
oder ein gemeinsames Format, ein Zeitstempelfeld, ein Alarmbezeichnungs-
oder Typenfeld, etc. haben. Zusätzlich
weisen die Meldungen eine gewisse Anzeige wie ein Feld, eine Adresse,
ein Identifizierungskennzeichen, etc. auf, das die Meldung oder
den Alarm als von entweder einem Prozesssteuerungssystem- oder Sicherheitssystemgerät stammend
be- bzw. kennzeichnet. Die Diagnoseanwendung 82 kann dann
die Anzeige verwenden, um auf einer Alarmanzeige anzuzeigen, dass
ein bestimmter Alarm ein Sicherheitssystem- oder ein Prozesssteuerungssystemalarm
ist. Zusätzlich
kann die Diagnoseanwendung 82 unterschiedliche Leistungsmerkmale
zum Quittieren, Anzeigen und Freigeben/Sperren für jeden Alarm basierend darauf
bereitstellen, ob der Alarm ein Sicherheitssystem- oder Prozesssteuerungssystemalarm
ist. Beispielsweise kann die Diagnoseanwendung 82 einen
Alarm in einer anderen Farbe, in einem anderen Bereich der Anzeige,
mit einem anderen Namen, etc. basierend darauf darstellen, ob der Alarm
ein Sicherheitssystem- oder Prozesssteuerungssystemalarm ist. Auf ähnliche
Weise kann die Diagnoseanwendung 82 ein Filtern oder Sortieren der
Alarme durch irgendwelche Kategorien wie Priorität, Bezeichnung, Art ermöglichen
und/oder ob der Alarm ein Sicherheitssystem- oder Prozesssteuerungssystemalarm
ist. Die Diagnoseanwendung 82 kann jedoch Sicherheitssystem-
und Prozesssteuerungssystemalarme (zum Setzen von Priorität) unter Verwendung
eines gemeinsamen Regelsatzes kategorisieren, um eine konsistente
Kategorisierung von Alarmen sowohl im Prozesssteuerungs- als auch
Sicherheitssystem bereitzustellen. Zusätzlich spiegelt der Zeitstempel
der Alarme wieder, wann sie zuerst entweder im Prozesssteuerungssystem 12 oder
im Sicherheitssystem 14 erfasst wurden, was zu einer besseren
und genaueren Information darüber
führt, wann
die Alarme in den Prozesssteuerungs- und Sicherheitssystemen generiert
wurden.
-
4 stellt ein Beispiel einer
Diagnoseanwendung 82 dar, die in einem Arbeitsplatzrechner 16 abläuft, um
eine integrierte Prozesssteuerungs- und Sicherheitssystemalarmanzeige
bereitzustellen. Allgemein gesprochen zeigt die Diagnoseanwendung 82 Information über das
Prozesssteuerungssystem 12 und das Sicherheitssystem 14 an,
die für
das Verständnis
oder die Fähigkeit
des Bedieners sachdienlich ist, den gegenwärtigen Betriebsstatus des Prozesses
im Hinblick auf im Prozess vorhandene Alarme zu überblicken. Ein Beispiel einer
Anzeige, die von der Anwendung 82 erstellt werden kann,
ist in 5 als ein Alarmbanner 273 umfassend
dargestellt, das Alarmanzeigen und eine erste Anzeige 271 aufweist,
die einen Abschnitt der Prozessanlage einschließlich der mit diesem Abschnitt
der Prozessanlage zusammenhängenden
Prozesssteuerungs- und Sicherheitssystemgeräte und anderer Ausrüstung darstellt,
die für
einen oder mehrere der Alarme im Alarmbanner maßgeblich sind. Die erste Anzeige 271 kann
Information über
den aktuellen Zustand der Prozessanlage liefern, wie den Füllstand
in den Behältern,
Fließeigenschaften
von Ventilen und anderen Fluidleitungen, Geräteeinstellungen, Messwerte von
Sensoren, etc. Zusätzlich
kann diese Anzeige den aktuellen Zustand von Sicherheitsgeräten wie Abschaltventilen,
Schaltern, etc. angeben. Somit kann, wie klar wird, ein Bediener
die Diagnoseanwendung 82 dazu verwenden, sich unterschiedliche Teile
von oder Ausrüstung
in der Prozessanlage 10 anzeigen zu lassen, und dabei kommuniziert
die Diagnoseanwendung 82 mit den Steuerungen 24 und 26 und
den Sicherheitslogiklösern 50 – 56 und
nötigenfalls
den Feldgeräten 40, 42, 60 und 62 und
irgendwelchen anderen Geräten
in der Anlage, um relevante Werte, Einstellungen und Messungen zu
erhalten, die mit der Prozessanlage zusammenhängen oder darin vorgenommen
werden.
-
Die
Diagnoseanwendung 82 kann so konfiguriert sein, dass sie
Alarme empfängt,
die von einer Alarmgenerierungssoftware in einigen oder allen der Rechner 24 oder 26,
E/A-Geräte 28 – 36,
Sicherheitslogiklöser 50 – 56 und
Feldgeräte 40, 42, 60 und 62 generiert
werden. Noch weiter darüber
hinaus kann die Diagnoseanwendung 82 unterschiedliche Alarmkategorien
empfangen, einschließlich
beispielsweise Prozessalarme (die typischerweise von Prozesssteuerungssoftware-
oder Sicherheitssystemmodulen wie denjenigen generiert werden, die
aus wechselseitig kommunikativ verbundenen Funktionsblöcken bestehen
und Prozesssteuerungs- und Sicherheitsroutinen bilden, die während des
Prozessablaufs eingesetzt werden), Hardwarealarme, wie Alarme, die
von den Steuerungen 24, 26, E/A-Geräten 30 – 36,
Sicherheitslogiklösern 50 – 56,
anderen Arbeitsplatzrechnern 16, etc. generiert werden,
die den Zustand oder Funktionszustand dieser Geräte betreffen, und Gerätealarme,
welche von einigen oder allen der Feldgeräte 40, 42, 60 und 62 generiert
werden, um mit diesen Geräten
verbundene Probleme anzuzeigen. Diese oder andere Alarmkategorien
können
auf jede beliebige Weise erstellt werden. Natürlich kann die Diagnoseanwendung 82 die
Alarmart darstellen (z.B. Prozessalarm, Hardwarealarm und Gerätealarm)
zusätzlich
dazu, wo der Alarm seinen Ursprung nahm, d.h., im Prozesssteuerungssystem 12 oder
im Sicherheitssystem 14.
-
Falls
gewünscht,
kann die Diagnoseanwendung 82 Alarme basierend auf einer
Anzahl von Faktoren empfangen und filtern. Insbesondere kann die Diagnoseanwendung 82 Alarme
basierend auf dem Arbeitsplatzrechner filtern, auf dem die Anwendung 82 abläuft, basierend
auf dem Bediener oder der Person, der/die in den Arbeitsplatzrechner
eingeloggt ist, und basierend auf bedienerkonfigurierbaren Einstellungen
wie Kategorie, Art (Prozess, Hardware, Gerät, etc.), Priorität, Status,
Entstehungszeit, Herkunft (Prozesssteuerung oder Sicherheitssystem),
etc. des Alarms. Beispielsweise kann die Anwendung 82 die Alarme
filtern, um nur Alarme aus den Bereichen oder Abschnitten der Anlage
zu filtern, für
die der Arbeitsplatzrechner, auf dem die Anwendung 82 abläuft, zum
Empfang konfiguriert ist. Das heißt, Alarme für bestimmte
Bereiche oder Abschnitte der Anlage können an bestimmten Arbeitsplatzrechnern
nicht angezeigt werden, sondern jeder Arbeitsplatzrechner kann statt
dessen darauf beschränkt
sein, Alarme für einen
oder mehrere spezielle Bereiche der Anlage anzuzeigen. Gleichermaßen können Alarme
durch Bedienerkennung gefiltert werden. Insbesondere können Bediener
darauf beschränkt
sein, Alarme einer bestimmten Kategorie, eines bestimmten Typs, einer
bestimmten Priorität,
etc. zu sichten, oder können
darauf beschränkt
sein, Alarme aus einem Abschnitt oder Teilabschnitt (z.B. und Bereich)
der Anlage zu sichten. Die Diagnoseanwendung 82 filtert auch
Alarme zur Anzeige basierend auf der Bedienerfreigabe heraus. Diese
Filtereinstellungen über Arbeitsplatzrechner
und Bediener werden hier als Steuerungen im Rahmen des Arbeitsplatzrechners und
Bedieners bezeichnet und können
Sicherungsleistungsmerkmale umfassen, die es bestimmten Bedienern
ermöglichen,
Prozesssteuerungs- und/oder Sicherheitssystemalarme
zu sichten und zu bearbeiten.
-
Die
Diagnoseanwendung 82 kann auch die darstellbaren Alarme
(d.h. diejenigen, die in die Steuerungen im Rahmen des Arbeits platzrechners
und Bedieners fallen) basierend auf bedienerkonfigurierbaren Einstellungen
filtern, die beispielsweise die Alarmkategorie (z.B. Prozess-, Geräte- oder
Hardwarealarm), Alarmtypen (Kommunikation, Ausfall, Beratung, Wartung,
etc.), die Priorität
des Alarms, den Modul, das Gerät,
die Hardware, den Knoten oder Bereich, die der Alarm betrifft, umfassen,
ob der Alarm quittiert oder unterdrückt wurde, ob der Alarm aktiv
ist, ob der Alarm ein Sicherheitssystem- oder Prozesssteuerungssystemalarm
ist, etc.
-
Mit
erneutem Bezug auf 4 ist
die Diagnoseanwendung 82 so dargestellt, dass sie in einem der
Arbeitsplatzrechner 16 von 1 ausgeführt wird,
welcher auch Kommunikationssoftware wie eine Kommunikationsschicht
oder einen Kommunikationsstapel 262 speichert und ausführt, die/der
mit den Steuerungen 24 und 26 über die Ethernetverbindung 22 kommuniziert,
um Signale zu empfangen, die von den Steuerungen 24 und 26,
den Sicherheitslogikmodulen 50 – 56, den E/A-Geräten 28 – 36,
den Feldgeräten 40, 42, 60 und 62 und/oder
weiteren Arbeitsplatzrechnern 16 verschickt werden. Die
Kommunikationsschicht 262 formatiert auch Nachrichten ordnungsgemäß, die an
die Steuerungen, E/A-Geräte,
Feldgeräte,
Sicherheitslogiklöser
und andere Arbeitsplatzrechner als Alarmquittierungssignale verschickt
werden sollen. Die Kommunikationssoftware kann irgendeine bekannte
oder beliebige Kommunikationssoftware sein, die gegenwärtig beispielsweise mit
Ethernetverbindungen verwendet wird. Natürlich kann der Kommunikationsstapel 262 an
andere Software gekoppelt werden, welche andere Funktionen wie Konfigurationsanwendungen,
Diagnose- oder andere Prozessanwendungen, Datenbankverwaltungsanwendungen,
etc., durchführt,
die innerhalb des Arbeitsplatzrechners 16 ablaufen.
-
Die
Diagnoseanwendung 82 von 4 umfasst
eine Alarmverarbeitungseinheit 264, welche Alarme von der
Kommunikationsschicht 262 empfängt, decodiert diese Alarme
und kann die decodierten Alarme in einer Datenbank 266 speichern.
Die Diagnoseanwendung 82 umfasst auch ein Filter 268, welches
die Alarmverarbeitungseinheit 264 verwendet, um zu bestimmen,
welche Alarme auf einer mit dem Arbeitsplatzrechner 16 zusammenhängenden Benutzeroberfläche (wie
einem CRT-, LCD-, LED-, Plasmadisplay, einem Drucker, etc.) angezeigt
werden sollen. Das Filter 268 kann Einstellungen haben, die
in der Datenbank 266 gespeichert sind, und diese Filtereinstellungen
können
vorkonfiguriert sein und/oder sind durch einen Benutzer basierend
auf dessen Präferenzen
veränderbar.
-
Allgemein
können
die Filtereinstellungen die Alarmkategorie und -priorität steuern
und, falls gewünscht,
die Reihenfolge der anzuzeigenden Alarme festlegen, indem eine Anzahl
unterschiedlicher Kriterien angesetzt wird. Zuerst bewirken die
Steuerungen im Umfeld des Arbeitsplatzrechners und Bedieners, was
ein besonderer Bediener sehen kann (welche Alarme an einem bestimmten
Arbeitsplatzrechner angezeigt werden können) basierend auf der Bedienerkennung
und dem Arbeitsplatzrechner, in den der Bediener eingeloggt ist,
ob die Alarme Prozesssteuerungs- oder Sicherheitssystemalarme sind,
etc. In diesem Fall kann jedem Arbeitsplatzrechner eine Operationszulassung
zugeteilt sein und ohne eine Operationszulassung werden die Alarmanzeigen- und
alle Alarmlisten-/Zusammenfassungsanzeigen leer sein, d.h. keine
aktiven oder unterdrückten
Alarme irgendeiner Kategorie (Prozess, Hardware oder Gerät) oder
irgendeiner Herkunft (Prozesssteuerungs- oder Sicherheitssystem)
wird von der Alarmverarbeitungseinheit 264 angezeigt. Noch
weiter darüber
hinaus können
nur Alarme aus einem Anlagenbereich im Umfeld des gegenwärtigen Bedieners
gewählt
werden (für
gewöhnlich
bekommt der Bediener mindestens einen Sicherheitsschlüssel in
dem Anlagenbereich), die in den Alarmanzeigen auf diesem Arbeitsplatzrechner
erscheinen sollen. Auch können nur
Alarme aus einem Anlagenbereich oder einer Anlageneinheit gewählt werden,
der/die nicht „abgeschaltet" wurde, indem der
Anlagenbereichs- oder die Anlageneinheitfilteranzeige(n) wählbar sind,
die in der Alarmanzeige erscheinen sollen. Auf diese Weise verhindert
das Filter 268 zuerst die Anzeige von Alarmen außerhalb
des Arbeitsplatzrechner- und Bedienerumfelds, und von Alarmen aus
Anlagenbereichen oder -einheiten, die vom Bediener abgeschaltet
wurden.
-
Nach
dem Überprüfen der
Alarme auf Übereinstimmung
mit den Steuerungen im Umfeld des Arbeitsplatzrechners und Bedieners
filtert und bestimmt das Filter 268 dann die Anzeigereihenfolge
von Alarmen basierend auf Bedienereinstellungen heraus, welche beispielsweise
die Alarmkategorie, die Priorität
des Alarms, die Alarmart, den Quittierungsstatus des Alarms, den
Unterdrückungsstatus
des Alarms, die Herkunft des Alarms (d.h. aus dem Prozesssteuerungs-
oder Sicherheitssystem), etc. umfassen können. Die eingegangenen Alarme,
welche unter Verwendung von Alarmmeldungen an die Anwendung 82 geschickt
werden, umfassen Parameter für
jeden dieser Werte, und das Filter filtert Alarme zum Anzeigen,
indem die geeigneten Parameter der Alarme mit den Filtereinstellungen
verglichen werden. Die Alarmverarbeitungseinheit 264 kann
die Herkunft des Alarms basierend auf der Adresse, von der der Alarm stammt,
einem Feld in der Alarmmeldung, etc. erfassen. Während der Bediener die Anzeigereihenfolge der
Alarme, welche vom Filter 268 durchgelassen werden, festlegen
kann, kann die Reihenfolge aber auch durch vorkonfigurierte Einstellungen
bestimmt werden, was zu einer konsistenteren Anzeige der unterschiedlichen
Alarme führt.
-
Auf
jeden Fall kann der Bediener die Art und Weise kundenspezifisch
anpassen, mit der Alarme basierend auf der Herkunft und/oder den
Alarmkategorien, an denen der Bediener oder Benutzer am meisten
interessiert ist, angezeigt werden, welche alle aus einer Alarmkategorie
wie Prozess-, Geräte- oder
Hardwarealarmen oder alle aus einer Herkunft eines Alarms wie ein
Prozesssteuerungs- oder ein Sicherheitssystemalarm oder eine Kombination
von zwei oder mehreren Kategorien und Herkunftsquellen von Alarmen
sein könnten.
Der Benutzer kann auch eine Kontrolle darüber haben, wie die Alarme präsentiert
werden und welche Information mit den Alarmen bereitgestellt wird.
Auf diese Weise kann die Diagnoseanwendung 82 dazu eingesetzt
werden, es einer Einzelperson zu ermöglichen, die Arbeiten eines
Sicherheits- und eines Prozesssteuerungsoperators durchzuführen. Alternativ
kann im selben System zu unterschiedlichen Zeiten ein Prozesssteuerungsoperator
dasselbe System verwenden, um nur die Prozesssteuerungsalarme zu
sichten, während ein
Sicherheitsoperator die Sicherheitsalarme sichten kann. Auf diese
Weise kann ein und dieselbe Diagnoseanwendung (an unterschiedlichen
Arbeitsplätzen)
von unterschiedlichen Arten von Leuten gleichzeitig verwendet werden,
um unterschiedliche Aspekte der Alarme zu sichten, die mit den Arbeitsablauffunktionen
des Prozesssteuerungssystems 12 und des Sicherheitssystems 14 zusammenhängen.
-
Nachdem
die Alarmverarbeitungseinheit 264 das Filter 268 einsetzt,
um zu entscheiden, welcher) Alarme) dem Benutzer über die
Anzeige 269 angezeigt und in welcher Reihenfolge die Alarme
angezeigt werden sollen, stellt die Alarmverarbeitungseinheit 264 diese
Information einer Benutzeranzeigenoberfläche 270 zur Verfügung, welche
irgendein standardmäßiges oder
gewünschtes
Betriebssystem verwendet, um Alarminformation auf irgendeine beliebige
Weise auf der Alarmanzeige 269 anzuzeigen. Natürlich erhält die Benutzeranzeigenoberfläche 270 auch
weitere Information, die sie benötigt,
wie Information über
die Auslegung oder die Konfiguration des Prozesssteuerungssystems 12 oder
des Sicherheitssystems 14, die Parameter- oder Signalwerte
innerhalb dieser Systeme etc., aus der Datenbank 266 oder
aus anderen Kommunikationssignalen, die über die Kommunikationsschicht 262 von
der Prozessanlage her eingehen. Auch empfängt die Benutzeranzeigenoberfläche 270 Befehle
vom Benutzer, der beispielsweise mehr Information über bestimmte
Alarme, Änderungen
an Alarm- oder Filtereinstellungen, neue Alarmanzeigen, etc., abruft,
und liefert diese Information an die Verarbeitungseinheit 264,
die dann die angeforderte Maßnahme
ergreift, die Datenbank 266 auf die Alarminformation, etc.,
hin durchsucht, um dem Benutzer über
die Anzeige 269 einen neue Alarmansicht bereitzustellen.
-
Wie
vorstehend angemerkt, werden die unterschiedlichen Alarmkategorien
und -herkunftsquellen, die Prozesssteuerungs- und Sicherheitsalarme umfassen,
zur potentiellen Anzeige auf der Anzeigevorrichtung 269 in
irgendeinem passenden Nachrichtenformat an die Diagnoseanwendung 82 geschickt und
von dieser empfangen. Im Ergebnis können unterschiedliche Alarmkategorien
und -typen auf derselben Oberfläche
integriert werden, um einem Bediener mehr Information bezüglich eines
fehlerhaften Betriebs des Prozesssteuerungs- und Sicherheitssystems
zu liefern. Mit den hierin beschriebenen integrierten Anzeigen kann
ein Bediener aktuelle Prozesssteuerungs- und Sicherheitssystemalarme
auf ein und derselben Bildschirm- oder Anzeigevorrichtung sichten
und kann jeden dieser Alarme auf dieselbe Weise behandeln.
-
Es
gibt natürlich
viele Wege, wie die unterschiedlichen Prozesssteuerungs- und Sicherheitsalarme
auf integrierte Weise auf einer Benutzeroberfläche angezeigt werden können. In
einer Ausführungsform
können
die Prozesssteuerungs- und Sicherheitsalarme auf eine ähnliche
Weise behandelt werden wie Prozessalarme herkömmlicher Weise auf einer Anzeige
behandelt wurden. Im Ergebnis kann ein Bediener Sicherheitsalarme
genauso quittieren oder unterdrücken,
wie der Bediener Prozesssteuerungsalarme quittiert oder unterdrückt. Gleichermaßen können Prozesssteuerungs-
und Sicherheitsalarme auch so angezeigt werden, dass Art, Priorität, Name,
Abschnitt des Prozesses, Zustand, etc. des Alarms angezeigt wird.
Auch kann dem Bediener eine erste, mit dem Alarm zusammenhängende Anzeige
geboten werden, die dazu ausgelegt ist, den Benutzer dabei zu unterstützen, die
Herkunft des Alarms oder die Funktionalität des mit dem Alarm zusammenhängenden
Hard- oder Softwareelements nachzuvollziehen oder zu sehen, wie
etwa das Modul, die Prozessschleife, das Gerät, den Knoten, den Bereich,
etc., wofür
der Alarm generiert wurde oder womit der Alarm zusammenhängt. Eine
erste Anzeige kann beispielsweise ein physikalisches Bild eines Gerätes sein,
ein digitales Bild oder eine digitale Zeichnung des Raums oder Bereichs,
in dem sich ein Gerät
befindet, oder eine andere mit dem Gerät zusammenhängende Information wie etwa
ein Teil einer Anlagenzeichnung, eine Schema- oder Konzeptzeichnung,
die die Verbindungen zwischen dem Gerät in der Anlage während der
Implementierung, etc. zeigt. Erste Anzeigen für Alarme können von Benutzern erstellt
werden und können
beispielsweise auf Module (für
Prozessalarme), Geräte
(für Gerätealarme)
und auf Knoten (für
Hardwarealarme) oder auf Bereiche oder Abschnitte der Anlage ausgerichtet sein,
die mit dem Alarm zusammenhängen.
Die ersten Anzeigen können
auch auf verschiedene Funktionen gelenkt sein. Beispielsweise können Prozessalarmanzeigen
auf Prozessbetriebsfunktionen ausgerichtet sein, erste Gerätealarmsteue rungsanzeigen können auf
Feldgerätewartungsfunktionen
ausgerichtet sein, und erste Hardwaresteuerungsanzeigen können auf
Knotenwartungsfunktionen ausgerichtet sein. Erste Anzeigen für Hardwarealarme
können beispielsweise
Bilder der Stelle sein, wo sich die Steuerung befindet, schematische
Darstellungen der E/A-Hardware der Steuerung, wobei alle Hardwarealarmzustände angegeben
sind, Tasten, um zur Übersicht über die
Einheit zu navigieren oder erste Anzeigen, die eine Steuerung unterstützt, Wartungsvorgangsprüflisten,
etc. Gleichermaßen
können
erste Anzeigen für
Gerätealarme
von Benutzern erstellt werden und können beispielsweise auf Gerätewartungsfunktionen
ausgerichtet sein. Die ersten Anzeigen können in der Datenbank 266 (4) gespeichert werden, und
auf der Anzeige 269 kann auf sie zugegriffen und können sie
dargestellt werden, wenn ein Alarm ausgewählt wird, der die erste Anzeige
verwendet. Natürlich
kann dieselbe erste Anzeige oder können unterschiedliche erste
Anzeigen für
unterschiedliche Alarme verwendet werden.
-
In
einer Ausführungsform
wird die integrierte Alarminformation einem Benutzer auf einer Anzeige in
Form eines Alarmbanners an beispielsweise einem Rand einer Bildschirmmaske
angezeigt. Nun befindet sich mit Bezug auf 5 das Alarmbanner 273 unten
auf dem Bildschirm. Das Alarmbanner 273 umfasst eine erste
Zeile, die Anzeigen verschiedener Alarme anzeigt, die vom Prozesssteuerungssystem 12 und
dem Sicherheitssystem 14 erzeugt wurden, und die über das
Filter 268 zur Anzeige gelangt sind. Mindestens einer der
im Alarmbanner 273 angezeigten Alarme kann mit dem Abschnitt
bzw. Teil des Prozesssteuerungs- und
Sicherheitssystems zusammenhängen,
der in der ersten Anzeige 271 dargestellt ist. Die speziellen
im Alarmbanner 273 angezeigten Alarme und deren Reihenfolge
werden entsprechend der Filtereinstellungen des Filters 268 bestimmt.
Allgemein ausgedrückt
werden die Alarme mit der höchsten
Priorität,
welche nicht quittiert oder unterdrückt wurden, zuerst angezeigt,
wobei die Alarme mit der nächst
höchsten
Priorität
als nächstes
angezeigt werden, usw. Im Bildschirmmaskenbeispiel von 5 ist der Alarm 274 mit
der höchsten
Priorität ein
Prozesssteuerungsalarm, der als mit einer Steuerungsroutine mit
dem Namen PID101 zusammenhän gend
dargestellt ist. Der Alarm 274 ist rot dargestellt, um
zu veranschaulichen, dass seine Priorität kritisch ist. Auf der zweiten
Zeile des Alarmbanners 273 zeigt ein Alarminformationsfeld 276 eine
mit dem aktuell ausgewählten
Alarm im Alarmbanner 273 zusammenhängende Information an. Im Beispiel
von 5, bei dem der Prozesssteuerungsalarm 274 ausgewählt ist,
zeigt das Alarminformationsfeld 276, dass der Alarm 274 am
Freitag um 12:52:19 ausgewählt
wurde, mit der „Füllstandssteuerung
von Tank 16" („tank 16
level control")
zusammenhängt,
eine Bezeichnung oder einen Namen PID101/HI_HI_ALM hat, eine sehr
hohe Priorität
aufweist und ein kritischer Alarm ist. Blinkt der Alarm 274,
bedeutet dies, dass er nicht quittiert wurde, während eine konstante (nicht
blinkende) Alarmanzeige im Alarmbanner 273 bedeutet, dass
der Alarm von irgendeinem Bediener oder Benutzer quittiert wurde.
Natürlich
könnten
auch andere Arten von Alarminformation auf dem Alarminformationsfeld 276 angezeigt
werden.
-
Natürlich könnten andere
Alarmanzeigen im Alarmbanner 273, wie etwa der Alarmhinweis 278, ein
Sicherheitssystemalarm sein, der mit den Sicherheitssystemgeräten in einem
relevanten Bereich oder Abschnitt der Prozessanlage zusammenhängt. Dieser
Sicherheitssystemalarm kann irgendeine Art von Alarm sein, einschließlich eines
Prozessalarms (der von den Sicherheitslogikmodulen generiert wird),
eines Hardwarealarms (der von einem Sicherheitslogiklöser generiert
wird) und eines Gerätealarms
(der von einem der Feldgeräte 60, 62 des
Sicherheitssystems generiert wird). Diese anderen Alarmanzeigen
könnten
andersfarbig sein, wie gelb, purpurrot, etc., um andere Grade von
Bedeutung oder Priorität
bei dem Alarm oder andere Herkunftsquellen des Alarms anzuzeigen.
Wird ein anderer Alarm ausgewählt,
wie etwa der Alarm 278, 280, 281 oder 282,
würde eine
diesen Alarm betreffende Alarminformation im Alarminformationsfeld 276 angezeigt.
Durch das Sichten eines Alarms im Alarmbanner 273 kann
ein Bediener den Alarm quittieren und das Wartungs- oder Technikpersonal
auffordern, die geeigneten Maßnahmen
zu ergreifen, um den Umstand, der zum Alarm führte, zu korrigieren, oder
andere geeignete Maßnahmen
im Prozesssteuerungs- oder Sicherheitssystem zu ergreifen, wie etwa
bestimmte Sollwerte neu einzustellen, um den Alarmzustand abzumildern.
Wenn sie nur zur Anzeige von Prozesssteuerungsalarmen verwendet
wird, ist die Anzeige von 5 ähnlich einer
bekannten Bedieneranzeige, die gegenwärtig im DeltaV-Steuerungssystem
vorgesehen ist. Dennoch wird klar, dass die Alarmanzeige von 5 die Anzeige und Steuerung sowohl
von Prozesssteuerungs- als auch Sicherheitssystemalarmen integriert.
-
Wie
vorstehend angegeben, wird durch das Auswählen eines der Alarme im Alarmbanner 273 (wie
etwa des Alarms 274) eine erste Anzeige 271 für diesen
Alarm geboten. Insbesondere umfasst, wie in 5 gezeigt, der Hauptteil der Bildschirmmaske eine
erste Anzeige 271 oder Veranschaulichung der betreffenden
Hardware, die mit einem bestimmten Alarm (einem ausgewählten Alarm)
in der Prozessanlage zusammenhängt.
Im Beispiel von 5 umfasst
die Hardware drei Tanks, die über
verschiedene Ventile und Fluidströmungsleitungen zusammen mit verschiedenen
daran befestigten Sensoren miteinander verbunden sind. Die Hardwareveranschaulichung
ist eine Darstellung der Ausrüstung
in einem Teil der Prozessanlage und liefert eine bestimmte Information über den
Betrieb eines Teils der Ausrüstung
wie etwa bestimmte Werte oder Parameter, die mit dem Tank, den Sensoren,
etc. zusammenhängen.
Die dargestellte Ausrüstung
kann Prozesssteuerungs- und/oder Sicherheitssystemausrüstung sein. Natürlich kann
ein Teil dieser Information durch in der Datenbank 266 gespeicherte
Konfigurationsinformation oder Signale aus den Sensoren im Prozesssteuerungs-
und Sicherheitssystem bereitgestellt werden. Im letzteren Fall wird
eine solche Information nach oben durch die Kommunikationsschicht 262 geschickt
und der Benutzeranzeigenoberfläche 270 über irgendeine
bekannte oder gewünschte
Software zur Verfügung
gestellt.
-
Auch
ist, wie in 5 dargestellt,
eine Frontplatte 272, die ein „virtuelles Instrument" veranschaylicht,
für eine
PID-Steuereinheit (ein PID-Steuereinheitsmodul) als zusätzliche
Information für
einen der Alarme (in diesem Fall dem Prozesssteuerungsalarm 274)
im Alarmbanner dargestellt. Die Frontplatte 272 liefert
eine weitere, den ausgewählten
Prozesssteuerungsalarm betreffende Information und kennzeichnet
den Namen der Steuereinheit (des Moduls PID101) und bestimmte Einstellungen
oder Parameter, die mit diesem Modul zusammenhängen. Das Erstellen einer solchen
bildlichen Beschreibung des Prozesses wird heutzutage für Prozesssteuerungsalarme
eingesetzt und ist im Stande der Technik bekannt, und wird deshalb
nicht im Einzelnen beschrieben. Es genügt, zu erwähnen, dass diese oder irgendeine
andere beliebige bildliche oder nicht bildliche Beschreibung eines
Teils oder der ganzen Prozessanlage auf dem Bildschirm dargestellt
werden kann, damit ein Benutzer, wie etwa ein Bediener, die Betriebs-
oder Hardwarefunktion jedes Teils der Prozessanlage, einschließlich der
Prozesssteuerungs- und Sicherheitssystementitäten ansehen kann. Die Anzeigen
können
natürlich
einzelne Hardwareeinheiten, verwandte Hardwaregruppen, Blockschemata oder
andere Schemata von Teilen oder Bereichen von Anlagen etc. veranschaulichen
oder anderweitig darstellen.
-
Wieder
mit Bezug auf 4 kann
die Diagnoseanwendung 82 ein Steuerungsroutine 290 zum Zusammenfassen
aktiver Alarme und eine Steuerung 292 zum Zusammenfassen
unterdrückter
Alarme umfassen. Diese Routinen können dazu eingesetzt werden,
einem Benutzer Anzeigen bereitzustellen, die eine Zusammenfassung
der momentan im System aktiven oder unterdrückten Alarme darstellt. Natürlich können diese
Zusammenfassungen geordnet und auf der Anzeige 269 auf
jede Art und Weise dargestellt werden, wobei vorausgesetzt wird,
dass diese Zusammenfassungen Prozesssteuerungs- und Sicherheitssystemalarme
zusammen in einer Anzeige oder Liste oder, falls gewünscht, separat
zusammenfassen können.
Natürlich
kann die Diagnoseanwendung 82 auch eine Sicherungsroutine 294 umfassen,
das die geeigneten Sicherungsprozeduren bei der Entscheidung bewerkstelligt,
ob ein Benutzer irgendeinen speziellen Alarm sichten und bearbeiten darf.
Insbesondere kann die Sicherungsroutine 294 einen Satz
von Regeln implementieren, die dazu ausgelegt sind, zu steuern,
welche Benutzer Prozesssteuerungs- und/oder Sicherheitssystemalarme sichten
dürfen,
und welche Benutzer diese Alarme bearbeiten dürfen, indem sie sie quittieren,
unterdrücken, etc.
Auf diese Weise kann die Sicherungsanwendung 294 einen
bestimmten Benutzer in die Lage versetzen, bestimmte Prozesssteuerungs alarme,
aber keine Sicherheitssystemalarme zu quittieren oder zu unterdrücken, kann
es einem anderen Benutzer erlauben, bestimmte Sicherheitssystemalarme
aber keine Prozesssteuerungssystemalarme zu quittieren oder zu unterdrücken, und
kann es einem weiteren Benutzer erlauben, beide Alarmarten zu quittieren
oder zu unterdrücken.
Natürlich
können
bestimmte Regeln oder Rechte zum Sichten der Prozesssteuerungs- und
Sicherheitssystemalarme, zum Quittieren dieser Alarme, zum Unterdrücken dieser
Alarme, etc. festgelegt und durchgesetzt werden. Falls gewünscht, können verschiedenartige
Alarme so zusammen angezeigt werden, dass beispielsweise Sicherheitsgerätealarme
mit Prozesssteuerungsgerätealarmen
angezeigt werden können,
Sicherheitsprozessalarme mit Prozesssteuerungssystemprozessalarmen
angezeigt werden, und Sicherheitshardwarealarme mit Prozesssteuerungssystemhardwarealarmen
angezeigt werden können.
Natürlich
können
diese unterschiedlichen Alarme zusammen oder separat gesichtet werden,
basierend auf den Arten und Herkunftsquellen der Alarme oder irgendeiner
Kombination von diesen.
-
Noch
weiter darüber
hinaus werden Sicherheitsalarme und -ereignisse zusammen mit den
Prozessalarmen und -ereignissen in derselben Datenbank elektronisch
gespeichert, wobei jeder/jedes beim Einspeichern in die Datenbank
zeiterfasst wird. Im Ergebnis wird eine zeiterfasste, zeitlich gestaffelte Aufzeichnung
von Prozessalarmen und -ereignissen mit einer zeiterfassten, zeitlich
gestaffelten Aufzeichnung von Sicherheitsalarmen und -ereignissen
zusammengefasst, und diese integrierte Zusammenfassung kann dazu
verwendet werden, die Interaktion zwischen dem Prozesssteuerungssystem 12 und dem
Sicherheitssystem 14 basierend auf den darin stattfindenden
Alarmen und Ereignissen noch leichter zu überblicken und zu bestimmen.
-
Es
ist klar, dass die Diagnoseanwendung 82 dieselben wie oben
im Hinblick auf die Konfigurationsanwendung 80 beschriebenen
Benutzer-Accounts und -Rechte verwenden kann, um verschiedene Diagnose-
oder Alarmsichtungszugriffsrechte zu definieren, wobei diese Rechte
so eingestellt werden können,
dass verschiedene Benutzerein heiten basierend auf der Art des Alarms,
der Herkunft des Alarms (Prozesssteuerung oder Sicherheitssystem), etc.,
Alarme ansehen, quittieren, abschalten (freigeben/sperren) können. Wie
klar wird, können
manche Benutzer nur Prozesssteuerungssystemalarme, nur Sicherheitssystemalarme
oder einige oder alle von beiden ansehen, quittieren oder abschalten.
Noch weiter darüber
hinaus können
Präferenzen
mit jedem Benutzer-Account verbunden sein, um es der Diagnoseanwendung 82 (z.B.
Alarmsichtung) zu ermöglichen,
basierend darauf, welche Benutzereinheit auf die Anwendung 82 zugreift,
automatisch unterschiedliche Ansichten, Filtereinstellungen, etc.
bereitzustellen.
-
Während eine
integrierte Anwendung zum Sichten von Alarmen (und Warnungen) als
ein Beispiel für
eine integrierte Diagnoseanwendung 82 erörtert wurde,
könnten
genauso auch andere Arten von integrierten Diagnoseanwendungen verwendet werden.
Insbesondere könnte
eine Diagnoseanwendung 82 eine hierarchische Ansicht der
Bereiche, Einheiten, Geräten,
Steuerungen, Module, Logikeinheiten, etc. in der Anlage bieten,
um es einem Benutzer zu ermöglichen,
jede in der Anlage enthaltene Diagnoseinformation zu erhalten, wie
etwa diejenige, die in den Geräten
oder der Ausrüstung
in der Anlage enthalten ist. Solch eine hierarchische Ansicht kann ähnlich der
Konfigurationsansicht von 3 sein aber
unterschiedliche Geräte,
Module, etc. für
das Prozesssteuerungs- bzw. Sicherheitssystem darstellen, das mit
unterschiedlichen Bereichen, Einheiten etc. zusammenhängt. Unter
Verwendung dieser Ansicht könnte
sich ein Benutzer in einen Prozessbereich, eine Einheit, etc. vorarbeiten,
um zu einem Prozesssteuerungssystemgerät, -modul, -funktionsblock,
etc. (und/) oder zu einem Sicherheitssystemgerät, -modul, -funktionsblock,
etc. zu gelangen. An jedem Punkt in der Ansicht kann der Benutzer
in der Lage sein, auf die gegenwärtig
verfügbaren
Diagnosedaten aus dem oder über
das Gerät,
das Modul, Funktionsblock, etc. zuzugreifen oder sie anzusehen, einschließlich der
Diagnosedaten, die vom Gerät, Modul,
Funktionsblock, etc. selbst generiert werden, oder Diagnosedaten,
die von anderen Werkzeugen wie Eich- und Prüfwerkzeugen (die Hard- und
Softwaretools sein können)
für diese
Entität
bestimmt werden. Diese Diagnosedaten können Gesundheits-, Modus- und
Statusdaten, momentane Einstellungen oder Betriebsparameterdaten
oder irgendwelche andere Daten umfassen, die von der Ausrüstung her
zur Verfügung
stehen. Auf diese Weise kann der Benutzer die Diagnoseanwendung 82 dazu
verwenden, um ein organisiertes und integriertes Verständnis des
gegenwärtigen
Zustands und der gegenwärtigen
Gesundheit sowohl der Prozesssteuerungssystem- als auch der Sicherheitssystemausrüstung zu
erlangen, und um über
eine gemeinsame Anwendung und sogar über eine gemeinsame Bildschirmanzeigemaske Zugriff
zu allen Diagnosedaten in der Anlage zu erhalten.
-
Zusätzlich kann
eine solche Diagnoseanwendung 82 zusammenfassende Ansichten
bereitstellen, die Diagnosedaten von der Prozesssteuerungssystem – und/oder
Sicherheitssystemausrüstung
enthalten. Noch weiter darüber
hinaus können die
integrierten Ansichten vorgerollt werden, so dass Diagnosedaten
für eine
Einheit, einen Bereich, etc. auf eine zusammenfassende oder kombinierte
Weise angesehen werden können
und so, dass eine Gesamtintegrität
zu diesem Bereich, dieser Einheit, etc. bestimmt werden kann, indem
die Diagnosedaten von sowohl der Prozesssteuerungssystem – als auch der
Sicherheitssystemausrüstung
in diesem Bereich, dieser Einheit, etc. verwendet werden. Falls
gewünscht,
können
auch Diagnosewerkzeuge in dieser Diagnoseanwendung gespeichert und
von ihr aus implementiert werden. Beispielsweise kann eine Regelschleifenabstimmvorrichtung
(die beispielsweise entweder in einer Sicherheitssystem- oder einer
Prozesssteuerungssystemregelschleife eingesetzt werden kann) in
der Diagnoseanwendung 82 gespeichert werden oder von dieser
betrieben werden. Ein Benutzer kann auswählen, dieses Werkzeug zu benutzen,
wenn Diagnosedaten über
eine Regelschleife oder ein Steuermodul anzeigen, dass ein Regelkreis
schlecht abgestimmt ist oder nicht innerhalb von Solltoleranzen
arbeitet. Andere Diagnosewerkzeuge können Eich- und Prüfwerkzeuge
umfassen, die an irgendwelchen Arten von Geräten, Logikmodulen, etc. eingesetzt
werden.
-
Noch
weiter darüber
hinaus kann eine gemeinsame Sicherungsanwendung in einem Arbeitsplatzrechner 16 (1) ablaufen, um eine Sicherheit für diesen
Arbeitsplatzrechner bereitzustellen, wodurch ein Benutzer sich nur
einmal (z.B. über
einen Benutzer-Account) in den Arbeitsplatzrechner einloggen und
verschiedene Anwendungen ablaufen lassen kann, um das Prozesssteuerungssystem 12 und/oder
das Sicherheitssystem 14 beispielsweise zu konfigurieren/in
Betrieb zu nehmen, herunterzuladen, zu sichten und betreiben (d.h.
Parameterwerte einzuschreiben), basierend auf den Rechten, die der Benutzereinheit
und dem Arbeitsplatzrechner 16 zugeteilt wurden. Diese
Integration von Anwendungen über
eine gemeinsame Sicherungsanwendung ermöglicht es Benutzern, die kombinierte
Funktionalität (z.B.
dass es einen Platz zum Konfigurieren von Alarmprioritäten, Sicherheit,
etc. gibt) leichter handhaben zu können, und macht es für Benutzer
auch einfacher, das System zu erweitern, das System zu modifizieren
(weil keine Übertragungen
erforderlich sind, um das System zu überarbeiten), und das System
zu aktualisieren (weil eine einzige, koordinierte Aktualisierungsstrategie
sowohl für
das Prozesssteuerungs- als auch Sicherheitssystem eingesetzt werden
kann). Überdies
können
Benutzer die Aktualisierung der Geräte, des Steuersystems und des
Sicherheitssystems je nach Bedarf im Ganzen oder in Teilen vornehmen.
Darüber
hinaus brauchen Benutzer die unterschiedlichen Teile des Systems
nicht separat zu prüfen
und zu hoffen, dass alles zusammenspielt, wenn alle Teile eingebaut
sind, weil die integrierte Natur des Systems es ihnen ermöglicht,
alles zusammen zu konfigurieren, zu prüfen und zu diagnostizieren.
-
6 stellt eine Sicherungsanwendung 300 dar,
die in einem der Arbeitsplatzrechner 16 von 1 angeordnet ist, der automatisch
Sicherheitsvorgänge
an Maßnahmen
(wie Lese- und Schreibvorgängen)
vornehmen kann, die im integrierten Prozesssteuerungs- und Sicherheitssystem
von 1 basierend darauf
ergriffen werden, ob die Maßnahme (z.B.
der Lese- oder Schreibvorgang) mit einem Prozesssteuerungssystem-
oder einem Sicherheitssystemgerät
zusammenhängt.
Obwohl diese Sicherungsanwendung 300 als eine freistehende
Anwendung dargestellt ist, kann diese Anwendung natürlich auch
in irgendwelche andere Anwendungen eingebaut sein, die in den Bedienerarbeitsplatzrechnern 16 (oder
irgendwelchen anderen Computern) von 1 zum Einsatz
kommen, um sicherzustellen, dass Auslesevorgänge aus dem oder Einschreibvorgänge in das
Sicherheitssystem 14 (und, falls gewünscht, das Prozesssteuerungssystem 12)
auf eine gesicherte Weise stattfinden. Obwohl die Sicherungsanwendung 300 als
ein Teil (z.B. ein Unterprogramm bzw. Subroutine) der zuvor erörterten
Konfigurationsanwendung 80 und Diagnoseanwendung 82 verwendet
werden kann, kann sie auch in jeder Benutzeroberflächenanwendung 85 eingesetzt
werden, die es einem Benutzer ermöglicht, Änderungen am oder Einschreibvorgänge in das
Prozesssteuerungs- oder Sicherheitssystem vorzunehmen oder eine
Information über
diese Systeme zu sichten. Auch kann die Sicherungsanwendung 300 natürlich auch
die vorstehend im Hinblick auf die Konfigurations- und Diagnoseanwendungen 80 und 82 erörterten
Benutzer-Accounts
und Zugriffsrechte festlegen und durchsetzen.
-
Die
Sicherungsanwendung 300 ist in 6 so dargestellt, dass sie kommunikativ
zwischen einer Kommunikationsschicht 262 und einer Benutzeranzeigenoberfläche 270,
wie etwa derjenigen, die vorstehend mit Bezug auf 4 erörtert
wurden, im Arbeitsplatzrechner 16 eingebunden ist und eine
Sicherheitsverarbeitungseinheit 301 umfasst, die Sicherheitsprozeduren
im Hinblick auf irgendwelche gewünschten
Auslese- oder Einschreibvorgänge
aus oder in das Prozesssteuerungssystem 12 oder das Sicherheitssystem 14 vornimmt.
Die Sicherungsanwendung 300 kann einen Satz von Sicherheitssystemregeln 302 und
einen Satz von Prozesssteuerungssystemregeln 304 speichern,
welche die Arten und die Natur der Sicherheit definieren, die für Auslesevorgänge aus
dem und Einschreibvorgänge
in das Sicherheitssystem 14 bzw. Prozesssteuerungssystem 12 zum
Tragen kommen sollen. Die Sicherheitsverarbeitungseinheit 301 kann
mit der Benutzeranzeigenoberfläche 270 zusammenarbeiten,
um Anforderungen nach Auslesevorgängen aus oder Einschreibvorgänge in Elemente
im Prozesssteuerungssystem 12 und Sicherheitssystem 14 zu
erfassen.
-
Basierend
auf Information aus der Benutzeranzeigenoberfläche 270, die einen
angeforderten Lese- oder Schreibvorgang betrifft, kann die Sicherheitsverarbeitungseinheit 301 eine
Herkunfts-/Be stimmungsableitungsdatei 306 verwenden, um
zu bestimmen, ob der angeforderte Lese- oder Schreibvorgang ein
Element (oder einen Parameter) des Prozessteuerungssystems oder
ein Element (einen Parameter) des Sicherheitssystems betrifft. Die
Herkunfts-/Bestimmungsableitungsdatei 306 kann auf einfache
Weise Information darüber
bereitstellen, welche Felder in der von der Benutzeroberfläche erzeugten
Anzeige welchen Elementen in der Prozessanlage entsprechen, und
kann, falls gewünscht,
die Identifizierungskennzeichen oder Adressen speichern, die mit
Bestimmungen von Anzeigefeldern in der Anzeige auf der Benutzeroberfläche zusammenhängen, um
dadurch zu ermöglichen,
dass die Sicherheitsverarbeitungseinheit 301 bestimmen
kann, ob sich eine besondere Maßnahme
oder Abfrage auf der Benutzeranzeige auf ein Prozesssteuerungs- oder
Sicherheitssystemelement bezieht. Nötigenfalls kann die Sicherheitsverarbeitungseinheit 301 statt dessen
auch Konfigurationsinformation verwenden, die in einer Konfigurationsdatenbank
gespeichert ist, um zu bestimmen, ob ein bestimmtes Element ein
Sicherheitssystem- oder ein Prozesssteuerungssystemelement ist.
Auf jeden Fall kann, nachdem bestimmt wurde, ob eine angeforderte
Maßnahme
ein Prozesssteuerungssystem- oder ein Sicherheitssystemelement betrifft
(und allgemein ausgedrückt, nachdem
die Adresse oder das Kennzeichen bestimmt wurde, die/das mit einem
angeforderten Auslesevorgang aus oder Einschreibvorgang in solch
ein Element verbunden ist), die Sicherheitsverarbeitungseinheit 301 auf
die Sicherheitsregeln 302 oder die Prozesssteuerungsregeln 304 zugreifen,
um zu bestimmen, ob ein solcher Lese- oder Schreibvorgang gestattet
ist, und, falls dem so ist, irgendwelche Sicherheitsprozeduren im
Hinblick auf einen solchen Lese- oder Schreibvorgang durchführen bzw.
implementieren.
-
Beispielsweise
kann ein Benutzer unter Verwendung der Benutzeranzeige 269 anfordern,
einen Parameter in einem Sicherheitssystemgerät wie etwa einen Sollwert,
der mit dem Erfassen eines Fehlerzustands zusammenhängt, zu ändern. Die
Sicherheitsverarbeitungseinheit 301 bestimmt dann (für gewöhnlich zusammen
mit oder als Teil der Anwendung, die dazu ausgelegt ist, solche
Schreibvorgänge
freizu geben) die Bestimmung des Schreibvorgangs, indem sie die Adresse
oder das Identifizierungskennzeichen des Parameters bestimmt, für den ein
Schreibvorgang angefordert wird. Solch eine Adresse oder solch ein
Identifizierungskennzeichen kann in der Herkunfts-/Bestimmungsableitungsdatei 306 gespeichert
oder davon abgeleitet werden. Basierend auf der Adresse oder dem
Identifizierungskennzeichen bestimmt die Sicherheitsverarbeitungseinheit 301,
ob die Anfrage an einen Sicherheitssystem- oder einem Prozesssteuerungssystemparameter
gerichtet ist. Ist die Anfrage an einen Sicherheitssystemparameter
gerichtet, verwendet die Sicherheitsverarbeitungseinheit 301 die
Regeln in der Sicherheitsregeldatenbank 302, um zu bestimmen,
ob dieser Schreibvorgang gestattet ist, d.h., ob der Benutzer die
geeignete Berechtigung hat, den Einschreibvorgang in die Einheit
vorzunehmen. In manchen Fällen
kann es sein, dass die Benutzeroberflächenanwendung die Identität des Benutzers
bereits kennt und die Einschreibmöglichkeit des Benutzers zeitlich
früher
anzeigt, indem sie Abschnitte des Benutzeroberflächenbildschirms grau darstellt,
in die der Benutzer nicht einschreiben kann. In anderen Fällen kann
die Benutzeroberflächenanwendung
bei der Anforderung der Sicherheitsverarbeitungseinheit 301,
den Benutzer auffordern, ein Passwort oder eine Benutzerkennung
einzugeben, und kann diese nach der richtigen Berechtigung überprüfen, bevor
der angeforderte Schreibvorgang stattfindet.
-
Richtet
sich der angeforderte Schreibvorgang andererseits an ein Prozesssteuerungssystemgerät, kann
die Sicherheitsverarbeitungseinheit 301 auf Regeln (oder
Zugriffsberechtigungen) in der Prozesssteuerungsregeldatenbank 304 zugreifen,
um zu bestimmen, ob der Benutzer im Prozesssteuerungssystem die
geeignete Berechtigung hat, um den angeforderten Schreibvorgang
vorzunehmen. Selbstverständlich
kann die Sicherheitsverarbeitungseinheit 301 dieselben
oder unterschiedliche Sicherheitsregeln für Lese- und Schreibvorgänge sowie
dieselben oder unterschiedlichen Sicherheitsregeln für Maßnahmen
an Prozesssteuerungssystem- und Sicherheitssystemelementen durchsetzen.
Jedenfalls lässt
die Sicherheitsverarbeitungseinheit 301, wenn sie bestimmt,
dass der Benutzer (was eine Anwendung zusätzlich zu einer Person, die
eine Benutzeroberfläche
verwendet, sein kann) die geeignete Berechtigung für den angeforderten
Lese- oder Schreibvorgang hat, die Kommunikationsschicht 262 eine geeignete
Lese- oder Schreibnachricht an das Prozesssteuerungs- oder Sicherheitssystemgerät schicken.
Zusätzlich
kann die Sicherheitsverarbeitungseinheit 301 irgendwelche
anderen Sicherheitsprozeduren (wie sie in den Regeldatenbänken 302 oder 304 gespeichert
sind), wie etwa Schreibüberprüfungsprozeduren,
implementieren, die für
einen Lese- oder Schreibvorgang erforderlich sind.
-
7 stellt einen einfachen
Anzeigebildschirm 320 dar, der eine Benutzeroberfläche zeigt, die
es einem Benutzer ermöglicht,
Auslesevorgänge aus
den und Einschreibvorgänge
in sowohl die Prozesssteuerungssystem- als auch die Sicherheitssystemelemente
vorzunehmen, indem sie die von der Sicherungsanwendung 300 bereitgestellte
Sicherheit verwendet. Insbesondere hängt die linke Seite des Anzeigebildschirms 320 mit
Auslese- und Einschreibvorgängen
des Prozesssteuerungssystems für
ein bestimmtes Prozesssteuerungssystemelement zusammen, während die
rechte Seite des Bildschirms 320 mit Auslese- und Einschreibvorgängen des
Sicherheitssystems für
ein bestimmtes Sicherheitssystemelement zusammenhängt.
-
Wie
aus 7 ersichtlich wird,
kann ein Benutzer (oder die zugrundeliegende Anwendung) Werte ansehen
(auslesen), die mit einem Prozesssteuerungssystemregelkreis, der
CNTRLOOP1 genannt ist, zusammenhängen,
die verschiedenen Temperatur-, Druck- und Strömungswerte umfassen, die gegenwärtig in
diesem Kreis gemessen werden. Solche Ablesungen können permanent
sein (nicht vom Benutzer veränderbar),
wie in der Anzeige 320 im Bereich 321 dargestellt
ist. Zusätzlich
kann der Benutzer den aktuellen Temperatursollwert und die Reglerverstärkung ansehen,
die im Reglerkreis namens CNTRLOOP1 verwendet wird. Falls gewünscht, kann der
Benutzer diese Werte verändern,
indem er neue Werte in die Felder 322 und 324 eingibt,
die mit dem Temperatursollwert und der Reglerverstärkung zusammenhängen.
-
Auf ähnliche
Weise kann der Benutzer unter Verwendung der Anzeige 320 Information
ansehen und verändern,
die ein Sicherheitssystemelement betrifft. Insbesondere stellt die
rechte Seite des Bildschirms 320 Information dar, die mit
einem Sicherheitssystemkreis zusammenhängt (welcher beispielsweise
mit der Hardware zusammenhängt,
die vom Regelkreis CNTRLOOP1 gesteuert wird). in diesem Fall können bestimmte
Sicherheitssystemwerte wie der momentane Zustand von Abschaltventilen und
Druckschaltern dargestellt werden (wie bei 325 gezeigt
ist). Noch weiter darüber
hinaus können
benutzerkonfigurierbare Sicherheitssystemparameter wie ein Abschaltfüllstand
für einen
Behälter
namens Tank 1 und Abschalttemperaturen für Behälter namens Tank 1 und Tank
2 in den Feldern 326 und 328 gezeigt werden, welche
es zusätzlich
ermöglichen, dass
diese Parameter vom Benutzer verändert
werden können.
-
Allgemein
ausgedrückt
hängt jedes
der Felder im Bildschirm 320 mit einer Adresse oder einem Element
innerhalb des Prozesssteuerungs- oder des Sicherheitssystems zusammen,
und dieser Zusammenhang kann in der Herkunfts-/Bestimmungsableitungsdatei 306 (6) gespeichert werden. Jedenfalls
kann die Sicherungsanwendung von 6 dazu verwendet
werden, sicherzustellen, dass wenn ein bestimmter Benutzer versucht,
einen überschreibbaren
Parameter zu verändern,
dieser Benutzer auch den geeigneten Berechtigungsgrad dazu hat.
Auf diese Weise kann die Sicherungsanwendung 300 auf Parameter
zugreifen und ermöglichen,
dass sie aus dem Prozesssteuerungs- oder dem Sicherheitssystem nur
dann ausgelesen werden können,
wenn der Benutzer oder die anfordernde Anwendung auch die geeignete
Berechtigung oder Genehmigung dazu besitzt. Aufgrund des gemeinsamen
Kommunikationsformats, das Adressen-, Kennzeichen- oder andere Felder
verwendet, um Prozesssteuerungssystem- von Sicherheitssystemelementen
zu unterscheiden, kann die Sicherungsanwendung 300 auf
einfache Weise eine separate Sicherheit für Auslesevorgänge aus
und Einschreibvorgänge
in das Prozesssteuerungssystem und für Auslesevorgänge aus
und Einschreibvorgänge
in das Sicherheitssystem (basierend auf den Feldern im Bildschirm 320)
unterscheiden und implementieren, wodurch ermöglicht wird, dass diese Auslese-
und Einschreibvorgänge
von einer gemeinsamen Benutzeroberflächenanwendung aus erfolgen
können.
Natürlich
kann die Sicherungsanwendung 300 zusammen mit der Benutzeroberflächenanwendung
darauf hinwirken, Bereiche in der Anzeige 320 grau auszulegen,
auf die der Benutzer keine Lese- oder Schreibrechte hat. Während die
Sicherungsanwendung 300 hier so beschrieben ist, dass sie
Sicherheit für
Auslese- und Einschreibvorgänge
aus dem und in das Prozesssteuerungs- und das Sicherheitssystem
(und die darin befindlichen Geräte
oder anderen Entitäten)
bereitstellt, wird klar, dass die Sicherungsanwendung 300 auch
andere Zugriffsebenen für
die unterschiedlichen Anwendungen durchsetzen kann, wie beispielsweise
das Erstellen von Logikmodulen freizugeben oder zu verhindern, Logikmodule
herunterzuladen, Eichprozeduren durchzuführen, Alarme zu sichten, quittieren und
freizugeben/sperren, etc.
-
Wie
klar wird, ist Benutzersicherheit für die Sicherheitssystemwerte
im Vergleich zu den Prozesssteuerungssystemwerten eindeutig definiert, und
es kann ein zusätzlicher
Schutz für
Veränderungen
durch einen On-line-Benutzer für
Sicherheitssystemwerte über
Prozesssteuerungssystemwerte implementiert werden, wobei eine solche
zusätzliche
Sicherheit durch die Sicherheitsregeldatenbank 302 und
die Prozesssteuerungsregeldatenbank 304 (6) festgelegt ist. Es ist nämlich die
Fähigkeit, den
Unterschied zwischen Sicherheitssystem- und Prozesssteuerungssystemwerten
zu erkennen, die es ermöglicht,
dass die eindeutige Handhabung von Sicherheitssystemwerten erzielt
werden kann. Somit kann jede Anwendung, die die Sicherungsanwendung 300 verwendet,
automatisch Auslese- und Einschreibevorgänge aus und in das Sicherheitssystem erkennen
und sicherstellen, dass die richtige Sicherheit und Schreibüberprüfung vorliegt,
um einen Wert in der Prozessanlage 10 zu verändern. Dieses
automatische Verfahren zum Bewerkstelligen gesicherter Einschreibvorgänge kann
eingesetzt werden, um sicherzustellen, dass Schreibwerte, die an
die Sicherheitssteuerung geschickt werden, gültig sind, wodurch eine umfangreiche
Benutzerprogrammierung, die mit anderen Arten von Lösungen erforderlich
ist, entfällt.
-
Als
ein Beispiel für
eine Sicherheitsprozedur, wird ein Verfahren zum Durchführen gesicherter
Einschreibvorgänge
nachstehend ausführlicher
beschrieben. Als Hintergrund erfordert der IEC 61511-Standard, jedes Mal,
wenn eine Änderung
an einem Betriebsparameter eines Sicherheitssystems vorgenommen
wird, einen Bestätigungswiederholungsschritt.
Die Sicherheitsverarbeitungseinheit 301 kann diesen Bestätigungswiederholungsschritt
automatisch implementieren, wenn er in der Sicherheitsregeldatenbank 302 als
Prozedur definiert ist, die für Einschreibvorgänge in das
Sicherheitssystem durchzuführen
ist. Somit kann die Sicherungsanwendung 300 unter Verwendung
der Regeldatenbank 302 einen Bestätigungswiederholungsschritt
(oder irgendeine andere Prozedur) bei allen Einschreibvorgängen in
das Sicherheitssystem ohne zusätzliche Programmierung
oder spezielle Konfiguration seitens eines Benutzers erzwingen.
-
Der
IEC-Standard ist auf eine Weise formuliert, die den Wunsch ausdrückt, einen
Bediener daran zu hindern, das falsche Objekt ändern zu wollen oder die Prozessfolgen
der Veränderung
nicht nachvollziehen zu können,
und zur Verhinderung von Nachrichtenverfälschung beizutragen. Um diesen Standard
durchzusetzen, übernehmen
die meisten integrierten Prozesssteuerungs- und Sicherheitssysteme
Daten aus dem Prozesssteuerungssystem in das Sicherheitssystem und
erstellen dann „bist
du sicher?"-Dialoge
in der Bedienergrafik, bevor eine einzige Nachricht verschickt wird,
die das Sicherheitssystem verändert.
-
Es
wird jedoch nachstehend ein sichereres Verfahren zum Implementieren
eines Leistungsmerkmals des gesicherten Schreibens im Einzelnen
beschrieben, das für
alle Anwendungen wie Arbeitsabläufe,
Konfigurations- und Diagnoseanwendungen verwendet werden kann. Es
wäre festzuhalten,
dass diese Technik oder dieses Leistungsmerkmal auf jede von einem
Benutzer ausgelöste
Veränderung oder
Maßnahme
am Sicherheitslogiklöser,
der von irgendeiner Anwendung aus eingeleitet wurde, angewandt werden
kann, und als solches dazu eingesetzt werden kann, Werte in einem
Sicherheitssystemlogiklöser
zu verändern,
indem irgendwelche Befehle wie Inbetriebsetzungsbefehle, Befehle
zum Herunterladen, Sperrbefehle, Umschaltbefehle, etc. verwendet
werden. Zusätzlich
kann das nachstehend beschriebene Leistungsmerkmal des gesicherten Schreibens
für irgendwelche
Nachrichten verwendet werden, die zwischen irgendwelchen zwei Anwendungen
verschickt werden, um eine verstärkte
Sicherheit bereitzustellen, um sowohl versehentliche Verfälschung
als auch unerlaubte Änderungen
zu verhindern, wie etwa diejenigen, die durch Hacker, Viren und
dergleichen ausgelöst
werden.
-
Um
das Leistungsmerkmal eines gesicherten Schreibvorgangs zu implementieren,
befindet sich ein Server 350 für gesicherte Schreibvorgänge (6) im Host-Arbeitsplatzrechner 16,
und, wie in 1 dargestellt,
befindet sich ein (Rechner-Client 360 genannter) Client 360 für gesicherte
Schreibvorgänge
in den Prozesssteuerungssystemsterungen 24 oder 26,
und ein (Logiklöser-Client 370 genannter) Client 370 für gesicherte
Schreibvorgänge
befindet sich in den Sicherheitslogiklösern 50 – 56.
Wird ein Änderungsbefehl
durch einen Benutzer oder eine andere Anwendungsart ausgelöst, überprüft die Sicherungsanwendung
zuerst, ob der Benutzer (oder die Anwendung) die erforderlichen
Zugriffsrechte oder -zulassungen hat, um die Änderung vorzunehmen. Ist dem
so, wirken der Server 350 für gesicherte Schreibvorgänge und
die Clients 360 und 370 daraufhin, sicherzustellen,
dass der Benutzer, der die Änderung
vornehmen soll, und die Nachricht nicht während der Übertragung entweder vom Host-Arbeitsplatzrechner 16 zu
den Steuerungen 24 oder 25 bzw. von den Steuerungen 24 oder 26 zu
den Sicherheitslogiklösern 50 – 56 verfälscht wird.
Darüber
hinaus stellen der Server 350 für gesicherte Schreibvorgänge und
die Clients 360, 370 sicher, dass die Nachricht am
richtigen Bestimmungsort ankommt und verhindern gleichzeitig, dass
eine falsch erzeugte Nachricht eine Veränderung verursacht.
-
Allgemein
ausgedrückt,
verpackt der Server 350 für gesicherte Schreibvorgänge beim
Empfang eines Änderungsbefehls
von einem Benutzer oder einer anderen Anwendungsart den Änderungsbefehl mit
den nötigen
Daten wie der Bestimmung, dem zu ändernden Parameter, dem Wert,
etc., und fügt
ein CRC-Feld (CRC – cyclical
redundancy check) für
zyklische Redundanzprüfung
hinzu, das für
dieses Paket oder diese Nachricht erzeugt wird. Dann schickt der
Server 350 für
gesicherte Schreibvorgänge
den Änderungsbefehl
mit der CRC an den geeigneten Steuerungs-Client 360, welcher
den Änderungsbefehl
quittiert (und, falls gewünscht,
eine Antwort zurück
an den Server 350 für
gesicherte Schreibvorgänge
schickt, mit den Einzelheiten darüber, was der Steuerungs-Client 360 als Änderungsinformation empfangen
hat). Der Server 350 für
gesicherte Schreibvorgänge
zeigt die Änderungsinformation
wie etwa den Namen, das Schlüsselwort
des Objekts, und was zu ändern
angefordert wurde, dem Benutzer zur Überprüfung an. Falls gewünscht, kann
der Server 350 für
gesicherte Schreibvorgänge
die Änderungsdaten
aus dem Änderungsbefehl
wie er an den Steuerungs-Client 360 geschickt wurde, hernehmen, um
sicherzustellen, dass der Benutzer auch die Information überprüft, die
tatsächlich
an den Steuerungs-Client 360 geschickt wurde. Schickt der
Steuerungs-Client 360 hingegen die Änderungsdaten wie sie vom Steuerungs-Client 360 empfangen
wurden, zurück
zum Server 350 für
gesicherte Schreibvorgänge,
kann dieser diese Information dem Benutzer zur Überprüfung anzeigen.
-
Der
Server 350 für
gesicherte Schreibvorgänge
kann dem Benutzer die Änderungsinformation beispielsweise über ein
Dialogfeld auf der Benutzeranzeige anzeigen, das es dem Benutzer
ermöglicht, zu überprüfen, ob
die Änderungsinformation
korrekt ist (indem er beispielsweise eine OK- oder eine Bestätigungstaste
im Dialogfeld wählt).
Nach der Überprüfung durch
den Benutzer (oder, falls notwendig, eine Anwendung), schickt der
Server 350 für
gesicherte Schreibvorgänge
einen zweiten Änderungsbefehl
(einen Änderungswiederholungsbefehl)
mit den Änderungsdetails,
wie sie vom Benutzer überprüft wurden,
an den Steuerungs-Client 360. Insbesondere verpackt der
Server 350 für
gesicherte Schreibvorgänge
die Änderungsbefehlsdaten
(wie sie vom Benutzer überprüft wurden),
einschließlich, zum
Beispiel, der Bestimmung, dem zu ändernden Parameter, dem Wert,
etc., zusammen mit einer CRC, die für dieses Paket oder diese Nachricht
erstellt wurde, und schickt diesen zweiten Änderungsbefehl an den Steuerungs-Client 360.
Es wäre
festzuhalten, dass, wenn keine Verfälschung stattgefunden hat,
der erste Änderungsbefehl
(und die CRC-Daten) und der zweite oder Änderungswiederholungsbefehl (und
seine CRC-Daten) identisch sein werden.
-
Nach
dem Empfang des zweiten oder Änderungswiederholungsbefehls
vergleicht der Steuerungs-Client 360 den zweiten Änderungsbefehl
mit dem ersten, um zu sehen, ob sie gleich sind (was bedeutet, dass
keine Verfälschung
aufgetreten ist, und dass der Benutzer die im ersten Änderungsbefehl vorhandene Änderungsinformation überprüft hat). Falls
gewünscht,
kann der Steuerungs-Client 360 einfach bestimmen, ob die
beiden Änderungsnachrichten
gleich sind oder dieselben CRC-Daten aufweisen. Alternativ kann
der Steuerungs-Client 360 die Nachrichten decodieren, um
zu sehen, ob die in jeder enthaltene Änderungsinformation gleich
ist, obwohl dieses Vorgehen in manchen Sicherheitssystemen nicht
zugelassen sein kann. Sind die Nachrichten oder Änderungsinformationen gleich,
schickt der Steuerungs-Client 360 dann eine Änderungsanforderung
an den entsprechenden Logiklöser-Client 370. Falls
gewünscht,
kann diese Änderungsanforderung Information
sowohl aus dem ersten als auch dem zweiten Änderungsbefehl enthalten. Alternativ
können
nur die CRC-Daten aus sowohl den Änderungsbefehlen als auch die
Daten aus einem der Befehle, z.B. dem ersten Änderungsbefehl, als Teil der Änderungsanforderung
vom Steuerungs-Client 360 zum Logiklöser-Client 370 geschickt
werden.
-
Der
Logiklöser-Client 370 empfängt die Änderungsanforderung
und decodiert die Anforderung, um sicherzustellen, dass die Änderungsanforderung an
die richtige Stelle geschickt wurde und ansonsten unverfälscht ist.
Diese Schritte können
ein Prüfen
eines oder beider der CRC-Datenpakete mit sich bringen, um zu bestimmen,
ob die CRC-Information wirklich der eingeschlossenen Änderungsnachricht
entspricht, indem bestimmt wird, ob die CRC-Pakete gleich sind (was
sie sein sollten), und indem bestimmt wird, ob der Bestimmungsort
für die Änderung sich
innerhalb des Sicherheitslogikösers
befindet oder über
ihn geht. Ist die Änderungsinformation
aus den beiden Änderungsbefehlen
in dieser Nachricht enthalten, kann der Logilöser-Client wieder überprüfen, um
zu be stimmen, ob die Änderungsinformation mit
der Prüfung übereinstimmt,
um sicherzustellen, dass bei der Übertragung vom Steuerungs-Client 360 zum
Logiklöser-Client 370 keine
Verfälschung stattgefunden
hat. Bestimmt der Logiklöser-Client 370,
dass die Änderungsnachricht
korrekt ist, kann der Logiklöser-Client 370 die
Logiklöser 50 – 56 die Änderung
implementieren lassen, und schickt eine Bestätigung zurück an den Steuerungs-Client 360, dass
die Änderung
implementiert wird. Der Steuerungs-Client 360 kann diese
Bestätigung
an der Server 350 für
gesicherte Schreibvorgänge
schicken, der dem Benutzer eine Bestätigung anzeigen kann, dass
die Änderung
durchgeführt
wird. Tritt irgendwo im Prozess ein Fehler auf, können der
Logiklöser-Client 370 und/oder
der Steuerungs-Client 360 den Server 350 für gesicherte
Schreibvorgänge über den Fehler
und irgendwelche bekannten Einzelheiten über den Fehler informieren
(wie etwa, dass die CRCs nicht passten, die Nachricht an einem falschen Bestimmungsort
ankam, etc.). Der Server 350 für gesicherte Schreibvorgänge kann
den Benutzer dann darüber
informieren, dass die Änderung
nicht durchgeführt
wurde, und kann ihn über
irgendwelche gewünschten
Details über
diesen Fehler informieren, der im Schreibprozess aufgetreten ist.
-
Als
Beispiel kann ein Benutzer eine gewünschte Änderung über ein Dialogfeld für gesicherte
Schreibvorgänge
in einer Bildschirmanzeige eingeben. Nachdem sie bestimmt hat, ob
der Benutzer die Berechtigung zum Durchführen der Änderung hat, ruft die Anwendung
dann den Server 350 für
gesicherte Schreibvorgänge
auf und gibt den Pfad, den Parametertyp und den aktuellen Wert an
diesen weiter. Der Server für
gesicherte Schreibvorgänge
generiert dann eine Anforderung für einen gesicherten Schreibvorgang
mit dem Befehl „Parameter, Änderung" (Parameter, Change),
dem Pfad, dem neuen Wert und der CRC und schickt diese Anforderung
für einen
gesicherten Schreibvorgang an den entsprechenden Prozesssteuerungssystemsteuerung 24 oder 26.
Der Server 350 für
gesicherte Schreibvorgänge
erstellt dann den Bestätigungsdialog
mit dem Benutzer, indem er Daten aus einer Kopie der zyklisch redundant überprüften (CRC-)Daten,
die an den Rechner 24 oder 26 geschickt wurden,
verwendet. Das Dialogfeld kann den Pfad und den Wert darstellen,
und der Server 350 für
gesicherte Schreibvorgänge
kann die Bestätigungs-
oder OK-Taste im Dialogfeld nur dann freigeben lassen, wenn der Änderungsbefehl
vom richtigen Rechner 24 oder 26 quittiert wurde.
Beim Empfang des Änderungsbefehls quittiert
der Steuerungs-Client 360 in
der Steuerung 24 oder 26 den Änderungsbefehl und speichert
das zyklisch redundant überprüfte Datenelement
im entsprechenden Modul oder Block ab.
-
An
diesem Punkt überprüft der Benutzer,
ob der Wert im Bestätigungsdialogfeld
richtig ist und wählt
die Bestätigungs-
oder OK-Taste. Der
Server 350 für
gesicherte Schreibvorgänge
generiert dann den zweiten oder Änderungswiederholungsbefehl (die
zweite Nachricht) als den Befehl (Parameter, Change), den Pfad,
den Wert aus dem Bestätigungsdialog
und der CRC für
diese Daten enthaltend, und schickt diese Nachricht an den Steuerungs-Client 360.
Die Prozesssteuerung 24, 26 empfängt den zweiten
oder Änderungswiederholungsbefehl
und vergleicht das zyklisch redundant überprüfte Datenelement aus diesem
Befehl mit dem früher
gespeicherten (das mit dem ersten Änderungsbefehl zusammenhängt). Sind
sie gleich, werden die beiden Elemente (z.B. der ganze erste Änderungsbefehl
mit CRC und die CRC aus dem zweiten Änderungsbefehl) in eine Änderungsanforderung
gestellt, die an den geeigneten Logiklöser 50 – 56 geschickt
werden soll. Im Ergebnis werden nur Änderungsanforderungen, die überprüft wurden,
an den Sicherheitslogiklöser 50 – 56 geschickt,
was die Möglichkeit,
unerlaubte Änderungen
und irgendeine Verfälschung
zu machen noch mehr reduziert, weil Steuernetzkommunikationen, Arbeitsplatz-
oder Steuerungsprobleme am Steuerungs-Client erfasst werden.
-
Der
Logiklöser-Client 370 empfängt den Änderungsbefehl
und überprüft, ob die
beiden CRCs übereinstimmen.
Der Logiklöser-Client 370 nimmt dann
die Änderungsdaten
in der Nachricht und überprüft die CRC
für diese
Daten. Ist die CRC einwandfrei oder richtig, wird dann der Pfad überprüft, um sicherzustellen,
dass die Nachricht an die richtige Stelle geschickt wurde. Dieser
letzte Überprüfungsschritt stellt
sicher, dass keine Verfälschung
im Kommunikationspfad vom Rechner 24, 26 zu den Sicherheitslogiklösern 50 – 56 stattgefunden
hat. Wenn der Logiklöser-Client 370 feststellt,
dass alle Prüfungen
einwandfrei sind, wird der Wert in den Parameter eingeschrieben
und der Status des Schreibvorgangs an den Steuerungs-Client 360 zurückgemeldet,
welcher wiederum dem Server 350 für gesicherte Schreibvorgänge eine
Bestätigungsnachricht
bereitstellen kann, die dem Benutzer angezeigt werden soll.
-
Indem
diese Prozedur verwendet wird, werden sowohl die ursprüngliche
Anforderung als auch die bestätigte
Anforderung von einem Menschen, der Steuerung und dem Sicherheitslogiklöser verglichen, was
diese Prozedur sicherer macht als andere bekannte Lösungen,
die nur einen Vergleich durch den Menschen vorsehen, ohne zwei Anforderungen
zu verwenden. Andere Systeme nämlich,
die Wiederholungsnachrichten erzeugen, tun dies typischerweise nur
bei der Benutzeranwendung, indem sie den Benutzer mit einem Bestätigungsdialog
auffordern, bevor der Änderungsbefehl
von der Benutzeroberflächenmaschine
tatsächlich
verschickt wurde. Diese Systeme schicken aber nur eine Nachricht
an das Sicherheitsgerät,
in dem das Element geändert
werden soll. Im Ergebnis verhindern diese bekannten Verfahren keine
Verfälschung
während
der Übertragung und
stellen auch nicht sicher, dass die Nachricht am richtigen Bestimmungsort
ankommt (z.B., wenn das Bestimmungsfeld in der Nachricht verfälscht wird).
-
Obwohl
die Schreibwiederholungsprozedur vorstehend als von einem Server 350 zu
einem Steuerungs-Client 360 und dann zu einem Logiklöser-Client 370 ablaufend
beschrieben wurde, wird auch klar, dass die Prozedur mehr oder weniger
Stufen umfassen könnte.
Werden mehr Stufen verwendet, kann die dritte und nachfolgende Stufe
am empfangenden Ende ähnlich
wie der Logiklöser-Client 370 und
am sendenden Ende ähnlich
wie der Steuerungs-Client 360 bis zur letzten Stufe arbeiten.
Werden weniger Stufen verwendet, sollte der Server 350 immer
noch zwei Schreibbefehle verschicken, wenn der Client aber feststellt,
dass sie gleich sind, kann er dann die Änderung implementieren. Darüber hinaus
wird klar, dass der Server 350 und die Clients 360 und 370 software-,
hardware- und firmwaremäßig unter
Verwendung irgendeines beliebigen Kommunikations- und Softwareprotokolls
implementiert werden können.
-
Wie
vorstehend festgestellt, können
Nachrichten von und an Sicherheitssystem- und Prozesssteuerungssystemgeräten durch
die Adresse oder das Identifizierungskennzeichen erfasst werden, die/das
mit dem Gerät
zusammenhängt.
Falls gewünscht,
kann die Herkunftsadresse für
die verschiedenen Sicherheitslogikgeräte aus Schienenbusnachrichten
abgeleitet werden und kann aus einer Rückwandplatinen-ID (BPID – backplane
ID), die an jedem Knoten gleich aber innerhalb der Prozessanlage
einzigartig ist, und einer Schlitz-ID (SID – slot-ID) bestehen, die sich
von Knoten zu Knoten wiederholen kann, aber innerhalb eines Knotens
einzigartig ist. Auf diese Weise kann jedes Gerät eine eindeutige Adresse haben
und somit als ein Sicherheitssystemgerät oder ein Prozesssteuerungssystemgerät unterscheidbar
sein.
-
Obwohl
das eingebettete Sicherheitssystem irgendeine/s von vielen möglichen
Nachrichtenstrukturen oder Kommunikationsprotokollen benutzen kann,
können
in einem Fall die folgenden Nachrichtenstrukturen benutzt werden.
Insbesondere können Busnachrichten
im Allgemeinen drei grundlegende Teile umfassen, die einen Datenvorlauf
umfassen, (z.B. 1 Byte), einen Daten- oder Nachrichtenteil (z.B. 129
Bytes) und einen Datennachlauf (z.B. 1 Byte). Die Datenvorlauf-
und Datennachlaufteile sind für eine
Hardwaresynchronisierung vorgesehen, während der Datenteil die tatsächliche
Nachricht enthält, die
eine Bedeutung für
eine bestimmte Adresse hat. Falls gewünscht, kann eine Hardwarebiteinfügung im Nachrichtenteil
der Nachstruktur auf hoher Ebene erfolgen.
-
Allgemein
ausgedrückt
kann der Daten- oder Nachrichtenteil einer Nachricht in sieben Felder
mit einer Gesamtlänge
von bis zu einer maximal verfügbaren
Länge für eine bestimmte
Anwendung aufgeteilt werden. Beispielsweise kann es 138 verfügbare Bytes
geben (einschließlich
11 Bytes der Protokollorganisation). Der Nachrichtenteil kann eine 2-Byte-Quellenadresse,
eine 2-Byte-Bestimmungsadresse, ein 1-Byte-Typenfeld, ein 1-Byte-Gerätestatusfeld,
ein 1-Byte-Längenfeld,
ein 0- bis 128-Byte-Nachrichtenfeld und ein 4-Byte-CRC-Feld umfassen,
welches zyklische Redundanzdaten bereitstellt: Beispielsweise enthält in einer
Verwendungsweise für
diese Felder das Quellenadressenfeld die Adresse des Sendegeräts. Das
hochrangigere Byte enthält
die Rückwandplatinen-ID (BPID), also die
Rückwandplatinenkennung,
und das niedrigrangigere Byte enthält die Schlitz-ID (SID), also
die Schlitzkennung. Beim Hochfahren erhält jeder Logiklöser über den
Schienenbus seine komplette QUELLENADRESSE (SOURCEADDRESS) von der
Steuerung. Der Rückwandplatinen-ID-Teil
(BPID-Teil) der QUELLENADRESSE ist gleich wie das niedrigwertigste
Oktett der ID-Adresse der Steuerung eingestellt. Der Schlitz-ID-Teil
(SID-Teil) der QUELLENADRESSE wird von den Schienenbusnachrichten
der Prozesssteuerung abgeleitet. Vorzugsweise kommuniziert (sendet
oder empfängt)
jeder Sicherheitslogiklöser
erst dann, wenn er eine vollständige
QUELLENADRESSE hat.
-
Ein
Feld BESTIMMUNGSADRESSE (DESTINATION ADDRESS) kann die Adresse des
Bestimmungsgeräts
enthalten. Das hochrangigere Byte kann die BPID enthalten, und das
niedrigrangigere Byte kann die SID der Bestimmung enthalten. Das Feld
ART (TYPE) der Nachricht enthält
Information hinsichtlich der Art von Nachricht, die in diesem Nachrichtendatenfeld
enthalten ist. Es kann eine Anzahl unterschiedlicher Nachrichten
festgelegt werden. Das Feld GERÄTESTATUS
(DEVICE STATUS) kann auf geeignete Weise aufgeteilt werden, um beispielsweise
den Diagnosestatus (der keinen Fehler oder einen Fehler anzeigt),
den Umschaltstatus (der keinen Fortschritt oder einen Fortschritt
anzeigt), die Steuerungsbetriebsart (die eine normale Betriebsrat oder
eine Entwicklungsbetriebsart anzeigt), den Sicherheitsauslösungsstatus
(der nicht ausgelöst
oder ausgelöst
anzeigt), den Redundanzstatus (der nicht redundant oder redundant
anzeigt), den Konfigurationsstatus (der nicht konfiguriert oder
konfiguriert anzeigt), die Steuerungsart (die vom Logiklöser bestimmt
ist und anzeigt, ob er in Bereitschaft oder aktiv ist), und die
Betriebsart anzeigt (der Betriebsartwert kommt über den Bus von der Steuerung
und zeigt eine Entwicklungs- oder eine normale Betriebsart an).
-
Ein
Feld LÄNGE
(LENGTH) kann die Länge in
Bytes des anstehenden Felds NACHRICHTENDATEN (MESSAGE DATA) enthalten
und ist nachrichtenabhängig.
Ein Feld NACHRICHTENDATEN ist das Nutzdatenfeld der Nachricht, die
entsprechend der ART der Nachricht formatiert ist und eine von der Nachricht
abhängige
Länge hat.
Schließlich
berechnet sich noch das Feld CRC oder Cyclic Redundancy Check/Code
aus den Feldern QUELLENADRESSE, ART, GERÄTESTATUS, LÄNGE und NACHRICHTENDATEN und
ist auch nachrichtenabhängig.
-
Allgemein
ausgedrückt
kann die Steuerung, um eine Nachricht über den Bus 22 (1) zu verschicken, Busnachrichten
im Abschnitt DATEN eines Ethernet IEEE 802.3 Protokollpakets einschließen, die
zum Beispiel, einen 7-Byte-Datenvorlauf, einen 1-Byte-Bildstartbegrenzer,
eine 6-Byte-Bestimmungsadresse, eine 6-Byte-Quellenadresse, ein 2-Byte Feld Art/Länge, ein
46- bis 1500-Byte Datenfeld und ein 4-Byte-Bildprüffolgenfeld
umfasst. Bekanntlich beginnt das Bild mit einem 7-Byte-Datenvorlauf
aus abwechselnden Einsen und Nullen. Ist das Bild Manchester-codiert,
gibt der Datenvorlauf den Empfangsstationen ein bekanntes Muster,
an das sie sich anhängen.
Der Bildstartbegrenzer folgt auf den Datenvorlauf und kündigt den
Beginn des Bilds an. Die Bestimmungs- und Quellenadressen sind jeweils
allgemein irrelevant, weil die Empfänger in gemischter Betriebsart
auf Empfang stehen.
-
Das
Ethernet-Feld ART/das IEEE 802.3-Feld LÄNGE bedeutet das Protokoll,
das im restlichen Bild verwendet wird, und das Feld LÄNGE legt
die Länge des
Datenteils des Bildes fest. Damit Ethernet- und IEEE802.3-Bilder
gemeinsam auf demselben LAN vorkommen können, muss sich das Längenfeld
des Bildes immer von irgendwelchen verwendeten Artenfeldern unterscheiden.
Diese Tatsache schränkt
die Länge
des Datenteils des Bildes auf 1.500 Bytes und die gesamte Bildlänge auf
1.518 Bytes ein. Für
die Sicherheitslogiklöseranwendung
wird die Art Ethernet und die Länge
des Datenfelds die Größe der Nachrichten
sein. Das Datenfeld enthält
die Nachricht, die von einem Sicherheitslogiklöser oder einer Prozesssteuerung
verschickt wird. Nachrichten, deren Daten länge weniger als 46 Bytes beträgt, werden
aufgefüllt.
Bekanntlich sind die 4 Bytes des Bildprüfabfolgefelds ein standardmäßiges 43-bit-CCITTCRC-Polynom.
Natürlich
ist das nur eine Art von Nachrichtencodierung, die an Nachrichten
vorgenommen werden kann, die an und von Prozesssteuerungs- und Sicherheitssystemgeräte/n verschickt
werden können, wobei
klar wird, dass irgendein anderes beliebiges Nachrichtenformat statt
dessen verwendet werden kann, das in der Lage ist, Prozesssteuerungssystem- von
Sicherheitssystemgeräten
unterscheiden zu können.
-
Während die
vorliegende Erfindung mit Bezug auf spezielle Beispiele beschrieben
wurde, die nur veranschaulichend für die Erfindung sein und sie nicht
einschränken
sollen, wird es für
den durchschnittlichen Fachmann offensichtlich sein, dass Änderungen,
Hinzufügungen
und Weglassungen an den offenbarten Ausführungsformen vorgenommen werden
können,
ohne dass dabei vom Aussagegehalt und Umfang der Erfindung abgewichen
würde.