-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft allgemein Prozesssteuersysteme und
insbesondere sichere Datenschreibvorrichtungen und Verfahren zur
Verwendung in Prozesssteuersystemen mit Sicherheitsmaßnahmen.
-
HINTERGRUND
-
Prozesssteuersysteme
wie Systeme, die in chemischen, petrochemischen oder sonstigen Verfahren
eingesetzt werden, umfassen üblicherweise eine
oder mehrere zentrale Prozesssteuerungen, die zur Kommunikation über analoge,
digitale oder kombinierte analog-digitale Busse mit mindestens einer Host-
oder Bediener-Workstation und einem oder mehreren Feldgeräten verbunden
sind. Die Feldgeräte,
die z.B. Ventile, Ventilpositionierer, Schalter und Transmitter
(z.B. Temperatur-, Druck- und Durchfluss-Sensoren) sein können, führen im
Prozess Funktionen wie die Öffnung
bzw. das Schließen
von Ventilen und das Messen von Prozessparametern durch. Die Prozesssteuerung
empfängt Signale,
die von den Feldgeräten
vorgenommene Prozessmessungen und/oder sonstige Informationen zu
den Feldgeräten
angeben, verwendet diese Informationen zur Implementierung einer
Steuerroutine und erzeugt anschließend Steuersignale, die zur
Steuerung des Prozessbetriebs über
die Busse oder andere Kommunikationsleitungen zu den Feldgeräten gesandt
werden. Informationen von den Feldgeräten und den Steuerungen können einer
oder mehreren von der Bediener-Workstation ausgeführten Anwendungen
zur Verfügung
gestellt werden, um einem Bediener die Ausführung von gewünschten
Funktionen bezüglich
des Prozesses zu ermöglichen,
wie z.B. die Betrachtung des aktuellen Prozessstatus, die Änderung
der Betriebsweise des Prozesses usw.
-
Viele
Prozesssteuersysteme beinhalten auch eine oder mehrere Anwendungsstationen. Üblicherweise
sind diese Anwendungsstationen unter Verwendung eines Personal Computers,
einer Workstation oder ähnlichen
Vorrichtungen implementiert, die zur Kommunikation über ein
lokales Netzwerk (LAN) mit den Steuerungen, Bediener-Workstations und
sonstigen Systemen im Prozesssteuersystem verbunden sind. Jede Anwendungsstation
kann eine oder mehrere Softwareanwendungen ausführen, die innerhalb des Prozesssteuersystems
Campaign-Management-Funktionen, Maintenance-Management-Funktionen, virtuelle Steuerfunktionen,
Diagnosefunktionen, Echtzeit-Überwachungsfunktionen,
sicherheitsbezogene Funktionen, Konfigurationsfunktionen usw. durchführen.
-
Einige
Prozesssteuersysteme oder Teile davon können erhebliche Sicherheitsrisiken
aufweisen. Beispielsweise können
chemische Verarbeitungsanlagen, Kraftwerke usw. kritische Prozesse
implementieren, die bei nicht sachgerechter Steuerung und/oder schneller
Abschaltung mit einer vorbestimmten Abschaltsequenz wesentliche
Schäden
für die
Bevölkerung,
die Umwelt und/oder die Ausrüstung
hervorrufen können.
Um den Sicherheitsrisiken in Zusammenhang mit Prozesssteuersystemen
mit derartigen kritischen Prozessen zu begegnen, bieten viele Lieferanten
von Prozesssteuersystemen Produkte an, die sicherheitsbezogene Normen
einhalten, wie z.B. die Norm IEC 61508 der International Electrotechnical
Commission und die Norm IEC 61511.
-
Im
Allgemeinen werden Prozesssteuersysteme, die eine oder mehrere bekannte
sicherheitsbezogene Normen einhalten, unter Verwendung einer mit
Sicherheitsmaßnahmen
ausgestatteten Systemarchitektur implementiert, wobei die Controller
und Feldgeräte,
die dem zugrunde liegenden Prozesssteuersystem zugeordnet sind,
das für
die kontinuierliche Kontrolle des gesamten Prozesses zuständig ist,
physisch und logisch von den Feldgeräten für besondere Einsatzzwecke und
sonstigen Steuerelementen für
besondere Einsatzzwecke getrennt sind, die dem System mit Sicherheitsmaßnahmen
zugeordnet sind, das für
die Ausführung
der Funktionen mit Sicherheitsmaßnahmen zuständig ist,
um das sichere Abschalten des Prozesses in Abhängigkeit von Steuerbedingungen,
die ein wesentliches Sicherheitsrisiko darstellen, sicherzustellen.
Insbesondere erfordert die Einhaltung zahlreicher bekannter sicherheitsbezogener
Normen ein grundlegendes Prozesssteuersystem, das mit Steuerelementen
für besondere
Zwecke, wie Logic-Solver-Einrichtungen, Feldgeräten mit Sicherheitszertifizierung
(z.B. Sensoren, Endkontrollelementen wie z.B. pneumatisch betätigten Ventilen)
und Software oder Code mit Sicherheitszertifizierung (z.B. zertifizierten
Anwendungen, Funktionsmodulen, Funktionsblöcken usw.) ergänzt ist.
-
Ein
besonders wichtiger Aspekt von Prozesssteuersystemen mit Sicherheitsmaßnahmen
beinhaltet die Integrität
von Informationen oder Daten, die zwischen den Prozesssteuergeräten in den
Systemen übertragen
werden (z.B. Controller, Logic-Solver-Einrichtungen, Workstations usw.). Insbesondere können fehlgeschlagene
oder verfälschte
Meldungen (und damit zusammenhängende
Datenschreibvorgänge),
wie Befehle mit sicherheitsbezogenen Informationen und/oder andere
zu einem Controller übertragene
Daten, vom Benutzer angeforderte Änderungen von Parameterwerten
in Zusammenhang mit Funktionen mit Sicherheitsmaßnahmen usw., die Sicherheit
des gesamten Prozesssteuersystems potenziell beeinträchtigen.
Während
bekannte sicherheitsbezogene Hardware und/oder Software, die mit Prozesssteuersystemen
verwendet wird, oft redundante Kommunikations-Links, Datenfehler-Prüfmechanismen
wie bekannte zyklische Prüfsummenverfahren
(CRC) usw. bereitstellt, behandeln viele bereits bekannte Prozesssteuersysteme
die Probleme in Zusammenhang mit fehlgeschlagenen oder verfälschten
Meldungen oder Datenschreibvorgängen nicht
angemessen.
-
Zusätzlich zu
sicherheitsbezogenen Datenübertragungsvorrichtungen
und -verfahren (z.B. Redundanz-Links, zyklische Prüfsummenverfahren
usw.) stellen viele bekannte Prozesssteuersysteme auch mindestens
ein grafisches Run-Time-Interface bereit, das einem Benutzer oder
Systembediener die Überwachung
von Prozessen, die Änderung
von Parameterwerten, die Ausgabe von Befehlen usw. für ein oder
mehrere Geräte,
Kontrollschleifen und/oder andere Prozesssteuereinrichtungen ermöglicht.
Weiter können
diese bereits bekannten Prozesssteuersysteme auch grafische Schnittstellen
für die
Konfiguration und/oder Diagnose bereitstellen, die es einem Benutzer
oder Bediener ermöglichen,
verschiedene Aspekte des grafischen Run-Time-Interface zur Fehlersuche
oder Diagnose bezüglich
verschiedener Probleme in Zusammenhang mit dem Betrieb des Prozesssteuersystems
usw. zu definieren und zu konfigurieren. Beispielsweise können Benutzer
mit einer grafischen Konfigurationsschnittstelle interagieren, um bestimmte
Dialoge bzw. kodierte Scripts (d.h. maschinenlesbare und/oder ausführbare Kodierungen) grafischen
Run-Time-Objekten (z.B. Funktionsmodulen, Grafiken zur Ausrüstung, Parameterwerten
usw.) zuzuordnen. Auf diese Weise kann ein Benutzer während der
Ausführung
derartige zuvor konfigurierte grafische Objekte aufrufen (z.B. unter
Verwendung einer Maus oder einer anderen Zeigeeinrichtung zur Auswahl
der Objekte), um die Ausführung
der zugrunde liegenden Scripts oder Codes zu bewirken. Das Anlegen
derartiger grafischer Objekte, Dialoge und ausführbarer Scripts ist allerdings
ein zeitaufwendiger und langwieriger Vorgang, und zwar insbesondere
bei Prozesssteuersystemen mit einer großen Zahl von sicherheitsbezogenen
Prozesssteuerkomponenten, Untersystemen, Geräten usw. Ferner ist auch die
Vornahme von Änderungen
an bereits eingerichteten grafischen Dialogen und Scripts ein zeitaufwendiger
und fehleranfälliger
Vorgang. Dialog- und Script-Fehler
sind besonders problematisch bei Funktionen mit Sicherheitsmaßnahmen,
die auf konsistente Weise implementiert werden müssen, sodass beispielsweise
die zugrunde liegenden Scripts, Codes usw. Datenschreibvorgänge so ausführen, dass
Prozeduren, Normen usw. mit Sicherheitszertifizierung eingehalten
werden.
-
ZUSAMMENFASSUNG
-
Bei
einem Beispiel wählt
eine Vorrichtung und ein Verfahren zum Schreiben von Daten in einem Prozesssteuersystem
einen Parameter in Zusammenhang mit einem Prozesssteuerelement im
Prozesssteuersystem und sendet erste Daten zu diesem Parameter zum
Prozesssteuerelement. Das beispielhafte Verfahren und die Vorrichtung
empfangen von einem Benutzer eine Bestätigung in Zusammenhang mit
einer Anforderung zum Schreiben der ersten Daten in das Prozesssteuerelement,
sie senden zweite Daten in Abhängigkeit
vom Empfang der Bestätigung zum
Prozesssteuerelement, und sie vergleichen die ersten und zweiten
Daten im Prozesssteuerelement. Das beispielhafte Verfahren und die
Vorrichtung schreiben die ersten oder zweiten Daten in eine Position
in dem dem Parameter zugeordneten Prozesssteuerelement, wenn die
ersten und zweiten Daten mindestens im Wesentlichen identisch sind.
-
Bei
einem weiteren Beispiel enthält
ein sicherer Schreib-Server einen Speicher und einen mit dem Speicher
verbundenen Prozessor. Der Prozessor ist so konfiguriert, dass er
in Abhängigkeit
von einer Anwendung, die ein sicheres Schreibverfahren aufruft,
eine sichere Schreibanforderung an einen Controller sendet. Zusätzlich empfängt der
sichere Schreib-Server über
die Anwendung eine Bestätigungseingabe
von einem Benutzer und sendet in Abhängigkeit von der Bestätigungseingabe
eine sichere Schreibbestätigungs-Anforderung an den
Controller.
-
In
einem weiteren Beispiel empfangen ein System und ein Verfahren zur
automatischen Erzeugung eines Scripts zur Verwendung beim Schreiben von
Daten in einem Prozesssteuersystem eine Benutzerauswahl bezüglich eines
Parameters eines Prozesssteuerelements; sie liefern dem Benutzer eine
grafische Konfigurationsschnittstelle zu diesem Parameter, und sie
empfangen über
die grafische Konfigurationsschnittstelle die Benutzereingabe bezüglich dieses
Parameters. Das beispielhafte System und das Verfahren erzeugen
automatisch ein Script auf der Grundlage der Benutzereingabe, das
bei seiner Ausführung
einen grafischen Dialog zur Ausführung
eines sicheren Datenschreibvorgangs im Prozesssteuerelement erzeugt.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm eines beispielhaften Prozesssteuersystems, das
die hier beschriebenen sicheren Datenschreibvorrichtungen und -verfahren
verwendet.
-
2 ist
ein detaillierteres Blockdiagramm mit der Wiedergabe einer Ausführungsform,
wobei die in 1 dargestellte aktive Anwendungsstation, der
Controller und die Logic-Solver-Einrichtung so konfiguriert sein
können,
dass die hier beschriebenen sicheren Datenschreibvorrichtungen und
-verfahren implementiert sind.
-
3 ist
ein Ablaufdiagramm, das ein beispielhaftes Verfahren wiedergibt,
das von der in 1 und 2 dargestellten
aktiven Anwendungsstation zur Änderung
eines sicheren Parameters verwendet werden kann.
-
4A ist
ein Ablaufdiagramm, das ein beispielhaftes Verfahren wiedergibt,
das von dem in 2 dargestellten sicheren Schreib-Server
zur Änderung
eines sicheren Parameters verwendet werden kann.
-
4B ist
ein Ablaufdiagramm, das ein beispielhaftes Verfahren wiedergibt,
das von dem in 2 dargestellten sicheren Schreib-Server
zum Senden einer sicheren Schreibanforderung an den in 2 dargestellten
Controller verwendet werden kann.
-
4C ist
ein Ablaufdiagramm, das ein beispielhaftes Verfahren wiedergibt,
das von dem in 2 dargestellten sicheren Schreib-Server
zum Senden einer sicheren Bestätigungsanforderung
an den in 2 dargestellten Controller verwendet
werden kann.
-
5 ist
ein Ablaufdiagramm, das ein beispielhaftes Verfahren wiedergibt,
das von dem in 2 dargestellten Controller zur Änderung
eines sicheren Parameters verwendet werden kann.
-
6 ist
ein Ablaufdiagramm, das ein beispielhaftes Verfahren wiedergibt,
das von der in 2 dargestellten Logic-Solver-Einrichtung
zur Änderung
eines sicheren Parameters verwendet werden kann.
-
7 ist
ein Ablaufdiagramm, das ein beispielhaftes Verfahren wiedergibt,
das von der in 1 und 2 dargestellten
aktiven Anwendungsstation zum Senden von Befehlen an die Logic-Solver-Einrichtung
auf sichere Weise und unter Einhaltung einer Norm für Systeme
mit Sicherheitsmaßnahmen
verwendet werden kann.
-
8 ist
ein Ablaufdiagramm, das ein beispielhaftes Verfahren wiedergibt,
das zur Implementierung des in 2 dargestellten
sicheren Schreibstempels verwendet werden kann.
-
9 ist
ein beispielhaftes Prozessorsystem, das zur Implementierung der
hier beschriebenen Vorrichtungen und Verfahren verwendet werden kann.
-
10-16 sind
Beispiele von grafischen Schnittstellen und Dialogen, die zur Implementierung der
hier beschriebenen sicheren Datenschreibvorrichtungen und -verfahren
verwendet werden können.
-
AUSFÜHRLICHE
BESCHREIBUNG
-
Allgemein
können
die hier beschriebenen beispielhaften Vorrichtungen und Verfahren
in einem Prozesssteuersystem verwendet werden, um das automatische
Anlegen und Bearbeiten von grafischen Objekten und/oder Scripts
in Zusammenhang mit grafischen Objekten zu ermöglichen, die zur Übertragung
von Prozesssteuermeldungen an sicherheitsbezogene Hardware und/oder
Software in einem Prozesssteuersystem mit Sicherheitsmaßnahmen verwendet
werden können.
Insbesondere ermöglichen
die hier beschriebenen beispielhaften Verfahren und Vorrichtungen
einem Systembediener oder Benutzer die Auswahl von grafischen Objekten
in Zusammenhang mit Ausrüstung,
Geräten,
Funktionsmodulen, Funktionsblöcken
und/oder beliebigen anderen Hardware- und/oder Software-Prozesssteuerelementen
in einem Prozesssteuersystem sowie die Zuordnung von grafischen
Dialogen und ausführbaren
Scripts (z.B. maschinell zugängliche
und/oder ausführbare
Anweisungen, Code oder Software) zu diesen Elementen. Die grafischen
Elemente und ausführbaren
Scripts werden in Verbindung mit Befehlen, Parameterwertänderungen
und/oder vom Benutzer veranlassten und an diese Elemente übertragenen
Meldungen zur Umsetzung von einem oder mehreren sicheren Datenschreibprotokoll(en)
konfiguriert.
-
Bei
einigen Beispielen kann ein Systembediener oder Benutzer eine konfigurationsbezogene grafische
Ansicht eines Prozesssteuersystems oder eines Teils davon aufrufen
und ein grafisches Objekt auswählen,
das ein Funktionsmodul, einen Funktionsblock, ein Gerät, eine
Einrichtung oder einen Parameter wiedergibt. Die beispielhaften
Vorrichtungen und Verfahren können
dann zum Einrichten eines grafischen Dialogs verwendet werden, mit
dem entsprechend der folgenden ausführlichen Beschreibung der Systembediener
oder Benutzer anschließend über eine
Laufzeitanwendung, Diagnoseanwendung usw. interaktiv kommunizieren
kann, um auf sichere Weise (z.B. auf eine Weise, die eine sicherheitsbezogene
Norm oder Zertifizierung erfüllt und
die die Wahrscheinlichkeit der Verfälschung von Meldungen, der
fehlgeschlagenen Meldungsübertragung
und/oder von Falschmeldungen wesentlich minimiert oder ausschließt) Meldungen
(z.B. Befehle, Parameterwerte usw.) im Prozesssteuersystem an Hardware
und/oder Software mit Sicherheitsmaßnahmen zu übertragen. Die grafischen Dialoge
können
aus einem oder mehreren grafischen Fenstern bestehen, von denen
jedes vom Benutzer auswählbare
grafische Schaltflächen
oder Labels, beschreibende textliche oder grafische Informationen
beispielsweise zu einem Parameterwert und/oder Befehl enthalten
kann, die ein Benutzer möglicherweise zu
einem Abschnitt des Prozesssteuersystems mit Sicherheitsmaßnahmen übertragen
möchte,
sowie Eingabebereiche oder Felder, in die ein Benutzer textliche
und/oder numerische Informationen in Zusammenhang mit einer Meldung
oder Daten, die übertragen
werden sollen, eingeben kann.
-
Die
beispielhaften grafischen Dialoge überlagern oder sind zusammenhängend mit
den maschinell zugänglichen
oder lesbaren Scripts, Anweisungen oder Code-Teilen, die bei der
Ausführung
nach Aufruf eines ausgewählten
grafischen Objekts und/oder mittels Interaktion mit dem/den grafischen Dialog(en)
die sichere Übertragung
von einer oder mehreren Prozesssteuermeldungen zu einem Abschnitt
eines Prozesssteuersystems mit Sicherheitsmaßnahmen oder sonstigem Sicherheitsbezug
bewirken. Insbesondere können
die den grafischen Dialogen zugrunde liegenden Scripts, Anweisungen oder
Code-Teile so konfiguriert sein, dass sie mit beispielhaften sicheren
Datenschreibvorrichtungen und -verfahren interaktiv kommunizieren,
die ein sicheres Datenschreibprotokoll oder -verfahren ausführen und erzwingen,
um im Wesentlichen sicherzustellen, dass von Benutzern übertragene
Meldungen die korrekte Autorität
oder Genehmigung(en) haben, um die Möglichkeit im Wesentlichen auszuschließen, dass falsche
Meldungen Parameterwertänderungen
beeinflussen und/oder die Ausführung
von Befehlen bewirken können,
und um im Wesentlichen sicherzustellen, dass Meldungen, die Daten
zu Parameterwerten und/oder Befehlsdaten enthalten können und die
von der Zieleinrichtung mit Sicherheitsmaßnahmen empfangen werden (z.B.
von einer Softwarekomponente mit Sicherheitsmaßnahmen, einer Hardwarekomponente
mit Sicherheitsmaßnahmen
usw.), nicht verfälscht
oder auf sonstige Weise unsicher sind. Allgemeiner ausgedrückt, ermöglichen
die beispielhaften sicheren Datenschreibvorrichtungen und -verfahren
die Übertragung
von Informationen oder Daten zwischen den Geräten in einem Prozesssteuersystem
mit Sicherheitsmaßnahmen
auf eine Weise, die die Einhaltung von einer oder mehreren sicherheitsbezogenen
Norm(en) sicherstellt.
-
Wie
im Folgenden ausführlicher
beschrieben ist, kann ein beispielhaftes sicheres Datenschreibprotokoll
bzw. ein Verfahren oder eine Methode redundante Meldungen zu einer
Logic-Solver-Einrichtung senden, die zur Ausführung von sicherheitsbezogenen
und/oder zertifizierten Prozesssteuervorgängen oder Funktionen mit Sicherheitsmaßnahmen konfiguriert
ist. Insbesondere kann das beispielhafte Datenschreibverfahren mehrere
Datenschreibanforderungen sequenziell absenden, wobei jede dieser Anforderungen
die gleiche Meldung bzw. den gleichen Inhalt enthält (z.B.
Informationen oder Daten zu Parameterwerten, Informationen oder
Daten zu Befehlen usw.). Die mehreren Datenschreibanforderungen
sind somit redundant, da sie den gleichen bzw. identischen Inhalt
oder zumindest im Wesentlichen identischen Inhalt haben. Jede der
mehreren oder redundanten Datenschreibanforderungen kann die Form
eines eingebundenen Datenpakets annehmen, das mit einem bzw. nach
Maßgabe
eines beliebigen gewünschten
Packetization-Schemas,
Kommunikationsprotokolls usw. formatiert ist. Zusätzlich kann
jedes der eingebundenen Datenpakete, die die Informationen zur Datenschreibanforderung
enthalten, einen zyklischen Prüfsummenwert
(CRC-Wert) und/oder einen beliebigen anderen gewünschten Fehlerprüfwert enthalten.
-
Die
Logic-Solver-Einrichtung und die dadurch ausgeführte Software können zur
Verwendung der Paketfehler-Prüfwerte
konfiguriert sein, sodass die Integrität der individuellen empfangenen
Datenpakete geprüft
wird. Zusätzlich
kann die Logic-Solver-Einrichtung
weiter zur Entnahme der Parameterwertinformationen, Befehlsinformationen
oder sonstigen in den Datenpaketen übertragenen Daten und zum Vergleich
der entnommenen Informationen konfiguriert sein. Wenn die individuellen
Datenpakete beispielsweise über
die CRC-Werte als intakt erkannt sind und/oder wenn der Inhalt der
Pakete (z.B. die Parameterwertinformationen, Befehlsinformationen usw.) übereinstimmt
(d.h. wenn er identisch oder zumindest im Wesentlichen identisch
ist), dann können die
Logic-Solver-Einrichtung und die dadurch ausgeführte Software auf den Paketinhalt
einwirken, indem beispielsweise ein Befehl ausgeführt, ein
Parameterwert geändert
oder ein sonstiger geeigneter Vorgang ausgeführt wird.
-
1 ist
ein Blockdiagramm eines beispielhaften Prozesssteuersystems 10,
das die hier beschriebenen beispielhaften sicheren Datenschreibvorrichtungen
und -verfahren verwendet. Wie in 1 dargestellt
ist, enthält
das Prozesssteuersystem 10 einen grundlegenden Prozesssteuersystem-Abschnitt 12 und
einen Abschnitt 14 mit Sicherheitsmaßnahmen. Der grundlegende Prozesssteuersystem-Abschnitt 12 ist
zuständig
für den
kontinuierlichen Betrieb eines gesteuerten Prozesses, während der
Abschnitt 14 mit Sicherheitsmaßnahmen für die Ausführung einer Abschaltung des
gesteuerten Prozesses in Abhängigkeit
von einer oder mehreren unsicheren Bedingungen zuständig ist.
Entsprechend der Darstellung in 1 enthält der grundlegende
Prozesssteuersystem-Abschnitt 12 einen Controller 16,
eine Bedienerstation 18, eine aktive Anwendungsstation 20 und
eine Standby-Anwendungsstation 22, die alle zur Kommunikation über einen
Bus oder ein lokales Netzwerk (LAN) 24 verbunden sein können, das
allgemein als Anwendungssteuernetz (ACN-Netz) bezeichnet wird. Die
Bedienerstation 18 und die Anwendungsstationen 20 und 22 können unter
Verwendung von einer oder mehreren Workstations oder beliebigen
anderen geeigneten Computersystemen oder Verarbeitungseinheiten implementiert
sein. Beispielsweise könnten
die Anwendungsstationen 20 und 22 unter Verwendung
von Personal Computern mit Einzelprozessor implementiert sein, die
dem in der folgenden 9 dargestellten beispielhaften
Prozessorsystem 902 ähnlich
sind, bzw. mit Einzel- oder Mehrprozessor-Workstations usw. Zusätzlich kann
das LAN 24 für
die Verwendung beliebiger gewünschter
Kommunikationsmedien und -protokolle implementiert sein. Beispielsweise
kann das LAN 24 auf einem fest verdrahteten oder drahtlosen
Ethernet-Kommunikationsschema
aufgebaut sein, das bereits bekannt ist und daher hier nicht ausführlicher
beschrieben wird. Wie für
Fachleute auf diesem Gebiet unmittelbar verständlich ist, können jedoch
beliebige andere geeignete Kommunikationsmedien und -protokolle
verwendet werden. Obwohl ein einzelnes LAN dargestellt ist, könnte weiter
mehr als ein LAN mit geeigneter Kommunikationshardware in den Anwendungsstationen 20 und 22 verwendet werden,
um redundante Kommunikationswege zwischen der Bedienerstation 18,
den Anwendungsstationen 20 und 22 und dem Controller 16 bereitzustellen.
-
Der
Controller 16 kann über
einen digitalen Datenbus 32 und eine Eingabe- /Ausgabe-(I/O)-Einrichtung 34 mit
einer Vielzahl intelligenter Feldgeräte 26, 28 und 30 verbunden
sein. Die intelligenten Feldgeräte 26–30 können Fieldbus-kompatible
Ventile, Aktuatoren, Sensoren usw. sein, wobei in diesem Fall die
intelligenten Feldgeräte 26–30 über den
digitalen Datenbus 32 unter Verwendung des bereits bekannten
Fieldbus-Protokolls
kommunizieren. Selbstverständlich
können
stattdessen andere Arten von intelligenten Feldgeräten und
Kommunikationsprotokollen verwendet werden. Beispielsweise könnten die intelligenten
Feldgeräte 26–30 stattdessen
Profibus- oder HART-kompatible Geräte sein, die über den
Datenbus 32 unter Verwendung der bereits bekannten Profibus- und HART-Kommunikationsprotokolle
kommunizieren. Zusätzliche
I/O-Geräte
(ähnlich
der oder identisch mit der I/O-Einrichtung 34) können mit
dem Controller 16 verbunden sein, um zusätzlichen
Gruppen intelligenter Feldgeräte,
die Fieldbus-Geräte, HART-Geräte usw.
sein können,
die Kommunikation mit dem Controller 16 zu ermöglichen.
-
Zusätzlich zu
den intelligenten Feldgeräten 26–30 können ein
oder mehrere nicht intelligente Feldgeräte 36 und 38 zur
Kommunikation mit dem Controller 16 verbunden sein. Die
nicht intelligenten Feldgeräte 36 und 38 können beispielsweise
konventionelle Geräte
für 4–20 Milliampere
(mA) oder 0–10 Volt
Gleichspannung (VDC) sein, die mit dem Controller 16 über entsprechende
fest verdrahtete Verbindungen 40 und 42 kommunizieren.
-
Der
Controller 16 kann beispielsweise ein von Fisher Rosemount
Systems, Inc. angebotener DeltaVTM-Controller
sein. Stattdessen könnte
aber auch ein beliebiger anderer Controller verwendet werden. Während ferner
in 1 nur ein Controller dargestellt ist, können zusätzliche
Controller eines beliebigen Typs oder einer Kombination verschiedener
Typen mit dem LAN 24 verbunden sein. Der Controller 24 kann
eine oder mehrere Prozesssteuerroutinen in Zusammenhang mit dem
Prozesssteuersystem 10 ausführen.
-
Solche
Prozesssteuerroutinen können
von einem Systemingenieur oder anderen Systembedienern über die
Bedienerstation 18 erzeugt und zum. Controller 16 heruntergeladen
und dort aufgerufen werden. Wie im Folgenden ausführlicher
beschrieben ist, kann der Controller 16 auch für die Ausführung von
Vorgängen
in Zusammenhang mit den beispielhaften sicheren Datenschreibvorrichtungen
und -verfahren konfiguriert sein.
-
Entsprechend
der Darstellung in 1 kann das beispielhafte Prozesssteuersystem 10 auch
eine entfernte Bedienerstation 44 enthalten, die zur Kommunikation über eine
Kommunikationsverbindung 46 und ein LAN 48 mit
den Anwendungsstationen 20 und 22 verbunden ist.
Die entfernte Bedienerstation 44 kann örtlich entfernt angeordnet;
wobei in diesem Fall die Kommunikationsverbindung 46 vorzugsweise,
aber nicht notwendigerweise, eine drahtlose Kommunikationsverbindung,
ein internetgestütztes oder
ein paketvermitteltes Kommunikationsnetz, ein Telefonnetz (z.B.
digitale Abonnentenleitungen) oder eine Kombination daraus ist.
-
Entsprechend
der Darstellung in 1 sind die aktive Anwendungsstation 20 und
die Standby-Anwendungsstation 22 zur Kommunikation über das
LAN 24 und über
eine Redundanzverbindung 50 verbunden. Die Redundanzverbindung 50 kann
eine getrennte, dedizierte (d.h. nicht gemeinsam genutzte) Kommunikationsverbindung
zwischen der aktiven Anwendungsstation 20 und der Standby-Anwendungsstation 22 sein.
Die Redundanzverbindung 50 kann beispielsweise unter Verwendung
einer dedizierten Ethernet-Verbindung
(z.B. dedizierten Ethernet-Karten in jeder der Anwendungsstationen 20 und 22,
die miteinander verbunden sind) implementiert sein. In anderen Beispielen
könnte
die Redundanzverbindung 50 jedoch unter Verwendung des
zur Kommunikation mit den Anwendungsstationen 20 und 22 verbundenen
LAN 24 oder eines redundanten LAN (nicht dargestellt) implementiert
sein, wobei keines davon notwendigerweise dediziert ist.
-
Allgemein
ausgedrückt,
tauschen die Anwendungsstationen 20 und 22 über die
Redundanzverbindung 50 kontinuierlich, ausnahmsweise oder
in regelmäßigen Abständen Informationen
aus (z.B. in Abhängigkeit
von Parameterwertänderungen,
Konfigurationsänderungen
der Anwendungsstationen usw.), um einen Redundanz-Kontext herzustellen und
aufrechtzuerhalten. Der Redundanz-Kontext ermöglicht eine nahtlose oder übergangslose Übergabe
oder Umschaltung der Steuerung zwischen der aktiven Anwendungsstation 20 und
der Standby-Anwendungsstation 22, die in Abhängigkeit
von einem Hardware- oder Software-Ausfall in der aktiven Anwendungsstation 20 oder
in Abhängigkeit
von einer Anweisung eines Systembedieners oder Benutzers oder einer
Client-Anwendung
des Prozesssteuersystems 10 erfolgen soll.
-
Entsprechend
der Darstellung in 1 enthält der Abschnitt 14 mit
Sicherheitsmaßnahmen
des Prozesssteuersystems 10 Logic-Solver-Einrichtungen 52 und 54 und
Feldgeräte 56 und 58.
Die Logic-Solver-Einrichtungen 52 und 54 können beispielsweise
unter Verwendung des von Fisher-Rosemount Systems, Inc. produzierten
handelsüblichen Logic-Solvers
Delta V SLS 1508 implementiert sein. Allgemein kooperieren die Logic-Solver-Einrichtungen 52 und 54 als
redundantes Paar über
eine Redundanzverbindung 60. Die redundanten Logic-Solver-Einrichtungen 52 und 54 können aber
stattdessen ein einzelner nicht redundanter Logic-Solver oder mehrere
nicht redundante Logic-Solver sein. Ferner sind allgemein die beispielhaften
Logic-Solver-Einrichtungen 52 und 54 elektronische
Controller mit Sicherheitszertifizierung, die für die Implementierung von einer
oder mehreren Funktionen mit Sicherheitsmaßnahmen konfiguriert sind.
Bekanntlich ist eine Funktion mit Sicherheitsmaßnahmen zuständig für die Überwachung
von einer oder mehreren Prozessbedingungen in Zusammenhang mit einer
spezifischen gefährlichen
oder unsicheren Bedingung, sowie für die Bewertung der Prozessbedingungen,
um zu ermitteln, ob eine Abschaltung des Prozesses gerechtfertigt
ist, und für
die Veranlassung der Durchführung
einer Abschaltung eines Prozesses durch eines oder mehrere Endkontrollelemente
(z.B. Abschaltventile), sofern dies gerechtfertigt ist.
-
Üblicherweise
wird jede Funktion mit Sicherheitsmaßnahmen unter Verwendung von
mindestens einem Sensorgerät,
einem Logic-Solver und einem Endkontrollgerät (z.B. einem Ventil) implementiert. Der
Logic-Solver ist üblicherweise
für die Überwachung
von mindestens einem Prozesssteuerparameter über den Sensor konfiguriert,
sowie, falls eine Gefahrenbedingung erkannt wird, zum Betrieb des
Endkontrollgeräts
zur Ausführung
einer sicheren Prozessabschaltung. Beispielsweise kann ein Logic-Solver zur
Kommunikation mit einem Drucksensor verbunden sein, der den Druck
in einem Kessel oder Tank überwacht,
und er kann so konfiguriert sein, dass er bei Erkennung einer unsicheren Überdruckbedingung
durch den Drucksensor das Öffnen
eines Ablassventils veranlasst. Selbstverständlich kann jeder Logic-Solver
in einem System mit Sicherheitsmaßnahmen für die Ausführung von einer oder mehreren Funktionen
mit Sicherheitsmaßnahmen
zuständig sein,
und er kann daher zur Kommunikation mit mehreren Sensoren und/oder
Endkontrollgeräten
verbunden sein, die jeweils üblicherweise
eine Sicherheitsbestätigung
oder -zertifizierung aufweisen.
-
Die
Feldgeräte 56 und 58 können intelligente oder
nicht intelligente Sensoren, Aktuatoren und/oder sonstige Prozesssteuergeräte sein,
die zur Überwachung
von Prozessbedingungen und/oder zur Ausführung eines kontrollierten
Abschaltens des Prozesssteuersystems 10 verwendet werden
können.
Beispielsweise können
die Feldgeräte 56 und 58 Durchflusswächter, Temperatursensoren,
Druckwächter,
Abschaltventile, Belüftungsventile,
Isolationsventile oder kritische Ein/Aus-Ventile mit Sicherheitszertifizierung
bzw. -bestätigung
sein. Während im
Abschnitt 14 mit Sicherheitsmaßnahmen des beispielhaften
Prozesssteuersystems 10 in 1 nur zwei
Logic-Solver-Einrichtungen und zwei Feldgeräte dargestellt sind, können zusätzliche
Feldgeräte und/oder
Logic-Solver-Einrichtungen
verwendet werden, um eine beliebige gewünschte Anzahl von Funktionen
mit Sicherheitsmaßnahmen
zu implementieren.
-
Entsprechend
der Darstellung in 1 sind die Feldgeräte 56 und 58 zur
Kommunikation mit den Logic-Solver-Einrichtungen 52 und 54 über Verbindungen 62 bzw. 64 verbunden.
Falls die Feldgeräte 56 und 58 intelligente
Geräte
sind, können
die Logic-Solver-Einrichtungen 52 und 54 unter
Verwendung eines fest verdrahteten digitalen Kommunikationsprotokolls
(z.B. HART, Fieldbus usw.) mit den Feldgeräten 56 und 58 kommunizieren.
Beliebige andere gewünschte
Kommunikationsmedien (z.B. fest verdrahtet, drahtlos usw.) und -protokolle
können
jedoch stattdessen verwendet werden. Wie weiter in 1 dargestellt
ist, sind die Logic-Solver-Einrichtungen 52 und 54 zur
Kommunikation über
den Bus 32 und die I/O-Einrichtung 34 mit dem
Controller 16 verbunden. Die Logic-Solver-Einrichtungen 52 und 54 könnten jedoch
alternativ dazu auf eine beliebige andere gewünschte Weise zur Kommunikation
innerhalb des Systems 10 verbunden sein. Beispielsweise könnten die
Logic-Solver-Einrichtungen 52 und 54 direkt und/oder über das
LAN 24 mit dem Controller 16 verbunden sein. Ungeachtet
der Art, mit der die Logic-Solver-Einrichtungen 52 und 54 innerhalb
des Systems 10 verbunden sind, sind die Logic-Solver-Einrichtungen 52 und 54 vorzugsweise,
aber nicht notwendigerweise, logische Peers bezüglich des Controllers 16.
-
2 ist
ein ausführlicheres
Blockdiagramm mit der Darstellung einer Weise, in der die aktive
Anwendungsstation 20, der Controller 16 und die
Logic-Solver-Einrichtung 52 aus 1 konfiguriert
sein können,
um die hier beschriebenen sicheren Datenschreibvorrichtungen und
-verfahren zu implementieren. Entsprechend der Darstellung in 2 enthält die Anwendungsstation 20 eine
Vielzahl von Anwendungen 100 und einen sicheren Schreib-Server 102, die
alle unter Verwendung von maschinell zugänglichen bzw. lesbaren Anweisungen,
Code-Teilen oder Software implementiert sein können, die bei der Ausführung (z.B. über einen
oder mehrere Prozessoren wie beispielsweise über das in 9 dargestellte Prozessorsystem 902)
veranlassen, dass die Anwendungsstation 20 verschiedene,
im Folgenden ausführlicher
erläuterte
Vorgänge
ausführt.
-
Allgemein
enthalten die Anwendungen 100 Software, die zur Ausführung verschiedener
Konfigurationsfunktionen, Diagnosefunktionen, Laufzeitfunktionen
usw. des Steuersystems konfiguriert ist. Die Anwendungen 100 können zur
Bereitstellung von grafischen Schnittstellen (z.B. Bildschirmen,
Fenstern usw. mit grafischen Darstellungen von Einrichtungen, Geräten, Prozessbedingungen
usw.) implementiert sein, mit denen ein Systembediener, ein Ingenieur
oder andere autorisierte Benutzer oder Personen zur Konfiguration
des Prozesssteuersystems 10 (1), zur Überwachung
des Prozesssteuersystems 10 und/oder zur Fehlersuche im
Prozesssteuersystem 10 interaktiv kommunizieren können.
-
Entsprechend
der Darstellung in 2 enthalten die Anwendungen 100 einen
sicheren Schreibstempel 104, der es einem Systembediener oder
Benutzer ermöglicht,
grafische Objekte auszuwählen
und entsprechend der im Folgenden wiedergegebenen ausführlicheren
Beschreibung den ausgewählten
grafischen Objekten sichere grafische Schreibdialoge und ausführbare Scripts
zuzuordnen. Beispielsweise kann ein Benutzer über eine grafische Konfigurationsschnittstelle,
die von einer grafischen Konfigurationsanwendung bereitgestellt
wird, ein grafisches Objekt wie z.B. einen Funktionsblock mit Sicherheitsmaßnahmen
auswählen.
Die sichere Schreibstempel-Anwendung 104 kann dann aufgerufen
werden, um interaktiv mit dem Benutzer automatisch ein ausführbares
Script und einen oder mehrere grafische Dialoge zu erzeugen, die
dem ausgewählten
Funktionsblock mit Sicherheitsmaßnahmen zugeordnet werden.
Insbesondere fordert die sichere Schreibstempel-Anwendung 104 den
Benutzer zur Eingabe von Informationen auf, die zur automatischen
Erzeugung von sicheren Schreibdialogen und Scripts für ein ausgewähltes Gebilde
im Prozesssteuersystem 10 (1) benötigt werden.
-
Die
grafischen Dialoge (z.B. Fenster mit Textinformationen, grafischen
Informationen usw.) und die von der sicheren Schreibstempel-Anwendung 104 erzeugten
ausführbaren
Scripts sind so konfiguriert, dass, wenn der Benutzer den Funktionsblock mit
Sicherheitsmaßnahmen
zur Änderung
eines Parameterwerts und/oder zum Übertragen eines Befehls an
den Funktionsblock mit Sicherheitsmaßnahmen im Rahmen einer Laufzeitanwendung
auswählt, der
Benutzer über
die grafischen Dialoge automatisch zur Eingabe von Autorisierungsinformationen, Bestätigungsinformationen,
Informationen zu neuen Werten und/oder Befehlsinformationen aufgefordert wird.
Zusätzlich
werden die ausführbaren
Scripts, Code-Teile oder Anweisungen, die den grafischen Dialogen
zugrunde liegen, ausgeführt,
um das Zusammenwirken von einer oder mehreren der Anwendungen 100 (einschließlich der
Dialoge zu neuen Werten 106 und/oder des Dialogs zur elektronischen
Signatur 108), des sicheren Schreib-Servers 102 und
des Controllers 16 beim Schreiben neuer Informationen zu
Parameterwerten und/oder Befehlsinformationen in die Logic-Solver-Einrichtung 52 (und/oder
in die redundante Logic-Solver-Einrichtung 54) unter Verwendung
eines sicheren Datenschreibprotokolls zu veranlassen. Das sichere
Datenschreibprotokoll minimiert wesentlich oder eliminiert die Möglichkeit
des Schreibens verfälschter
oder nicht autorisierter Daten in die Logic-Solver-Einrichtung 52 und
damit in deren zugeordnete Funktion(en) mit Sicherheitsmaßnahmen.
-
Es
ist ersichtlich, dass, während
das Beispiel in 2 die Logic-Solver-Einrichtung 52 als
zur Kommunikation mit der Anwendungsstation 20 über den Controller 16 verbunden
darstellt, stattdessen andere Kommunikationsschemen verwendet werden
können.
Beispielsweise kann die Logic-Solver-Einrichtung 52 über das
LAN 24 und/oder eine (nicht dargestellte) Kommunikationsverbindung,
die vom LAN 24 getrennt bzw. unabhängig ist, zur Kommunikation
mit der Anwendungsstation 20 und/oder dem Controller 16 verbunden
sein. Weiter können,
sofern dies ertwünscht
oder zur Einhaltung anwendbarer Sicherheitsnormen erforderlich ist,
(nicht dargestellte) redundante Kommunikationsver bindungen verwendet werden,
um die Logic-Solver-Einrichtung 52 zur Kommunikation mit
dem Controller 16 und/oder mit der Anwendungsstation 20 zu
verbinden. Es ist ferner ersichtlich, dass, während die Logic-Solver-Einrichtung 52 in 2 als
vom Controller 6 physisch abhängig dargestellt ist, es dennoch
wünschenswert oder
notwendig sein kann sicherzustellen (z.B. zur Einhaltung bestimmter
Sicherheitsnormen), dass die mit der Logic-Solver-Einrichtung 52 verbundenen Stromversorgungsleitungen
und Verbindungen, Kommunikationsleitungen usw. von den vom Controller 16 benutzten
Leitungen getrennt oder funktionell unabhängig sind. Weiter könnten die
Logic-Solver-Einrichtung 52 und der Controller 16,
obwohl die Logic-Solver-Einrichtung 52 und der Controller 16 physisch
getrennt dargestellt sind, physisch als Einheit vorliegen.
-
Weiter
könnte
der sichere Schreib-Server 102, obwohl der beispielhafte
sichere Schreib-Server 102 als Bestandteil bzw. Komponente
der Anwendungsstation 20 dargestellt ist, stattdessen Teil
einer anderen Einrichtung oder eines anderen Systems sein, wie z.B.
einer anderen Anwendungsstation. In diesem Fall kann der sichere
Schreib-Server 102 zur Kommunikation über eine oder mehrere getrennte
sichere und kompatible Kommunikationsverbindung(en) mit der Anwendungsstation 20 verbunden sein.
-
3 ist
ein Ablaufdiagramm mit der Darstellung eines beispielhaften Verfahrens 300,
das von der Anwendungsstation 20 (2) verwendet werden
kann, um einen sicheren Parameter (z.B. einen einer Funktion mit
Sicherheitsmaßnahmen
zugeordneten Parameter) in der Logic-Solver-Einrichtung 52 (2)
zu ändern.
Insbesondere ermöglicht
es das beispielhafte Verfahren 300 einer der Anwendungen 100 (2),
die durch die Anwendungsstation 20 ausführbar sind, einen sicheren
Parameter zu ändern,
der einer von der Logic-Solver-Einrichtung 52 ausgeführten Funktion
mit Sicherheitsmaßnahmen zugeordnet
ist. Beispielsweise kann ein Systembediener oder ein anderer autorisierter
Benutzer interaktiv mit einer Konfigurations- oder Laufzeitanwendung
die Änderung
des sicheren Parameters wünschen
(oder dazu gezwungen sein), um eine gewünschte Sicherheitsbedingung
oder -stufe zu erzielen, um den Betrieb einer sicherheitsbezogenen Komponente
oder Einrichtung zu prüfen
(z.B. die Funktionstüchtigkeit
eines Endkontrollelements wie eines Sicherheitsventils), um den
Betrieb von einer oder mehreren Funktionen mit Sicherheitsmaßnahmen
zu testen usw.
-
Wie
im Folgenden in Verbindung mit 10-16 ausführlicher
beschrieben ist, können einige
der oder alle Interaktionen zwischen Systembedienern oder anderen
Benutzern und den verschiedenen Aspekten der hier beschriebenen
beispielhaften sicheren Datenschreibvorrichtungen und -verfahren
interaktive grafische Anzeigen, Schnittstellen oder Dialoge beinhalten.
Wie im Folgenden erläutert
wird, können
diese grafischen Anzeigen, Schnittstellen oder Dialoge den Aufruf
von zugrunde liegenden Scripts, Code-Teilen oder Anweisungen erleichtern,
die das Zusammenwirken der Anwendungsstation 20, des sicheren
Schreib-Servers 102, des Controllers 1G und/oder
der Logic-Solver-Einrichtung 52 veranlassen, um sichere
Datenschreibvorgänge
auf eine Weise auszuführen,
die die Möglichkeit
im Wesentlichen ausschließt,
dass die Logic-Solver-Einrichtung 52 keine Daten oder Informationen
erhält,
dass die Logic-Solver-Einrichtung 52 mit verfälschten
Informationen oder Daten arbeitet, dass die Logic-Solver-Einrichtung 52 mit
Falschdaten arbeitet usw. Wie im Folgenden weiter ausführlicher
beschrieben ist, verbessern diese grafischen Anzeigen, Schnittstellen
oder Dialoge ferner die Möglichkeiten
eines Systembedieners oder sonstigen Benutzers bei der Konfiguration
oder Änderung sicherheitsbezogener
Systeme und bei der Übertragung
von Informationen oder Daten zu der/den Logic-Solver-Einrichtung(en) in Zusammenhang
mit den sicherheitsbezogenen Systemen, während die Einhaltung von sicherheitsbezogenen
Normen wie IEC 61508 sichergestellt ist.
-
Bei
ausführlicher
Betrachtung des in 2 dargestellten beispielhaften
Verfahrens 300 sieht man, dass in Abhängigkeit von der Anforderung durch
einen Systembediener oder Benutzer oder in Abhängigkeit von einer durch eine
Softwareanwendung erfolgten Anforderung die Anwendung (z.B. eine
Laufzeitanwendung) ein Wertänderungsverfahren
(z.B. eine SetValue-Methode) im sicheren Schreib-Server 102 aus 2 (Block 302)
aufruft. Beim Aufruf des Wertänderungsverfahrens
kann die Anwendung den Pfad (z.B. die Anordnung des Parameters in
der Logic-Solver-Einrichtung 52), den Typ des Parameters
und den aktuellen Wert des Parameters an den sicheren Schreib-Server 102 weiterleiten. Ein
Systembediener oder ein anderer Benutzer kann einen Aufruf des Wertänderungsverfahrens
im sicheren Schreib-Server 102 durchführen, z.B. über die Auswahl eines grafischen
Objekts, das ein Gerät, eine
Einrichtung, einen Funktionsblock mit Sicherheitsmaßnahmen
usw. darstellen kann und das zum Beispiel unter Verwendung des im
Folgenden ausführlicher
beschriebenen sicheren Schreibstempels 104 zugrunde liegenden
Scripts, Code-Teilen oder Anweisungen zugeordnet worden ist.
-
Nach
dem Aufruf des Wertänderungsverfahrens
durch die Anwendung in Block 302 zeigt die Anwendung dem
Systembediener oder Benutzer einen neuen Wertedialog an (z.B. durch
Auswahl aus den in 2 dargestellten Dialogen 106)
(Block 304). Allgemein zeigt der neue Wertedialog den Parameterpfad
und den aktuellen Wert des Parameters über ein grafisches Fenster
oder eine andere Anzeige an, wobei eine Vielzahl von textlichen
und grafischen Informationen enthalten sein kann, um die Änderung
des Parameterwerts zu erleichtern. Der Systembediener oder Benutzer
kommuniziert dann interaktiv mit dem in Block 304 wiedergegebenen
neuen Wertedialog, um einen gewünschten
neuen Parameterwert einzugeben (Block 302). Ein Beispiel
eines neuen Wertedialogs ist im Folgenden in Zusammenhang mit 15 und 16 beschrieben.
-
Nachdem
der Systembediener oder Benutzer den neuen Parameterwert in Block 306 eingegeben
hat, bestimmt das beispielhafte Verfahren 300, ob die elektronische
Signaturprüfung
aktiviert ist (Block 308). Falls die elektronische Signaturprüfung in
Block 308 aktiviert ist, führt das beispielhafte Verfahren 300 unter
Verwendung eines beliebigen bereits bekannten Signaturanalyse-Verfahrens
eine elektronische Signaturanalyse durch (Block 310). Nach
der Durchführung
der elektronischen Signaturanalyse in Block 310 ermittelt
bzw. prüft
das beispielhafte Verfahren 300 anschließend, ob
die Signatur einer Person zugeordnet ist, die für die Vornahme der angeforderten Änderung
des Parameterwerts autorisiert ist (Block 312). Falls die
Signatur nicht in Block 312 bestätigt wird (z.B. wenn die Person,
die die Parameterwertänderung
anfordert, nicht zur Vornahme der angeforderten Änderung autorisiert ist), wird
das beispielhafte Verfahren 300 beendet, bzw. es kehrt zu
einer aufrufenden Routine zurück.
-
Falls
dagegen die elektronische Signaturprüfung nicht aktiviert ist (Block 308)
oder falls die Signatur in Block 312 bestätigt wird,
veranlasst das beispielhafte Verfahren 300, dass die Anwendung
den neuen Parameterwert zum sicheren Schreib-Server 102 sendet
(Block 314), der wiederum, wie im Folgenden ausführlicher
beschrieben ist, eine sichere Schreibanforderung zur Logic-Solver-Einrichtung 52 (2)
absetzt. Nach der Übertragung
des neuen Parameterwerts zum sicheren Schreib-Server 102 wartet
die Anwendung auf den Empfang des Status der sicheren Schreibanforderung
(Block 316).
-
4A ist
ein Ablaufdiagramm mit der Wiedergabe eines beispielhaften Verfahrens 400,
das vom sicheren Schreib-Server 102 (2)
verwendet werden kann; um einen sicheren Parameter (z.B. einen einer
Funktion mit Sicherheitsmaßnahmen
zugeordneten Parameter) in der Logic-Solver-Einrichtung 52 (2)
zu ändern.
Insbesondere ermöglicht
es das beispielhafte Verfahren 400 dem sicheren Schreib-Server 102,
mit dem Controller 16 zu kooperieren, um dem Controller 16 die Änderung
eines Parameterwerts in der Logic-Solver-Einrichtung 52 zu ermöglichen.
-
Bei
ausführlicher
Betrachtung des in 4A dargestellten beispielhaften
Verfahrens 400 sieht man, dass der sichere Schreib-Server 102 (2) bestimmt,
ob ein sicheres Schreibverfahren aufgerufen wurde (Block 402).
Beispielsweise kann das sichere Schreibverfahren entsprechend der
vorstehenden Beschreibung in Zusammenhang mit dem in 3 dargestellten
Block 302 von einer Anwendung aufgerufen werden. Wenn der
sichere Schreib-Server 102 ermittelt, dass das sichere
Schreibverfahren in Block 402 aufgerufen worden ist, sendet
der sichere Schreib-Server 102 in jedem Fall eine sichere Schreibanforderung
an den Controller 16 (2) (Block 404).
Die sichere Schreibanforderung kann Informationen zur Parameterwertänderung
enthalten sowie den Pfad in Zusammenhang mit dem zu ändernden
Parameter, den neuen Parameterwert und einen CRC-Wert für die Anforderung.
-
Nach
der Übertragung
der sicheren Schreibanforderung in Block 404 erzeugt der
sichere Schreib-Server 102 einen Bestätigungsdialog (Block 406).
Insbesondere wird der Bestätigungsdialog
vom sicheren Schreib-Server 102 unter Verwendung einer Kopie
der von der Anwendung in Block 314 des in 3 dargestellten
beispielhaften Verfahrens 300 übertragenen Daten erzeugt.
Ein Beispiel eines grafischen/textlichen Bestätigungsdialogs ist im Folgenden
in Zusammenhang mit 16 beschrieben.
-
Nach
dem Erzeugen des Bestätigungsdialogs
in Block 406 wartet der sichere Schreib-Server 102 (2)
auf die Bestätigung
durch den Controller 16 (2), dass
die vom sicheren Schreib-Server 102 in Block 402 übertragene
sichere Schreibanforderung intakt empfangen wurde (z.B. dass die
mit der Anforderung übertragenen
CRC-Informationen vom Controller 16 verwendet werden, um
zu bestimmen, dass die empfangenen Rohdaten im Wesentlichen intakt
bzw. ohne Verfälschung
empfangen wurden) (Block 408). Nachdem der sichere Schreib-Server 102 eine
Empfangsbestätigung
der sicheren Schreibanforderung vom Controller 16 erhalten
hat, aktiviert der sichere Schreib-Server 102 die Bestätigungsschaltfläche oder
eine andere Grafik, die dem in Block 406 erzeugten Bestätigungsdialog
zugeordnet ist (Block 410).
-
Nachdem
die Bestätigungsschaltfläche in Block 410 aktiviert
worden ist, bestimmt der sichere Schreib-Server 102, ob
der Systembediener oder sonstige Benutzer die Bestätigungsschaltfläche ausgewählt hat
(d.h. ob er die sichere Parameterwertänderung bestätigt bzw. überprüft hat)
(Block 412). Wenn der Benutzer die Bestätigungsschaltfläche in Block 412 nicht
ausgewählt
hat, bestimmt der Server 102, ob der Benutzer eine Löschschaltfläche ausgewählt hat
(Block 414) oder ob der Zeitraum, in dem eine Bestätigung ausgewählt werden
muss, abgelaufen ist (Block 416). Wenn weder eine Löschanforderung
noch ein Zeitablauf eingetreten ist, gibt der sichere Schreib-Server 102 die
Kontrolle an Block 412 zurück. Falls andererseits entweder
eine Löschanforderung
(Block 414) oder ein Zeitablauf (Block 416) eingetreten
ist, gibt der Server die Kontrolle an Block 422 weiter.
-
Nach
einer Bestätigung
in Block 412 sendet der sichere Schreib-Server 102 eine
sichere Parameterbestätigungs-Anforderung
zum Controller 16 (Block 418). Die sichere Parameterbestätigungs-Anforderung
wird zum Controller 16 zusammen mit einem Parameterwert-Änderungsbefehl übertragen
sowie mit dem Pfad, der dem zu ändernden
Parameter zugeordnet ist, dem neuen, vom (in Block 406 eingeleiteten)
Bestätigungsdialog
empfangenen Parameterwert und dem CRC-Wert für die Bestätigungsanforderung.
-
Nach
dem Senden der Parameterbestätigungs-Anforderung
zum Controller 16 wartet der sichere Schreib-Server 102 auf
eine Antwort vom Controller 16, die entsprechend der im
Folgenden wiedergegebenen ausführlicheren
Beschreibung angibt, dass der Controller 16 eine Antwort
von der Logic-Solver-Einrichtung 52 erhalten hat (Block 420). Anschließend sendet
der sichere Schreib-Server 102 nach dem Erhalt der Antwort
vom Controller 16 in Block 420 einen sicheren
Schreibstatus (z.B. Informationen mit der Angabe, dass die angeforderte
Parameterwertänderung,
der Befehl usw. abgearbeitet oder auf andere Weise ausgeführt worden
ist) zur aufrufenden Anwendung (Block 422). Wie vorstehend
beschrieben, wird dieser Status von der aufrufenden Anwendung beispielsweise
in Block 316 des in 3 wiedergegebenen
beispielhaften Verfahrens 300 empfangen.
-
Wie
aus der vorstehenden Beschreibung ersichtlich ist, sendet der sichere
Schreib-Server 102 somit
die Informationen zur Parameterwertänderung zweimal zum Controller 16.
Insbesondere sendet der sichere Schreib-Server 102 die
Informationen zur Parameterwertänderung
ein erstes Mal in Abhängigkeit von
Informationen zur Parameterwertänderung,
die von einer Anwendung an ihn übertragen
wurden (z.B. in Block 314 in 3), zum
Controller 16, und er sendet redundante (d.h. identische
oder zumindest im Wesentlichen identische) Informationen zur Parameterwertänderung
in Verbindung mit einem Bestätigungsdialog
(z.B. in den in 4A dargestellten Blöcken 406 bis 408)
ein zweites Mal zum Controller 16. Wie im Folgenden ausführlicher
beschrieben ist, werden die redundanten Informationen zur Parameterwertänderung
vom Controller 16 und von der Logic-Solver-Einrichtung 52 verwendet,
um die Wahrscheinlichkeit im Wesentlichen auszuschließen, dass Informationen
(wie die Informationen zur Parameterwertänderung) die Logic-Solver-Einrichtung 52 nicht erreichen
(d.h. dort nicht empfangen werden), dass verfälschte Informationen die Logic-Solver-Einrichtung 52 erreichen
und dort abgearbeitet werden, und/oder dass Falschinformationen
die Logic-Solver-Einrichtung 52 erreichen und dort abgearbeitet werden.
Auf diese Weise kann ein System mit Sicherheitsmaßnahmen
wie das in 1 wiedergegebene beispielhafte
System 10 sicherheitsbezogene Normen (z.B. die Norm IEC
61508) besser erfüllen.
-
4B ist
ein Ablaufdiagramm mit der Wiedergabe eines beispielhaften Verfahrens 450,
das vom in 2 dargestellten sicheren Schreib-Server 102 verwendet
werden kann, um an den in 2 dargestellten
Controller 16 eine sichere Datenschreibanforderung zu senden
(Block 404 in 4A). Anfänglich gibt der sichere Schreib-Server 102 die
sicheren Schreibdaten unter Verwendung von Client-Daten vor (die
z.B. von einer der Anwendungen 100 empfangen und beispielsweise
in Block 316 aus 3 oder in
Block 708 in 7 übertragen werden) (Block 452).
Der sichere Schreib-Server 102 erzeugt dann eine Meldung
zur sicheren Schreibanforderung mit den in Block 452 vorgegebenen
sicheren Schreibdaten (Block 454). Der sichere Schreib-Server 102 analysiert
dann die in Block 454 erzeugte Meldung zur sicheren Schreibanforderung,
um daraus die sicheren Schreibdaten zu entnehmen (Block 456).
Der Server 102 vergleicht dann die in Block 456 entnommenen Daten
mit den in Block 454 vorgegebenen Daten (Block 458).
Falls die entnommenen Daten und die vorgegebenen Daten in Block 458 als übereinstimmend
ermittelt werden, sendet der sichere Schreib-Server 102 die
Meldung zur sicheren Schreibanforderung zum Controller 16 (Block 460), und
der Server 102 übergibt
die Kontrolle an Block 406 aus 4A. Die
in Block 456 entnommenen analysierten Daten werden vom
sicheren Schreib-Server 102 in
Block 406 aus 4A verwendet, um die im Bestätigungsdialog
wiedergegebenen Daten oder Befehlsinformationen zu erzeugen. Auf diese
Weise kann dem Benutzer der Inhalt der Meldung angezeigt werden,
wobei anschließend
im Block 412 aus 4A eine
Bestätigung
angefordert wird. Wenn in Block 458 die entnommenen Daten und
die vorgegebenen Daten als unterschiedlich ermittelt werden, kann
der sichere Schreib-Server 102 auf eine beliebige bereits
bekannte Weise eine Fehlerbehandlungsroutine ausführen (Block 462).
-
4C ist
ein Ablaufdiagramm mit der Wiedergabe eines beispielhaften Verfahrens 470,
das vom in 2 dargestellten sicheren Schreib-Server 102 verwendet
werden kann, um an den in 2 dargestellten
Controller 16 eine sichere Bestätigungsanforderung zu senden
(Block 418 in 4A). Anfänglich gibt der sichere Schreib-Server 102 die
Bestätigungsanforderungsdaten
unter Verwendung von vom Bestätigungsdialog
empfangenen Daten (Block 406 in 4A) vor
(Block 472). Der sichere Schreib-Server 102 erzeugt
dann eine Meldung zur Bestätigungsanforderung
mit den in Block 472 vorgegebenen Bestätigungsanforderungsdaten (Block 474).
Der sichere Schreib-Server 102 analysiert dann die in Block 474 erzeugte
Meldung zur Bestätigungsanforderung,
um daraus die Bestätigungsanforderungsdaten
zu entnehmen (Block 476). Der Server 102 vergleicht
dann die in Block 476 entnommenen Daten mit den in Block 472 vorgegebenen
Daten (Block 478). Falls die entnommenen Daten und die vorgegebenen
Daten in Block 478 als übereinstimmend
ermittelt werden, sendet der sichere Schreib-Server 102 die
Meldung zur Bestätigungsanforderung
zum Controller 16 (Block 480), und der Server 102 übergibt
die Kontrolle an Block 420 aus 4A. Wenn
in Block 478 die entnommenen Daten und die vorgegebenen
Daten als unterschiedlich ermittelt werden, kann der sichere Schreib-Server 102 auf
eine beliebige bereits bekannte Weise eine Fehlerbehandlungsroutine
ausführen
(Block 482).
-
Wie
aus der vorstehenden Beschreibung ersichtlich ist, werden die sicheren
Schreibanforderungen und die Bestätigungsanforderungen mit unabhängigen Prozessen
erzeugt. Ein solches Verfahren ermöglicht das Erkennen (z.B. eine
visuelle Erkennung durch einen Benutzer, der einen Bestätigungsdialog
betrachtet, eine automatische Erkennung als Ergebnis eines fehlgeschlagenen
Vergleichs usw.) eines einzelnen Defekts oder Fehlers wie auch von mehreren
Defekten oder Fehlern im Prozess der Datentransformation in Meldungen,
die an einen Controller und/oder an eine Logic-Solver-Einrichtung übertragen
werden sollen.
-
5 ist
ein Ablaufdiagramm mit der Wiedergabe eines beispielhaften Verfahrens 500,
das vom in 2 dargestellten Controller 16 verwendet werden
kann, um eine Änderung
eines sicheren Parameters (z.B. eines Parameters, der einer Funktion mit
Sicherheitsmaßnahmen
zugeordnet ist) in der Logic-Solver-Einrichtung 52 (2)
vorzunehmen. Insbesondere vergleicht das beispielhafte Verfahren 500 die
redundanten Informationen zur Parameterwertänderung, die es vom sicheren
Schreib-Server 102 empfängt,
und es kommuniziert auf der Grundlage des Vergleichs mit der Logic-Solver-Einrichtung 52 um
sicherzustellen, dass die Logic-Solver-Einrichtung 52 die
gewünschten
Informationen zur Parameterwertänderung
empfängt
und keinen Parameterwert in Abhängigkeit
von fehlerhaften oder falschen Daten ändert.
-
Bei
ausführlicher
Betrachtung des beispielhaften Verfahrens 500 bestimmt
der Controller 16 (2), ob eine
sichere Schreibanforderung empfangen wurde (Block 502).
Falls eine sichere Schreibanforderung (z.B. eine in der Logic-Solver-Einrichtung 52 vorzunehmende
Parameterwertänderung)
vom sicheren Schreib-Server 102 empfangen wurde (z.B. in
Block 404 aus 4A), speichert der Controller 16 die
Anforderungsdaten (Block 504). Die Anforderungsdaten (z.B.
die Pfadinformationen zum Parameterwert, der in der Logic-Solver-Einrichtung 52 geändert werden
soll, der neue Parameterwert, CRC-Informationen usw.) können in einer
Speicherposition gespeichert werden, die einem dem Parameter zugeordneten
Funktionsblock oder Modul zugeordnet ist. Nach dem Speichern der sicheren
Schreibanforderungsdaten in Block 504 sendet der Controller 16 eine
Anforderungseingangsbestätigung
zum sicheren Schreib-Server 102 (Block 506). Wie
vorstehend beschrieben, überwacht
der sichere Schreib-Server 102 die vom Controller 16 abgesandte
Anforderungsquittierung (Block 506) in Block 408 aus 4A.
-
Der
Controller 16 wartet dann auf den Eingang der Bestätigungsanforderung
zum sicheren Parameter, die vom sicheren Schreib-Server 102 in Block 422 aus 4A abgesandt
wird (Block 508). Wenn die Informationen der sicheren Bestätigungsanforderung
zum Parameter (d.h. die redundanten Informationen zur Parameterwertänderung)
in Block 508 empfangen werden, löscht der Controller 16 den Timer
(Block 509), der dem im Folgenden beschriebenen Timeout-Mechanismus
zugeordnet ist, und speichert die Informationen zur Bestätigungsanforderung
in einer zweiten Speicherposition, die ebenfalls dem Funktionsblock
oder Modul zugeordnet ist, dem die in Block 504 gespeicherten
Daten zugeordnet sind (Block 510). Der Controller 16 vergleicht
dann die sicheren Anforderungsdaten (in Block 504 gespeichert)
mit den Daten zur sicheren Bestätigungsanforderung
(in Block 510 gespeichert), und, falls die Daten übereinstimmen
(oder zumindest im Wesentlichen identisch sind), sendet der Controller 16 die
ursprünglichen
sicheren Schreibanforderungsdaten (in Block 504 gespeichert)
und die übereinstimmenden Daten
zur sicheren Bestätigungsanforderung
(in Block 510 gespeichert) zur Logic-Solver-Einrichtung 52 (Block 514).
-
Nach
dem Senden der Daten zur Logic-Solver-Einrichtung 52 in
Block 514 wartet der Controller 16 auf eine Bestätigung des
Dateneingangs durch die Logic-Solver-Einrichtung 52 (Block 516).
Nach dem Eingang der Bestätigung
in Block 516 sendet der Controller 16 eine Bestätigung bzw.
Antwort zum sicheren Schreib-Server 102 (Block 518),
die vom sicheren Schreib-Server 102 in Block 420 aus 4A empfangen
wird.
-
Wie
bei dem beispielhaften Verfahren 500 in 5 dargestellt
ist, verwendet der Controller 16 einen Timeout-Mechanismus
in Verbindung mit dem Empfang einer sicheren Bestätigungsanforderung (Block 508).
Wenn der Controller 16 die sichere Bestätigungsanforderung in Block 508 nicht
empfangen hat, bestimmt der Controller insbesondere (z.B. auf der
Grundlage eines Timers), ob seit dem Eingang der sicheren Schreibanforderungsdaten
in Block 502 ein bestimmter Zeitraum verstrichen ist (Block 520). Falls
ein bestimmter bzw. vorgegebener Zeitraum in Block 520 verstrichen
ist (d.h. dass ein Timeout eingetreten ist), löscht der Controller die anstehende
sichere Schreibanforderung (Block 522) und sendet eine
diesbezügliche
Fehlermeldung zum sicheren Schreib-Server 102 (Block 524).
Die Timeout-Zeit (d.h. der einer Timeout-Bedingung zugeordnete Zeitraum
kann auf Informationen basieren, die beispielsweise von der aufrufenden
Anwendung über
den sicheren Schreib-Server 102 zum Controller 16 übertragen
werden (z.B. über
die Blöcke 314, 404 und 418),
oder auf einem vorgegebenen Default-Wert, oder sie kann auf eine
beliebige andere gewünschte Weise
bestimmt werden.
-
Zusätzlich zu
einer Timeout-basierten Fehlermeldung kann der Controller 16 auch
eine Fehlermeldung absenden (Block 524), falls die ursprünglichen
Anforderungsdaten (d.h. die in Block 504 gespeicherten
Daten) und die Bestätigungsdaten
(in Block 510 gespeichert) in Block 512 nicht übereinstimmen
(z.B. nicht identisch oder zumindest im Wesentlichen identisch sind).
-
6 ist
ein Ablaufdiagramm mit der Wiedergabe eines beispielhaften Verfahrens 600,
das von der in 2 dargestellten Logic-Solver-Einrichtung 52 verwendet
werden kann, um eine Änderung eines
sicheren Parameters (z.B. eines Parameters, der einer Funktion mit
Sicherheitsmaßnahmen
zugeordnet ist) in der Logic-Solver-Einrichtung 52 (2) vorzunehmen.
Insbesondere analysiert das beispielhafte Verfahren 600 die
Pfad- und CRC-Informationen und bestimmt, ob die Informationen der
ursprünglichen
sicheren Schreibanforderung und die Informationen der Bestätigung der
sicheren Schreibanforderung übereinstimmen
(oder zumindest im Wesentlichen übereinstimmen),
um beispielsweise zu bestimmen, ob ein neuer Wert sicher in einen
Parameter geschrieben werden kann, der einer Funktion der Logic-Solver-Einrichtung 52 mit
Sicherheitsmaßnahmen
zugeordnet ist.
-
Mit
Bezug auf das in 6 wiedergegebene ausführliche
Ablaufdiagramm bestimmt die Logic-Solver-Einrichtung 52,
ob Daten oder Informationen zur Parameterwert-Änderungsanforderung
empfangen wurden (Block 602). De Daten zur Parameterwert-Änderungsanforderung umfassen
die in Block 514 aus 5 übertragenen
Daten zur sicheren Schreibanforderung und zur Bestätigung der
sicheren Schreibanforderung. Die Logic-Solver-Einrichtung 52 bestimmt
anschließend,
ob die ursprünglichen
Daten zur sicheren Schreibanforderung und die Daten der Bestätigungsanforderung übereinstimmen (Block 604).
Der Vergleichsvorgang in Block 604 kann angesichts des
zuvor in Block 512 aus 5 vom Controller 16 durchgeführten Vergleichsvorgangs
redundant sein. Eine derartige redundante Übereinstimmungserkennung bei
der Logic-Solver-Einrichtung 52 erhöht jedoch weiter die Sicherheit
in einer Situation, wobei der Controller 16 trotz einer fehlenden Übereinstimmung
in Block 512 aus 5 die Informationen
zur sicheren Schreibanforderung zur Logic-Solver-Einrichtung 52 sendet.
-
Falls
die Daten zur sicheren Schreibanforderung und die Daten zur Schreibanforderungsbestätigung in
Block 604 übereinstimmen
(d.h. dass sie identisch oder zumindest im Wesentlichen identisch sind),
bestimmt die Logic-Solver-Einrichtung 52, ob der/die CRC-Wert(e)
und der Pfad für
die Anforderungsdaten zulässig,
gültig,
korrekt usw. sind (Block 606). Falls der/die CRC-Wert(e)
und der Pfad in Block 606 korrekt sind, schreibt die Logic-Solver-Einrichtung 52 die
neuen Daten (d.h. den neuen Parameterwert) in den Parameter (Block 608).
Nach dem Schreiben des neuen Parameterwerts in den Parameter in
Block 608 sendet die Logic-Solver-Einrichtung 52 den
Schreibstatus zum Controller 16 (Block 610). Wie
vorstehend beschrieben, überwacht
der Controller 16 die Schreibstatusinformationen in Block 516 aus 5.
Im Anschluss an die Kommunikation der Schreibstatusinformationen
an den Controller 16 sendet die Logic-Solver-Einrichtung 52 die
Informationen zur Änderungsanforderung
(d.h. die neuen Parameterwertinformationen) über die redundante Verbindung 60 (1)
zur Standby-Logic-Solver-Einrichtung (z.B. der in 1 dargestellten
Logic-Solver-Einrichtung 54).
-
Entsprechend
der Darstellung in 1 kann die Logic-Solver-Einrichtung 52 auch
so konfiguriert sein, dass sie Fehlermeldungen zum Controller 16 sendet
(Block 614). Falls die vom Controller 16 zur Logic-Solver-Einrichtung 52 übertragenen
ursprünglichen
Daten zur sicheren Schreibanforderung und die anschließend erzeugten
Informationen zur Bestätigungsanforderung
in Block 604 nicht übereinstimmen,
oder falls die CRC- und Pfadinformationen in Block 606 nicht
korrekt sind, wird insbesondere in Block 614 eine diesbezügliche Fehlermeldung
zum Controller 16 gesandt.
-
Während die
vorstehend in Verbindung mit 3, 4, 5 und 6 beschriebenen
beispielhaften Verfahren beispielhafte Arten von möglichen Konfigurationen
der Anwendungsstation 20, des Controllers 16 und
der Logic-Solver-Einrichtung 52 zum Zusammenwirken für die Ausführung einer
sicheren Parameterwertänderung
darstellen, können die
beispielhaften Verfahren allgemeiner beim Schreiben anderer Daten
in eine Logic-Solver-Einrichtung
(z.B. die Logic-Solver-Einrichtung 52) angewandt werden.
Wie im Folgenden in Verbindung mit 7 beschrieben
wird, können
die Anwendungsstation 20, der Controller 16 und
die Logic-Solver-Einrichtung 52 beispielsweise so konfiguriert sein,
dass sie bei der Ausführung
sicherer Befehle in der Logic-Solver-Einrichtung 52 kooperieren.
Anders ausgedrückt,
kann ein Systembediener oder sonstiger Benutzer beispielsweise über eine
in der Anwendungsstation 20 ausgeführte Laufzeitanwendung einen
oder mehrere Befehle auf eine Weise zur Logic-Solver-Einrichtung 52 senden,
die mit einer oder mehreren für
Systeme mit Sicherheitsmaßnahmen geltenden
Normen kompatibel ist. Eine derartige sichere Befehlsübertragung
minimiert wesentlich die Wahrscheinlichkeit, dass ein oder mehrere
von einem Systembediener oder sonstigem Benutzer übertragene
Befehle die Logic-Solver-Einrichtung 52 nicht erreichen,
dass ein oder mehrere verfälschte Befehle
durch die Logic-Solver-Einrichtung 52 abgearbeitet oder
ausgeführt
werden, und/oder dass ein oder mehrere Falschbefehle durch die Logic-Solver-Einrichtung 52 abgearbeitet
oder ausgeführt
werden.
-
Bei
genauer Betrachtung von 7 stellt ein Ablaufdiagramm
ein beispielhaftes Verfahren 700 dar, das von der Anwendungsstation 20 zum
Senden von Befehlen auf sichere Weise verwendet werden kann, die
mit einer sicherheitsbezogenen Norm für Systeme mit Sicherheitsmaßnahmen
kompatibel ist. In Abhängigkeit
von der über
eine Anwendung (z.B. eine Laufzeitanwendung) durch einen Systembediener
oder sonstigen Benutzer erfolgten Auswahl einer Grafik, die ein
Gerät,
eine Einrichtung, ein Funktionsmodul und/oder einen Funktionsblock
darstellt, und von der Eingabe eines Befehls (z.B. eines erzwungenen
Wechsels zu einer redundanten Logic-Solver-Einrichtung) ruft die
Anwendung anfänglich
ein sicheres Befehlsverfahren im sicheren Schreib-Server 102 auf
(Block 702). Der gewünschte
Befehl kann beispielsweise über
eine Tastatur als Textinformation eingegeben werden, und/oder er
kann beispielsweise unter Verwendung einer Zeigeeinrichtung wie
z.B. einer Maus, eines Trackballs usw. als grafisches Objekt ausgewählt werden.
-
Nachdem
die Anwendung in Block 702 das sichere Befehlsverfahren
im sicheren Schreib-Server 102 aufgerufen hat, legt die
Anwendung dem Systembediener oder sonstigen Benutzer einen Bestätigungsdialog
vor (Block 704). Das beispielhafte Verfahren 700 wartet
dann auf eine Bestätigung
durch den Systembediener oder sonstigen Benutzer (Block 706).
Eine solche Bestätigung
kann implementiert sein, indem es dem Systembedie ner oder sonstigen Benutzer
ermöglicht
wird, eine grafische Schaltfläche zur
Bestätigung
auszuwählen
oder Textinformationen zur Bestätigung
einzugeben, und/oder auf eine beliebige andere gewünschte Weise.
Wenn die sichere Befehlseingabe in Block 706 bestätigt ist,
sendet die Anwendungsstation 20 die sicheren Befehlsinformationen
zum sicheren Schreib-Server 102 (Block 708). In
Block 710 empfängt
die Anwendungsstation 20 (und die Anwendung) den Status
der sicheren Schreibanforderung in Zusammenhang mit den in Block 708 übertragenen
sicheren Befehlsinformationen.
-
Für die Ausführung der
sicheren Befehlseingabe in der Logic-Solver-Einrichtung 52 sind
der sichere Schreib-Server 102, der Controller 16 und
die Logic-Solver-Einrichtung 52 allgemein so konfiguriert,
dass die sichere Befehlseingabe unter Verwendung der in 4, 5 bzw. 6 dargestellten beispielhaften
Verfahren ausgeführt
wird. Statt der Abarbeitung und Übertragung
von Parameterwertinformationen zwischen der Anwendungsstation 20, dem
Controller 16 und der Logic-Solver-Einrichtung 52 werden
jedoch zwischen den verschiedenen Gebilden Befehlsinformationen
abgearbeitet (z.B. gespeichert, verglichen usw.) und übertragen.
-
Zur
Vereinfachung der Konfiguration von Systemen mit Sicherheitsmaßnahmen
enthält
das in 1 dargestellte beispielhafte System 10 die
sichere Schreibstempelanwendung 104. Allgemein ermöglicht der
sichere Schreibstempel 104 einem Systembediener oder Benutzer
die Erzeugung von grafischen Objekten und/oder Anzeigen und ausführbaren
Basis-Scripts für
Einrichtungen, Geräte,
Funktionsmodule, Funktionsblöcke
usw. in Zusammenhang mit einer oder mehreren Funktionen mit Sicherheitsmaßnahmen.
Insbesondere erleichtert der sichere Schreibstempel 104 die
konsistente, schnelle und im Wesentlichen automatische Erzeugung
von sicherheitszertifizierten oder -kompatiblen Dialogen und ausführbaren
Scripts für
Systeme mit Sicherheitsmaßnahmen.
Die grafischen Dialoge und Scripts können während der Laufzeit aufgerufen
werden, um einem Systembediener oder sonstigen Benutzer unter Verwendung
der vorstehend in Verbindung mit 3–7 beschriebenen
beispielhaften sicheren Datenschreibverfahren die Ausführung einer
sicheren Parameterwertänderung
in der Logic-Solver-Einrichtung 52, die sichere Befehlseingabe
in die Logic-Solver-Einrichtung 52 usw. zu ermöglichen.
-
8 ist
ein Ablaufdiagramm mit der Wiedergabe eines beispielhaften Verfahrens 800,
das zur Implementierung des sicheren Schreibstempels 104 (2)
verwendet werden kann. Anfänglich kann
der sichere Schreibstempel 104 während der Konfiguration des
beispielhaften Systems 10 (1) aufgerufen
werden, beispielsweise in Abhängigkeit von
der Auswahl (z.B. durch Markieren und Klicken mit einer Zeigevorrichtung
wie einer Maus) eines grafischen Objekts (z.B. eines Funktionsblocks
oder Moduls), das einer Funktion mit Sicherheitsmaßnahmen zugeordnet
ist, die von einer oder von beiden Logic-Solver-Einrichtungen 52 bzw. 54 ausgeführt wird. Falls
der sichere Schreibstempel 104 in Block 802 aufgerufen
wurde, bestimmt der sichere Schreibstempel 104, ob ein
Objekt ausgewählt
worden ist (oder ob mehrere Objekte ausgewählt worden sind) (Block 804).
-
Falls
der sichere Schreibstempel 104 ohne die Auswahl von Objekten
in Block 804 aufgerufen worden ist, erzeugt der sichere
Schreibstempel 104 ein grafisches Objekt und ein dazugehöriges oder
zugrunde liegendes Klickereignis-Script (Block 806). Das
grafische Objekt und das zugrunde liegende Script werden ausgehend
von dem betreffenden Logic-Solver-Parameter
und/oder dem auszugebenden Befehl erzeugt. Wie im Folgenden in Verbindung
mit 10-16 ausführlicher beschrieben wird,
kann das grafische Objekt bei einigen Beispielen eine Schaltfläche mit
Label oder ein ähnliches
Objekt sein, das bei der Auswahl während der Laufzeit ein zugrunde
liegendes Script ausführt,
das einem Systembediener oder sonstigem Benutzer die interaktive Kommunikation
mit einem grafischen Fenster, einem Dialog oder einer sonstigen
Anzeige ermöglicht,
um unter Verwendung der hier beschriebenen beispielhaften sicheren
Datenschreibverfahren einen neuen Parameterwert und/oder Befehlsinformationen
zur Logic-Solver-Einrichtung 52 (2) zu senden.
-
Falls
der sichere Schreibstempel 104 in Block 804 bestimmt,
dass mindestens ein Objekt ausgewählt worden ist, bestimmt der
sichere Schreibstempel 104, ob mehrere Objekte ausgewählt worden
sind (Block 808). Wenn in Block 808 mehrere Objekte
ausgewählt
worden sind, meldet der sichere Schreibstempel 104 einen
Fehler zurück
(Block 810). Falls dagegen nur ein Objekt ausgewählt worden
ist (Block 808), erzeugt der sichere Schreibstempel ein diesbezügliches
Klickereignis-Script (das dem Objekt zugeordnet werden soll) für das ausgewählte Objekt (Block 812).
-
Die
in den in 3–8 dargestellten
beispielhaften Verfahren wiedergegebenen Funktionsblöcke bzw.
Vorgänge
können
mit einer beliebigen gewünschten
Kombination aus Software, Firmware und Hardware implementiert werden.
Beispielsweise können
ein oder mehrere Mikroprozessoren, Mikro-Controller, anwendungsspezifische
Schaltungen (ASICs) usw. auf Anweisungen oder Daten zugreifen, die
auf maschinell oder über
einen Prozessor zugänglichen
Speichermedien gespeichert sind, um die Verfahren auszuführen und
die hier beschriebene Vorrichtung zu implementieren. Die Speichermedien können eine
beliebige Kombination von Geräten und/oder
Medien umfassen, wie z.B. Festkörper-Speichermedien einschließlich Schreib-/Lesespeicher
(RAM), Nur-Lese-Speicher (ROM), elektrisch löschbaren programmierbaren Nur-Lese-Speichers
(EEPROM), optischen Speichermedien, magnetischen Speichermedien
usw. Ferner kann die zur Implementierung der Funktionsblöcke verwendete Software
zusätzlich
oder alternativ dazu zum Prozessor oder zu einem oder mehreren anderen
Geräten geleitet
und von dort zugänglich
sein, wobei die Software über
das Internet, über
Telefonleitungen, über Satellitenkommunikation
usw. ausgeführt
wird.
-
9 stellt
ein beispielhaftes Prozessorsystem 902 dar, das zur Implementierung
der hier beschriebenen Vorrichtungen und Verfahren verwendet werden
kann. Das beispielhafte prozessorgestützte System 902 kann
beispielsweise ein Server, ein Personal Computer oder eine beliebige
andere Art einer Computereinrichtung sein.
-
Der
Prozessor 900 kann beispielsweise mit einem oder mehreren
Intel®-Mikroprozessoren
aus der Pentium®-Familie,
der Itanium®-Familie
oder der XScale®-Familie implementiert
sein. Selbstverständlich
sind auch andere Prozessoren aus anderen Produktfamilien geeignet.
Der Prozessor 900 kommuniziert mit einem Hauptspeicher
einschließlich
eines flüchtigen
Speichers 904 und eines nichtflüchtigen Speichers 906 über einen
Bus 908. Der flüchtige Speicher 904 kann
durch synchronen dynamischen Schreib-/Lese-Speicher (SDRAM), dynamischen Schreib-/Lese-Speicher
(DRAM), RAMBUS dynamischen Schreib-/Lese-Speicher (RDRAM) und/oder eine
beliebige andere Art einer Schreib-/Lese-Speichereinrichtung implementiert
sein. Der nichtflüchtige Speicher 906 kann
durch Flash Memory und/oder eine beliebige andere Art einer nichtflüchtigen
Speichereinrichtung implementiert sein. Der Zugriff auf den Speicher 904 wird üblicherweise
auf konventionelle Weise von einem (nicht dargestellten) Speicher-Controller
gesteuert.
-
Das
System 902 umfasst auch eine integrierte Schaltung 910.
Die integrierte Schaltung 910 kann durch eine beliebige
Art eines bereits bekannten Schnittstellenstandards implementiert
sein, um es beispielsweise dem System 902 zu ermöglichen, über einen
oder mehrere der Links 24, 32, 40, 42, 46, 48, 62 und 64 zu
kommunizieren.
-
Das
System 902 umfasst auch eine oder mehrere Massenspeichereinrichtungen 918 zum Speichern
von Software und/oder Daten. Beispiele derartiger Massenspeichereinrichtungen
schließen Floppy-Disk-Laufwerke,
Festplattenlaufwerke, Compact-Disk-Laufwerke und Digital-Versatile-Disk-(DVD)-Laufwerke
ein.
-
Die
vorstehenden beispielhaften Verfahren können in Verbindung mit einer
oder mehreren der im Folgenden ausführlich beschriebenen grafischen
Anzeigen und Dialoge implementiert sein. Insbesondere kann, wenn
der sichere Schreibstempel 104 aufgerufen und kein Objekt
ausgewählt
worden ist (Block 804 in 8), der
sichere Schreibstempel 104 unter Verwendung der in 10 dargestellten
beispielhaften grafischen Schnittstelle 1000 ein grafisches
Objekt (z.B. eine Schaltfläche
mit Label) und ein dazugehöriges
Klickereignis-Script erzeugen (Block 806). Entsprechend
der Darstellung in der beispielhaften grafischen Schnittstelle 1000 kann
ein Parameterpfad-Feld 1002 vom Systembediener oder sonstigen Benutzer
die vollständige
Pfadangabe zu dem zu schreibenden Parameter anfordern (z.B. einen
Pfad zu einem Parameterwert in der Logic-Solver-Einrichtung 52).
Der im Beispiel angegebene Parameterpfad wird einem Funktionsmodul „SIFMOD1" mit Sicherheitsmaßnahmen,
einem Block „CEM1" und einem Parameter „RESET1.B_CV" zugeordnet.
-
Wahlfrei
kann der Benutzer auch Informationen in ein %P-Parameterpfad-Feld 1004 eingeben. In
diesem Beispiel entspricht der %P-Parameter dem Text „Main Gas
Valve" („Gas-Hauptventil"). Die beispielhafte
grafische Schnittstelle 1000 ermöglicht es einem Benutzer auch,
verschiedene Eigenschaften der vom sicheren Schreibstempel 104 erzeugten Schaltfläche mit
Label zu steuern. Beispielsweise kann der Benutzer in einem Textfeld 1006 ein
Label für
die Schaltfläche
eingeben und die Farbe und die Schriftart, die für derartigen Text verwendet
werden sollen, sowie die Hintergrundfarbe für die grafische Darstellung
der Schaltfläche
mit Label festlegen.
-
Der
Benutzer kann auch Informationen in ein Feld 1008 für numerische
Werte eingeben. Wie im Folgenden ausführlicher beschrieben wird,
ist der im Feld 1008 eingegebene numerische Wert der Wert, der
beispielsweise unter Verwendung der hier beschriebenen beispielhaften
sicheren Schreibverfahren und in Abhängigkeit von der Auswahl der
Schaltfläche
mit Label während
der Laufzeit in den Parameter der Logic-Solver-Einrichtung 52 (entsprechend dem
in Feld 1002 angegebenen Pfad) geschrieben werden soll.
-
Der
Benutzer kann auch Daten in ein Textinformationsfeld 1010 eingeben.
Diese Informationen können
einen Textsatz, eine Frage usw. enthalten, die während der Laufzeit einem Systembediener oder
sonstigen Benutzer bei der Aktivierung oder Auswahl einer Schaltfläche mit
Label angezeigt werden. Bei diesem Beispiel wird dem Systembediener oder
Benutzer der Text „Do
You Want to Reset the Main Gas Valve?" („Gas-Hauptventil
zurücksetzen?") angezeigt. Es ist
anzumerken, dass die im Beispielfeld 1010 wiedergegebene
Anzeige „%P" bei der Ausführung durch
den Text ersetzt wird, der dem in Feld 1004 angegebenen
Text entspricht und der in diesem Fall „Main Gas Valve" („Gas-Hauptventil") lautet.
-
Ein
wahlfreies Feld 1012 zur Animationsanzeige ermöglicht einem
Benutzer die Eingabe eines Visibility-Ausdrucks. Wenn die Eingabe
erfolgt, kann ein derartiger Visibility-Ausdruck während der
Laufzeit verwendet werden, um bei der Auswahl der Schaltfläche mit
Label eine grafische Animation bereitzustellen.
-
Nachdem
ein Systembediener oder sonstiger Benutzer Informationen in einige
oder alle der vorstehend in der beispielhaften grafischen Schnittstelle 1000 bezeichneten
Datenfelder eingegeben hat, kann der Systembenutzer oder Bediener
eine Schaltfläche „OK" 1014 wählen. Die
Auswahl der Schaltfläche „OK" 1014 bewirkt,
dass der sichere Schreibstempel 104 entsprechend den in
den verschiedenen Datenfeldern der grafischen Schnittstelle 1000 angegebenen
optischen und funktionellen Anforderungen eine Schaltfläche mit
Label erzeugt.
-
11 stellt
einen beispielhaften grafischen Dialog 1100 dar, der erzeugt
wird, wenn die über
die grafische Schnittstelle 1000 aus 10 erzeugte Schaltfläche mit
Label während
der Laufzeit ausgewählt
oder auf andere Weise aufgerufen wird. Der beispielhafte grafische
Dialog 1100 kann ein Script oder mehrere Scripts überlagern,
die die eine oder mehrere der der Anwendungsstation 20 zugeordneten
Funktionen ausführen.
Insbesondere können
das bzw. die zugrunde liegenden Script(s) einen oder mehrere der
in Verbindung mit dem beispielhaften Verfahren aus 7 beschriebenen
Vorgänge
ausführen.
Beispielsweise kann der beispielhafte grafische Dialog 1100 in
Block 704 (7) vorgelegt werden, und die
Auswahl einer Bestätigungsschaltfläche 1101 führt zur
Bestätigung
in Block 706 (7) und zum Schreiben des sicheren
Befehls (letztlich in die Logic-Solver-Einrichtung 52),
der bei diesem Beispiel ein Rücksetzbefehl
ist, in Block 708 (7).
-
12 stellt
eine beispielhafte grafische Schnittstelle 1200 des sicheren
Schreibstempels dar, die vorgelegt wird, wenn beim Aufruf des sicheren Schreibstempels 104 die
Registerkarte 1016 „Toggle Value" ausgewählt wird.
Die beispielhafte Schnittstelle 1200 ermöglicht einem
Systembediener oder sonstigen Benutzer das Erzeugen eines Umschaltwerts
oder einer Checkbox mit zwei Zuständen, die während der Laufzeit zum Ändern des
Werts eines Parameters von null zu eins bzw. von eins zu null verwendet
werden kann. Insbesondere kann eine derartige Umschaltwert-Checkbox
eingesetzt werden, um den Wert eines booleschen Werts wie des CV-Felds des
BYPASSx-Parameters eines Voter-Funktionsblocks
zu ändern.
-
Entsprechend
der Darstellung in 12 umfasst die beispielhafte
grafische Schnittstelle 1200 ein Parameterpfad-Feld 1202,
ein %P-Pfad-Feld 1204, einen Bereich 1206 für Checkbox-Eigenschaften
und Bestätigungsdialog-Informationsfelder 1208 und 1210.
Eine Schaltfläche „OK" 1212 ist
ebenfalls enthalten, sodass ein Systembediener die Konfiguration
des Umschaltwert-Dialogs beispielsweise über die Auswahl der Schaltfläche „OK" 1212 abschließen kann.
-
13 ist
ein beispielhafter Laufzeitdialog 1300, der einem Systembediener
in Abhängigkeit vom
Aufruf eines Objekts oder einer sonstigen Grafik in Zusammenhang
mit einem Logic-Solver-Parameter vorgelegt werden kann, der unter
Verwendung der Umschaltwert-Schnittstelle 1200 aus 12 mit
dem sicheren Schreibstempel 104 konfiguriert worden ist. Der
beispielhafte Dialog 1300 kann beispielsweise in Block 704 (7)
angezeigt werden; ein Benutzer kann eine Bestätigungsschaltfläche 1302 bei
Block 706 (7) auswählen, und ein sicherer Befehl
zur Veranlassung der Änderung
eines Parameters in der Logic-Solver-Einrichtung 52 (2)
kann in Block 708 in die Logic-Solver-Einrichtung 52 geschrieben bzw.
dorthin übertragen
werden.
-
14 stellt
eine beispielhafte Schreibwert-Schnittstelle 1400 dar,
die einem Systembediener oder sonstigen Benutzer beim Aufruf des
sicheren Schreibstempels 104 in Abhängigkeit von der Auswahl einer
Registerkarte „Write
Value" 1018 (10)
angezeigt werden kann. Entsprechend der Darstellung im beispielhaften
Dialog 1400 aus 14 wird
ein Systembediener zur Eingabe von Informationen zum Parameterpfad
und von Textinformationen aufgefordert, die in Verbindung mit einem Laufzeitdialog
angezeigt werden sollen, der zum Schreiben eines Werts in einen
Logic-Solver-Parameter verwendet werden soll.
-
15 und 16 stellen
beispielhafte Laufzeitdialoge 1500 bzw. 1600 dar,
die einem Systembediener oder Benutzer angezeigt werden können, um
das Schreiben eines numerischen Werts in einen Logic-Solver-Parameter
unter Verwendung der hier beschriebenen sicheren Datenschreibverfahren zu
ermöglichen.
Beispielsweise können
die beispielhaften grafischen Dialoge in Verbindung mit dem Betrieb
der Anwendungsstation 20 einem Benutzer angezeigt und von
ihm interaktiv genutzt werden, wie in dem beispielhaften Verfahren 300 aus 3 erläutert ist.
Insbesondere kann der beispielhafte Dialog 1500 zum neuen
Wert in Block 304 aus 3 angezeigt
werden. Ein Benutzer kann einen neuen Parameterwert in ein Feld 1502 bei
Block 306 (3) eingeben und anschließend bei
Block 306 eine Eingabeschaltfläche 1504 auswählen.
-
Der
beispielhafte Bestätigungsdialog 1600 für den neuen
Wert kann dann in Block 406 (4A) angezeigt
bzw. erzeugt werden, und eine Bestätigungsschaltfläche 1602 wird
in Block 410 nach der Quittierung der in Block 404 erfolgten
sicheren Datenschreibanforderung aktiviert. Wenn der Benutzer bei
Block 412 die Bestätigungsschaltfläche 1602 auswählt, wird
der über
den beispielhaften Dialog 1500 eingegebene neue Wert in
Block 418 ein zweites Mal als sichere Parameterbestätigungs-Anforderung
zum Controller übertragen.
-
Die
vorstehend in Verbindung mit 10–16 beschriebenen
grafischen Schnittstellen und Dialoge sind Beispiele, die in Verbindung mit
den in Verbindung mit 1–9 beschriebenen
beispielhaften sicheren Datenschreibvorrichtungen und -verfahren
verwendet werden können.
Statt der vorstehend beschriebenen Beispiele oder zusätzlich dazu
können
jedoch zahlreiche andere grafische Schnittstellen oder Dialoge verwendet
werden. Beispielsweise können
statt der vorstehend beschriebenen Beispiele oder zusätzlich dazu
grafische Dialoge verwendet werden, die Folgendes ermöglichen:
Vorgabe einer booleschen Variable, benannter vorgegebener Datentyp
(z.B. „In
Betrieb", „Außer Betrieb" usw.), Vorgabe eines
Gleitkomma-Variablentyps, Vorgabe eines Integer-Parameterwerts usw.
-
Allgemeiner
ausgedrückt,
kann ein beliebiger gewünschter
grafischer Dialog verwendet werden, um mit geeigneten Scripts bei
der Ausführung der
hier beschriebenen beispielhaften sicheren Schreibverfahren zusammenzuwirken.
Weiter können
derartige grafische Dialoge und Scripts in Verbindung mit beliebigen
gewünschten
Konfigurationen oder Laufzeitanwendungen verwendet werden, um eines
oder mehrere der hier beschriebenen beispielhaften sicheren Schreibverfahren
auszuführen.
-
Obwohl
bestimmte Verfahren und Vorrichtungen und Herstellungsartikel beschrieben
worden sind, ist der Schutzbereich dieses Patents dadurch nicht
eingeschränkt.
Im Gegensatz dazu deckt dieses Patent alle Verfahren, Vorrichtungen
und Herstellungsartikel ab, die entweder wörtlich oder nach dem Äquivalenzgrundsatz
sinngemäß im Rahmen
der beigefügten
Ansprüche
liegen.