-
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft Industriesteuerungen, die zur Echtzeitsteuerung
von Industrieprozessen eingesetzt werden, und insbesondere betrifft
sie eine zuverlässige
Industriesteuerung, die zur Verwendung in Geräten geeignet ist, die dazu
bestimmt sind, menschliches Leben und die Gesundheit von Menschen
zu schützen.
-
Bei
Industriesteuerungen handelt es sich um Spezialzweckcomputer, die
zum Steuern von Industrieprozessen verwendet werden. Unter Kontrolle
eines gespeicherten Steuerprogramms prüft eine Industriesteuerung
eine Reihe von Eingangssignalen, die den Status des gesteuerten
Prozesses wiedergeben, und ändert
eine Reihe von Ausgangssignalen zur Steuerung des gesteuerten Prozesses.
Die Eingangssignale und die Ausgangssignale können binär sein, das heißt ein oder
aus, oder analog sein, unter Bereitstellung eines Werts in einem
kontinuierlichen Bereich. Die Eingangssignale können von Sensoren gewonnen
werden, die an der gesteuerten Anlage angebracht sind, und bei den
Ausgangssignalen kann es sich um Signale für Stellorgane auf der gesteuerten
Anlage handeln.
-
Bei "Sicherheitssystemen" handelt es sich um
Systeme, die dazu dienen, die Sicherheit von Menschen zu gewährleisten,
die in der Umgebung eines industriellen Prozesses arbeiten. Derartige
Systeme können
Elektronik enthalten, ohne hierauf be schränkt zu sein, die mit Notfallstopptasten,
Sperrschaltern und Maschinenverriegelungen verbunden ist.
-
Sicherheitssysteme
wurden ursprünglich durch
hart verdrahtete Sicherheitsrelais implementiert; sie können jedoch
heutzutage unter Verwendung einer speziellen Klasse von hochgradig
zuverlässigen
Industriesteuerungen erstellt werden. "Hochgradig zuverlässig" bezieht sich allgemein auf Systeme,
die vor einer Ausbreitung fehlerhafter Daten oder Signale mit vorbestimmtem
hohem Wahrscheinlichkeitspegel (definiert durch Sicherheitszertifikationsstandards)
schützen
durch Ermitteln von Fehler- oder Ausfallbedingungen und Signalisieren von
deren Auftreten und/oder Eintreten in einen fehlerhaften "Sicherheits"-zustand. Hochgradig
zuverlässige
Systeme unterscheiden sich von Systemen hoher Verfügbarkeit;
die vorliegende Erfindung kann jedoch für beide dieser Systeme nützlich sein,
weshalb vorliegend hochgradig zuverlässig Systeme hohe Verfügbarkeit
nicht ausschließen
sollen.
-
Standardmäßige Hochgeschwindigkeitskommunikationsnetzwerke
werden häufig
verwendet, um die verschiedenen Komponenten eines gewöhnlichen
Industriesteuersystems zu verbinden, das sich über eine ganze Fabrik erstrecken
kann. Die Protokolle, die in derartigen Standardnetzwerken verwendet
werden, sind jedoch nicht angemessen für hochgradig zuverlässige Industriesteuerungen,
die für
Sicherheitssysteme zum Einsatz kommen. Insbesondere können derartige
Netzwerkprotokolle nicht gewährleisten,
dass die Kommunikationsverzögerung
("Datenalterung") begrenzt ist, um
ein Verfahren zum Überwachen
dieser Kommunikationsverzögerungen
bereit zu stellen.
-
Eine
Modifikation von standardgemäßen Netzwerkprotokollen,
um Datenalterung überwachen zu
können,
ist schwierig, weil stan dardgemäße Netzwerkschnittstellenschaltungen
(NICs) normalerweise auf Netzwerkzeitauflaufinformation keinen problemorientierten
Zugriff ermöglichen,
beispielsweise auf die Ankunftszeit und die Übertragung von Nachrichten. Synchronisierte
Taktgeber, die eine einfache Zeitsteuerung von Übertragungszeiten erlauben,
stehen in den Kommunikationskomponenten genauer gesagt normalerweise
nicht zur Verfügung.
-
Wachhundzeitgeber,
die am Empfangsende der Übertragung
aktiv sind, sind verwendet worden, um Netzwerkverzögerung in
Bezug auf bekannte periodische Übertragung
zu überwachen.
Der Wachhund stellt sicher, dass die Verzögerung zwischen aufeinander
folgenden Übertragungen
nicht zu groß ist.
Derartige Wachhundsysteme stellen jedoch unglücklicherweise keinen Schutz
gegenüber
einer langsamen Zunahme der Alterung der Daten im Lauf der Zeit
bereit.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung schafft ein Verfahren zum Überwachen von Datenalterung
in einem standardmäßigen Kommunikationsnetzwerk.
In der Erfindung tauschen möglicherweise
unsynchronisierte Taktgeber in den Empfangs- und Sendeknoten Nachrichten
aus, die die lokale Zeit anzeigen, wenn die Nachricht zu der NIC
für den
Sendevorgang geleitet wird. Die ausgetauschten Nachrichten erlauben es,
eine Versetzung zwischen den Taktgebern von jedem Knoten zu ermitteln,
wodurch wiederum zeitgestempelte Nachrichten möglich sind, um die Netzwerkverzögerungen
aufzudecken. Das Protokoll kann auf Anfrage aktiv werden, durch
eine Klingelnachricht ermittelt, und es kann dadurch so zugeschnitten
werden, dass es auf die Netzwerkbandbreite geringe ungünstige Auswirkung
hat.
-
Insbesondere
schafft die vorliegende Erfindung ein Verfahren zum Ermitteln übermäßiger Netzwerkverzögerung in
einem hochgradig zuverlässigen Kommunikationssystem,
das aus einem Netzwerk besteht, wobei das Netzwerk Nachrichten zwischen zumindest
einem ersten Knoten und einem zweiten Knoten überträgt, die erste und zweite Taktgeber
enthalten. Das Verfahren umfasst den Schritt, eine aktuelle erste
Zeit des ersten Taktgebers über
das Netzwerk von dem ersten Knoten zu dem zweiten Knoten zu senden
bzw. zu übertragen.
Die erste Zeit wird mit der aktuellen zweiten Zeit des zweiten Taktgebers verglichen,
wenn der erste Zeitwert in dem zweiten Knoten empfangen wird, um
eine Versetzung abzuleiten. Diese Versetzung wird mit einer aktuellen
dritten Zeit des zweiten Taktgebers über das Netzwerk von dem zweiten
Knoten zu dem ersten Knoten übertragen.
Ein Vergleich der Versetzung und der aktuellen dritten Zeit mit
einer aktuellen vierten Zeit des ersten Taktgebers, wenn die Nachricht
im ersten Knoten empfangen wird, deckt einen Netzwerkverzögerungswert
auf.
-
Eine
Aufgabe der vorliegenden Erfindung besteht deshalb darin, ein Verfahren
zum Verfolgen von Netzwerkverzögerung
ohne die Notwendigkeit zu schaffen, Taktgeber zwischen Knoten präzise zu synchronisieren.
Die erste Nachricht stellt eine Anzeige für die Versetzung zwischen den
Taktgebern bereit und die Antwortnachricht stellt eine Anzeige für die Netzwerkverzögerung bereit.
-
Eine
weitere Aufgabe der Erfindung besteht darin, ein Verfahren zu schaffen,
das keine sofortige Antwort auf eine Nachricht erfordert. Das erfindungsgemäße System
erlaubt eine beliebige Verzögerung zwischen
der Übertragung
der ersten Nachricht und der zweiten Nachricht ohne störenden Eingriff
durch Messung der Netzwerkverzögerung.
-
Das
Verfahren kann den Schritt umfassen, ein Klingelzeichen vom zweiten
Knoten zum ersten Knoten periodisch zu übertragen, und der Schritt
zum Senden der aktuellen ersten Zeit des ersten Taktgebers kann
durch dieses Klingelzeichen getriggert werden.
-
Eine
noch weitere Aufgabe der Erfindung besteht deshalb darin, eine Steuerung
der Messung der Netzwerkverzögerung
ausgehend von einem einzigen Knoten zu ermöglichen.
-
Der
zweite Knoten kann Datennachrichten zu dem ersten Knoten mit nicht
weniger als einer ersten Geschwindigkeit übertragen und das Klingelzeichen
kann ein Zählwert
sein, der langsamer als mit der ersten Geschwindigkeit inkrementiert
wird. Der Schritt zum Senden der aktuellen ersten Zeit des ersten
Taktgebers kann lediglich durch Änderung
der Klingelzeichenzählrate
getriggert bzw. ausgelöst werden.
-
Eine
weitere Aufgabe der Erfindung besteht demnach darin, die Messung
der Netzwerkverzögerung
von der Übertragungsgeschwindigkeit
weiterer Netzwerknachrichten zu trennen, um die Belastung der Netzwerkbandbreite
minimal zu halten, wenn die Netzwerkverzögerung sich langsam ändert.
-
Die
Berechnung der Versetzung kann für mehrere Übertragungen
der Versetzung und einer aktuellen dritten Zeit verwendet werden,
um zahlreiche Vergleiche der Versetzung mit einer aktuellen vierten
Zeit zu ermöglichen.
-
Eine
weitere Aufgabe der Erfindung besteht darin, den Netzwerkverkehr
unter erneutem Verwenden des Versetzungswertes minimal zu halten,
um dadurch unnötige
Wiederholungen der ersten Nachricht zu vermeiden.
-
Der
Schritt zum periodischen Übertragen
eines Klingelzeichens zu dem ersten Knoten kann auch das Klingelzeichen
zu zusätzlichen
ersten Knoten übertragen
und jeder der ersten Knoten kann getriggert bzw. ausgelöst werden,
um eine aktuelle erste Zeit ihrer jeweiligen Taktgeber zu dem zweiten Knoten
zu übertragen.
-
Eine
noch weitere Aufgabe der Erfindung besteht demnach darin, ein System
zu schaffen, das in einer Mehrfachberechnungsumgebung (Multicasting Environment)
verwendet werden kann.
-
Das
Verfahren kann den Schritt umfassen, eine zweite Versetzung in Annäherung an
eine aktuelle Differenz zwischen den ersten und zweiten Taktgebern
zum Zeitpunkt der Übertragung
der ersten aktuellen Zeit des ersten Taktgebers zu übertragen.
Der zusätzliche
Schritt zum Vergleichen der zweiten Versetzung mit der aktuellen
dritten Zeit zum Aufdecken einer Netzwerkverzögerung kann zusätzlich vorgesehen
sein.
-
Eine
weitere Aufgabe der Erfindung besteht demnach darin, Netzwerkverzögerungen
in zwei Richtungen (in einem bidirektionellen Kommunikationssystem)
ohne die Notwendigkeit für
duplizierte Nachrichten bereit zu stellen.
-
Diese
speziellen Aufgaben und Vorteile können auf lediglich einige Ausführungsformen
zutreffen, die in die Ansprüche
fallen, und sie legen deshalb nicht den Umfang der Erfindung fest.
-
1 zeigt schematisch ein
Netzwerk, das in der vorliegenden Erfindung verwendet werden kann;
-
2 zeigt ein Flussdiagramm
logischer Pfade von Nachrichten bei einer einfachen oder bidirektionellen
Nachrichtenübertragung;
-
3 zeigt eine ähnliche
Figur wie 2 unter Darstellung
einer Mehrfachberechnungsnachricht;
-
4 zeigt ein Diagramm einer
Standardnachricht mit einer Klingelzeichenzählung, die verwendet werden
kann, um die Datenalterungsmessung gemäß der vorliegenden Erfindung
zu triggern bzw. auszulösen;
-
5a und 5b zeigen ähnliche Figuren wie 4 unter Darstellung einer
Versetzungsmessungsnachricht und einer Verzögerungsmessungsnachricht, die
jeweils auch in der vorliegenden Erfindung verwendet werden;
-
6 zeit ein Diagramm mit
einer vertikalen Zeitachse unter Darstellung des Flusses von Zeitlaufnachrichten
zwischen einem Erzeuger und einem Verbraucher, die zur Berechnung
der Netzwerkverzögerung
verbraucht werden, wobei eine übermäßige Verzögerung in
einer Erzeugernachricht gezeigt ist;
-
7 zeigt eine Figur ähnlich wie 6 unter Darstellung einer übermäßigen Verzögerung in
einer Verbrauchernachricht;
-
8 zeigt eine ähnliche
Figur wie 4 und 5 unter Darstellung einer
Kombination der Daten von 4 und 5 in eine einzige Nachricht
zur Verwendung in bidirektionellen Kommunikationssystemen;
-
9 zeigt eine Figur ähnlich wie 6 und 7 unter Darstellung der Verwendung des
Systems in einer Mehrfachberechnungsumgebung von 3, und
-
10 zeigt ein Diagramm ähnlich wie 6 unter Darstellung einer
Mehrfachberechnungskommunikation.
-
DETAILLIERTE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
-
Die
vorliegende Erfindung kann Teil eines "Sicherheitssystems" bilden, das verwendet wird, um menschliches
Leben und menschliche Körperteile
in industrieller Umgebung zu schützen.
Dessen ungeachtet besagt der Begriff "Sicherheit" vorliegend nicht, dass die vorliegende
Erfindung einen industriellen Prozess sicher macht, oder dass andere
Systeme einen unsicheren Betrieb hervorrufen. Sicherheit in einem
industriellen Prozess hängt
von einer großen
Vielfalt von Faktoren außerhalb
des Umfangs der vorliegenden Erfindung ab, einschließlich folgender
Faktoren: Konstruktion des Sicherheitssystems, Installation und
Wartung der Komponenten des Sicherheitssystems sowie Zusammenarbeiten
und Trainieren einzelner Personen unter Verwendung des Sicherheitssystems.
Obwohl die vorliegende Erfindung darauf abzielt, hochgradig zuverlässig zu sein,
sind sämtliche
physikalischen Systeme störanfällig und
es müssen
Maßnahmen
gegen eine derartige Störung
getroffen werden.
-
Netzwerkarchitektur
-
Wie
in 1 gezeigt, kann ein
hochgradig zuverlässiges
Steuersystem 10 ein Anzahl von Knoten 12(a), 12(b) und 12(c) aufweisen,
umfassend beispielsweise eine programmierbare logische Steuerung
(PLC) und verschiedene Eingangs- oder Ausgangsmodule oder dergleichen.
Jeder der Knoten 12(a) bis 12(c) kann über eine
standardmäßige Netzwerkschnittstellenschaltung
(NIC) 14(a) bis 15(c) mit einem Netzwerk 16 kommunizieren.
Unter Verwendung eines Netzwerkprotokolls können eine Reihe von logischen
Verbindungen 17 zwischen den Knoten 12(a) bis 12(c) errichtet
werden, auf denen Nachrichten 11 kommuniziert werden können. Die
Verbindungen können
Bandbrei te und Pufferraum auf einem Erzeuger/Verbraucherpaar reservieren,
die Verbindungen durch einen Verbindungsidentifizierer identifizieren,
der in den Nachrichten 11 enthalten ist. Zahlreiche unabhängige Verbindungen
können
zwischen einem einzigen Paar von physikalischen Geräten errichtet
werden.
-
Das
Netzwerk 16 kann, ohne hierauf beschränkt zu sein, ein standardmäßiges Netzwerk sein
oder aus mehreren solcher Netzwerke bestehen, die über eine
Brücke 18,
wie etwa das Ethernet, DeviceNet, ControlNet, Firewire oder FieldBus
miteinander kommunizieren. Bei dem Netzwerk handelt es sich üblicherweise
um ein serielles Hochgeschwindigkeitsnetzwerk unter Verwendung von
einem einzigen oder einem Mehrfachleiterkupfermedium; es kann jedoch
Faseroptik-, drahtlose Kommunikationstechnik oder weitere an sich
bekannte Alternativen umfassen. Während ein externes Netzwerk 16 gezeigt
ist, kann das Netzwerk 16 innerhalb eines Gehäuses als
Rückwandplatine
verwendet werden.
-
Die
Knoten 12(a) bis 12(c) umfassen üblicherweise
einen Prozessor, der Teile eines Steuerprogramms ausführt, und
ein Sicherheitsprotokoll. Die Knoten 12(a) bis 12(c) umfassen
außerdem asynchrone
lokale Taktgeber 19, die für den Prozessor Zeitwerte bereitstellen.
-
Logische Netzwerkelemente
-
Wie
in 2 gezeigt, kann eine
Erzeugersicherheitsanwendung 20, die Teil eines Sicherheitsprotokolls
bildet, das auf einem Prozess in einem Knoten 12(a) aktiv
ist, eine Nachricht 22 für einen Sicherheitsklienten 24 bereitstellen,
bei der es sich auch um ein in dem Knoten 12(a) ausgeführtes Programm
handelt. Der Sicherheitsklient 24 seinerseits implementiert einen
Sicherheitsnachrichtenverursacher 26, der die Nachricht 22 empfängt und
sie formatiert, um zusätzliche
Sicherheitsaspekte aufzunehmen, wie etwa durch Hinzufügen von
Fehlerermittlungscodes und Datenredundanz zu der Nachricht. Beispielsweise
kann der Sicherheitsnachrichtenverursacher 26 die Nachricht 22 mit
einer invertierten Kopie der Nachricht 22 kombinieren.
Der Sicherheitsnachrichtenverursacher 26 kommuniziert daraufhin
die Nachricht zu dem Erzeuger 25a.
-
Der
Erzeuger 25a verwaltet Übertragungsprotokolle,
die weniger problemorientiert sind, abhängig von dem speziellen Netzwerk 16,
das beispielsweise zusätzlich
einen Verbindungsidentifizierer umfasst, wie nachfolgend erläutert. Der
Erzeuger 25a kann weitere Aspekte der logischen Verbindungen 17 abhängig von
dem Netzwerk 16 verwalten, wie an sich bekannt.
-
Unter
Bezug auf 2 kann der
Erzeuger 25a eine Nachricht 11 auf dem Netzwerk 16 übertragen,
die durch einen Verbraucher 27a empfangen wird, der eine
Nachricht extrahiert und diese zu einem Sicherheitsnachrichtenempfänger 28 innerhalb eines
Sicherheitsservers 30 übermittelt,
der in der Software im Knoten 12b implementiert ist. Der
Sicherheitsnachrichtenempfänger 28 stellt
einer Verbrauchersicherheitsanwendung 32 eine Nachricht 33 bereit,
die ebenfalls als Software in dem Knoten 12b implementiert
ist.
-
Üblicherweise
sind die Verbrauchersicherheitsanwendung 32 und die Erzeugersicherheitsanwendung 20 spezifisch
für das
Steuerprogramm, das durch das hochgradig zuverlässige Steuersystem 10 implementiert
ist und von Anwendung zu Anwendung variiert.
-
2 dient auch zur Illustration
einer bidirektionellen Kommunikationsbetriebsart, bei der der Sicherheitsnachrichtenverursacher 26 sowohl
einen Sicherheitsnachrichtenverursacher wie einen Sicherheitsbestätigungsverbraucher
betreibt und sowohl der Sicherheitsempfänger 28 wie der Sicherheitsbestätigungserzeuger 34 und
der Sicherheitsbestätigungsverbraucher 36 führen eine
doppelte Aufgabe durch, um den bidirektionellen Nachrichtenfluss handzuhaben.
-
Unter
Bezug auf 3 kann die
vorliegende Erfindung auch für
Multicasting-Situationen verwendet werden, in denen eine Erzeugersicherheitsanwendung 20 für den Sicherheitsklienten 24 eine Nachricht 22 bereitstellt,
die eine Nachricht im Erzeuger 25a zu mehreren Verbrauchern 27a und 27c sendet.
Die Verbraucher 27a und 27c kommunizieren jeweils
mit zwei Sicherheitsservern 30a und 30b, die beispielsweise
in getrennten Knoten 12b und 12c implementiert
sein können.
-
Diese
logischen Elemente können
funktional zwischen den vorstehend erläuterten Hardware-Elementen
verteilt sein, wie an sich bekannt.
-
Datenalterungsüberwachung
-
Unter
Bezug auch auf 4 und 6 kann der Sicherheitsklient 24 mit
einem Sicherheitsserver 30 durch Senden einer Anzahl von
Nachrichten 11 kommunizieren, enthaltend Daten für den Betrieb
des hochgradig zuverlässigen
Steuersystems 10. Jede Nachricht 11 (in 4 gezeigt) umfasst einen
Verbindungsidentifizierer 37 zum Identifizieren der logischen
Verbindung, auf der die Nachricht übertragen wird. Außerdem sind
in jeder Nachricht Sicherheitsdaten 38 enthalten, bei denen
es sich üblicherweise um
die Steuerung betreffende Daten handelt, die für die Erzeugersicherheitsanwendungen 20 und
die Verbrauchersicherheitsanwendung 32 in Kombination spezifisch
sind, typischerweise mit zusätzlichen Sicherheitsmerkmalen,
wie etwa einem Fehlerermittlungscode abgesehen von demjenigen, der
durch das Netzwerkprotokoll zusätzlich
vorgesehen ist, und möglicherweise
einer redundanten Kopie der Sicherheitsdaten 38 in invertierter
Form.
-
Die
Nachrichten 11 umfassen außerdem eine Klingelzeichenzählrate 40,
bei der es sich um eine im Lauf der Zeit langsam inkrementierte
Zahl handelt, typischerweise mit einer Geschwindigkeit, die weit
unter der höchsten
Geschwindigkeit der Nachrichtenübertragungen
der Nachrichten 11 liegt. Eine Initiierungsnachricht 11a,
in der die Klingelzeichenzählrate 40 über die
vorausgehende Nachricht 11 inkrementiert worden ist (bei
der es sich im Übrigen
jedoch um eine Standardmitteilung 11 handelt), kann zwischen
dem Sicherheitsklienten 24 und dem Sicherheitsserver 30 übertragen
werden (wie in 6 gezeigt),
um die Aktualisierung der Takt(geber)korrekturfaktoren zu triggern
bzw. auszulösen, die
bei der Messung von Datenalterung auf dem Netzwerk 16 verwendet
werden.
-
Die
Initiierungsnachricht 11a veranlasst den Sicherheitsserver 30,
wenn sie empfangen wird, eine spezielle Versetzungsmessungsnachricht 11b zu
erzeugen, wie in 5a gezeigt.
Die Versetzungsmessungsnachricht 11b umfasst ähnlich wie
die Initiierungsnachricht 11a einen Verbindungsidentifizierer 37 und
eine Klingelzeichenzählrate 40,
die identisch ist zu derjenigen der Initiierungsnachricht 11a.
Die Versetzungsmessungsnachricht 11b umfasst jedoch außerdem einen
Verbraucherzeitwert 42, bei dem es sich um eine aktuelle
Zeit ausgehend von einem lokalen Taktgeber 19 des Bestätigungsknotens 12 handelt,
der den Sicherheitsserver 30 zum Zeitpunkt der Über tragung
der Versetzungsmessungsnachricht 11b hält. Der lokale Taktgeber 19,
der durch den Sicherheitsserver 30 zugänglich ist, wird üblicherweise nicht
mit weiteren lokalen Taktgebern 19 von beispielsweise dem
Sicherheitsklienten 24 im Zeitwert koordiniert. In diesem
Beispiel liegt der lokale Taktgeber 19 des Sicherheitsservers 30 89
Zählungen
vor dem lokalen Taktgeber 19 des Sicherheitsklienten 24.
Die Frequenz der lokalen Taktgeber 19 ist in etwa dieselbe über Datenalterungserwartungsperioden und
sie besitzen ausreichend Auflösung,
um gewünschte
Bereiche innerhalb eines Datenalterungserwartungsbereichs des Netzwerks 16 zu
unterscheiden.
-
Der
Praktikabilität
wegen handelt es sich bei dem Verbraucherzeitwert 42 um
die Zeit, zu der die Versetzungsmessungsnachricht 11b bereit
ist für eine Übertragung
durch die Netzwerkschnittstellenschaltung 14, und zwar
nicht, wenn die Versetzungsmessungsnachricht 11b aktuell übertragen
wird. Die Netzwerkschnittstellenschaltung 14 prägt eine
kleine und variable zusätzliche
Verzögerung
bei der Übertragung
der Versetzungsmessungsnachricht 11b auf, die als Teil
der Datenalterung angesehen werden kann.
-
In
dem Beispiel von 6 kann
ein lokaler Taktgeber 19, der in dem Knoten 12b läuft, den
Wert 92 zum Zeitpunkt der Übertragung
der Versetzungsmessungsnachricht 11b aufweisen. Wenn die
Versetzungsmessungsnachricht 11b durch den Sicherheitsklienten 24 empfangen
wird, wird ein lokaler Taktgeber 19 in diesem Sicherheitsklienten 24 gelesen
und stellt in diesem Fall den Wert 5 bereit.
-
Die
für die Übertragung
der Versetzungsmessungsnachricht 11b erforderliche Zeit
in diesem Beispiel beträgt
etwa zwei Zählungen;
sie kann jedoch nicht direkt ermittelt werden auf Grund der unbekannten
Beziehung zwischen den lokalen Taktgebern 19. Statt dessen
weist der empfangene Verbraucherzeitwert 42 von 92 von
dem Sicherheitsserver 30 im Sicherheitsklienten 24 den
lokalen Taktgeberwert 5 auf, subtrahiert von ihm mit dem Ergebnis
eines Versetzungswerts von 87, bei dem es sich um die aktuelle Versetzung
89 zwischen den lokalen Taktgebern minus der Nachrichtenübertragungszeit
2 der Versetzungsmessungsnachricht 11b handelt.
-
Mit
Ausnahme des ersten Zeitpunkts, zu dem die Versetzungsmessungsnachricht 11b übertragen wird,
ist der Sicherheitsklient 24 in der Lage, den aktuellen
Versetzungswert mit dem vorausgehend abgeleiteten Versetzungswert
zu vergleichen. Der Vergleich kann dazu verwendet werden, Versetzungswerte
zu ermitteln oder zu verwerfen, die von der aktuellen Differenz
zwischen den Taktgebern des Sicherheitsklienten 24 und
dem Sicherheitsserver 30, beispielsweise auf Grund einer
außergewöhnlichen Netzwerkverzögerung stark
abweichen.
-
Ein
einfaches Verfahren zum Verwerfen von daneben liegenden Versetzungswerten
besteht darin, den aktuellen Versetzungswert mit einem Bereich zu
vergleichen, der den vorausgehend angewendeten Versetzungswert einschließt, modifiziert
durch die maximal erwartete Drift zwischen den Taktgebern des Sicherheitsklienten 24 und
des Sicherheitsservers 30. Diese maximal erwartete Drift
kann ein konstanter Wert sein auf Grundlage der bekannten Präzision der
Taktgeberschaltungen. Wenn der tatsächliche Versetzungswert außerhalb
des Bereichs liegt, der definiert ist durch den vorausgehend angewendeten
Versetzungswert plus und minus der maximalen erwarteten Drift, wird
der vorausgehend angewendete Versetzungswert verwendet.
-
Die
vorausgehenden Versetzungswerte können allgemeiner gesagt verwendet
werden, um eine Trendlinie aufzutragen, die verwendet werden kann, um
abseits liegende Versetzungswerte zu verwerfen. Auf diese Weise
können
Differenzen zwischen des Taktgebern des Sicherheitsklienten 24 und
des Sicherheitsservers 30 genauer unabhängig von der Netzwerkverzögerung ermittelt
werden. Zu einem bestimmten Zeitpunkt später, nachdem der Sicherheitsklient 24 die
Versetzungsmessungsnachricht 11b erhalten hat, beispielsweise
dann, wenn der lokale Taktgeber 19 des Sicherheitsklienten 24 einen
Wert von 8 erreicht hat, wird eine Versetzungsmessungsnachricht 11c von
dem Sicherheitsklienten 24 zu dem Sicherheitsserver 30 übertragen.
Wie in 5b gezeigt, umfasst
die Versetzungsmessungsnachricht 11c, wie etwa die Initiierungsnachricht 11a und
die Versetzungsmessungsnachricht 11b einen Verbindungsidentifizierer 37 und
die Klingelzeichenzählrate 40 identisch
zu diesen weiteren Nachrichten. Die Versetzungsmessungsnachricht 11c umfasst
jedoch auch eine korrigierte Erzeugerzeit 44, bei der es
sich um die aktuelle Zeit 8 handelt, wenn die Versetzungsmessungsnachricht 11c von
dem Sicherheitsklienten 24 übertragen wurde, plus der Versetzung
87, was zu 95 führt.
-
Der
kombinierte Versetzungs- und lokale Taktgeberwert der korrigierten
Erzeugerzeit 44 werden in dem Sicherheitsserver 30 zur
Zeit 98 empfangen, bei der es sich um eine (einzige) Taktgeberverzögerung in
diesem Beispiel handelt. Zu diesem Zeitpunkt wird der übertragene
Wert 95 der korrigierten Erzeugerzeit 44 von der aktuellen
Zeit 98 des lokalen Taktgebers 19 im Sicherheitsserver 30 subtrahiert, was
eine Datenalterung von 3 ergibt. Der Datenalterungswert 3 stellt
das Maximum der Verzögerungen dar,
die bei der Übertragung
der Versetzungsmessungsnachricht 11b und der Versetzungsmessungsnachricht 11c aufgetreten
sind.
-
Diese
Datenalterung kann mit einer vorbestimmten Schwelle verglichen werden,
beispielsweise mit dem Wert 15, um einen Sicherheitszustand
in dem Sicherheitsserver 30 zu initiieren, wenn die Verzögerung bei
der Übertragung
von Nachrichten 11 zu einem Pegel führt, der die Zuverlässigkeit
des hochgradig zuverlässigen
Steuersystems 10 beeinträchtigt.
-
Der
Messprozess kann wiederholt werden, um eine halbkontinuierliche
Messung der Datenalterung bereit zu stellen. Die Wiederholungsrate
bzw. -geschwindigkeit ist normalerweise viel kleiner als die Rate
bzw. Geschwindigkeit der Übertragung
der Nachrichten 11, sie reicht jedoch aus, um eine sich ändernde
Datenalterung langsamer zu verfolgen. Ein gelegentlicher Aufruf
der Nachrichten 11a bis 11c im Vergleich zum normalen
Nachrichtenverkehr führt
zu einer Beibehaltung der Netzwerkbandbreite. Wenn der Datenalterungsprozess
aufgerufen wird, können die
Nachrichten 11a und 11b für Perioden übersprungen werden, in denen
die Frequenzdrift zwischen den lokalen Taktgebern 19 voraussichtlich
bedeutet, dass die Versetzung sich nicht materiell geändert hat. Nach
der Übertragung
der Versetzungsmessungsnachricht 11c, die vorstehend erläutert ist,
kann deshalb eine spätere
Versetzungsmessungsnachricht 11c' übertragen werden unter Nutzung
des Versetzungswerts 87, der vorausgehend erfasst wurde, ohne die
Messungen 11a und 11b zu wiederholen.
-
Die
zweite Versetzungsmessungsnachricht 11c' enthält eine korrigierte Erzeugerzeit 44 von
101, erzeugt aus der Summe des Versetzungswerts 87 und der aktuellen
lokalen Taktgeberzeit 14. Wenn diese korrigierte Erzeugerzeit 44 durch
den Sicherheitsserver 30 zur lokalen Taktgeberzeit 104
empfangen wird, kann eine neue Datenalterung von 3 berechnet werden
als 104 – 101
= 3. Es wird bemerkt, dass die korrigierte Erzeugerzeit 44 101
getrennt als Versetzungswert übertragen
werden kann sowie eine Taktgeberzeit und die Addition, die im Sicherheitsserver 30 erfolgt
ist.
-
Weiter
unter Bezug auf 6 kann
eine dritte Versetzungsmessungsnachricht 11c'' zu
einer späteren
Zeit 20 von dem Sicherheitsklienten 24 gesendet
werden, um durch den Sicherheitsserver 30 zur lokalen Zeit
124 empfangen zu werden unter Verwendung von weiterhin demselben
Versetzungswert von 85. Diese Nachricht ist, wie gezeigt, signifikant verzögert. In
diesem Fall wird eine Datenalterung von 124 – 105 = 19 erzeugt, die einen
Sicherheitszustand auslöst
bzw. triggert.
-
Nachdem
eine bestimmte Anzahl von Nachrichten 11 und 11c übertragen
worden ist, wird eine Initiierungsnachricht 11a erneut übertragen
unter Aktualisierung der Versetzung zwischen den Taktgebern des
Sicherheitsklienten 24 und des Sicherheitsservers 30 im
Fall einer häufigen
Fehlanpassung zwischen diesen Taktgebern.
-
Unter
Bezug auf 7 kann eine
bidirektionelle Messung der Nachrichtenverzögerung getrennt von dem Sicherheitsklienten 24 zum
Sicherheitsserver 30 und vom Sicherheitsserver 30 zum
Sicherheitsklienten 24 auftreten unter Verwendung einer modifizierten
Versetzungs-/Verzögerungsmessungsnachricht 11d,
wie in 8 gezeigt. In
dieser Nachricht können
der Verbindungsidentifizierer 37, der Klingenzeichenzähler bzw.
die Klingelzeichenzählrate 40,
die Sicherheitsdaten 38 ähnlich zu denjenigen der Initiierungsnachricht 11a sein.
Sowohl die Erzeugerzeit 50 wie eine korrigierte Erzeugerzeit 44 können jedoch
bereit gestellt werden. Bei der Erzeugerzeit 50 handelt
es sich um die Zeit des lokalen Taktgebers des Erzeugers zur Zeit,
zu der die Versetzungs-/Verzögerungsmessungsnachricht 11d übertragen
wird. Bei der korrigierten Erzeugerzeit 44 handelt es sich
um die Erzeugerzeit 50 plus einem Versetzungswert zwischen
dem Erzeuger- und Verbrauchertaktgeber, der vorausgehend berechnet
ist, wie nachfolgend erläutert.
-
Wie
in 7 gezeigt, kann die
Versetzungs-/Verzögerungsmessungsnachricht 11d,
die beim Sicherheitsserver 30 eingeht, verwendet werden,
um eine Datenalterung unter Verwendung der korrigierten Erzeugerzeit
und der aktuellen Erzeugerzeit des lokalen Taktgebers im Verbraucher
zu berechnen. In diesem Fall kann beispielsweise die korrigierte
Erzeugerzeit 44 87 betragen und von dem Wert 90 des lokalen
Taktgebers im Verbraucher subtrahiert werden, um eine Datenalterung
von 3 zu ergeben. Gleichzeitig wird die Erzeugerzeit 50,
die in diesem Beispiel den Wert 0 hat, von dem lokalen Taktgeber
im Verbraucher subtrahiert, um eine Versetzung von 90 zu ergeben.
-
Diese
Versetzung von (90) wiederum kann in einer Versetzungs-/Verzögerungsmessungsnachricht 11e kommuniziert
werden, die, wie in 9 gezeigt,
von dem Verbraucher zu dem Erzeuger übertragen wird und die korrigierte
Verbraucherzeit 52 hält
bzw. enthält,
bei der es sich in diesem Fall um den aktuellen Wert des lokalen
Taktgebers im Verbraucher von 92 minus der vorausgehend berechneten
Versetzung 90 handelt, die einen Wert von 2 einnimmt. In dieser
Nachricht beträgt
die Verbraucherzeit 54 92 und ermöglicht es, dass die Berechnung der
Versetzung im Erzeuger in einer späteren Versetzungs/Verzögerungsmessungsnachricht 11d verwendet
wird, wie vorstehend erläutert.
-
In
diesem Fall werden Datenalterungswerte doppelt so häufig gewonnen.
-
Wie
in 10 gezeigt, kann
die vorliegende Erfindung auch in einer Multicast-Situation ablaufen, die
vorstehend unter Bezug auf 3 erläutert ist.
In diesem Fall wird die Initiierungsnachricht 11a, die eine
Klingelzeichenzählrate
enthält,
die sich geändert
hat, von dem Sicherheitsklienten 24 zu mehreren Sicherheitsservern 30a und 30b gesendet.
Jeder der Sicherheitsserver 30a und 30b kann die
Initiierungsnachricht 11a gleichzeitig empfangen oder in
Art eines Round-Robin
vor Änderung
des Klingenzeichenzählwerts.
-
Bei
Empfang der Initiierungsnachricht 11a können Sicherheitsserver 30a beispielsweise
versuchen, eine Versetzungsmessungsnachricht 11b zu senden,
wie vorstehend unter Bezug auf 6 erläutert. Eine
elektrische Interferenz 56 kann verhindern, dass die Nachricht
empfangen wird, in dem Fall, dass der Sicherheitsklienten 24 dahingehend
programmiert ist, zusätzliche
Initiierungsnachrichten 11a bis hin zu einer Wiederversuchsgrenze
wieder zu versuchen. Die zweite Initiierungsnachricht 11a' kann erneut
unterbrochen werden oder über
die Wiederversuchsgrenze von 62 hinaus verzögert werden,
in dem Fall eine Initiierungsnachricht 11a'' zu
den Sicherheitsservern 30a übertragen wird, wodurch ein
Fehlerzustand angezeigt wird. Eine ähnliche Reaktion auf verlorene
oder verzögerte
Nachrichten wird auch in den vorstehend erläuterten Beispielen einfacher
oder bidirektioneller Nachrichten bereit gestellt.
-
Wenn
angenommen wird, dass der Sicherheitszustand für die hochgradig zuverlässige Steuerung 10 nicht
aufgerufen ist, wird im nächsten
Klingenzeichenintervall eine Initiierungs nachricht 11a''' zu
dem nächsten
Sicherheitsserver 30b in Art eines Round-Robin gesendet,
bis sämtliche
der Sicherheitsserver 30a, 30b eine Initiierungsnachricht 11a empfangen
und geantwortet haben. Typischerweise stellt jede Versetzungsmessungsnachricht 11b eine Versetzungswert
bereit, der getrennt durch den Sicherheitsklienten 24 für jeden
Sicherheitsserver 30 aufrecht erhalten wird, so dass die
nachfolgende Versetzungsmessungsnachricht 11c, wie vorstehend
unter Bezug auf 6 erläutert, mit
geeigneten Versetzungswerten in geeigneter Weise abgeglichen werden
kann.
-
Es
ist insbesondere beabsichtigt, dass die vorliegende Erfindung nicht
auf die vorliegend genannten Beispiele und Illustrationen beschränkt ist; vielmehr
umfasst sie modifizierte Formen dieser Ausführungsformen, einschließlich Abschnitten
der Ausführungsformen
und Kombinationen von Elementen unterschiedlicher Ausführungsformen,
die in den Umfang der nachfolgenden Ansprüche fallen.
-
Zusammenfassende
Wertung
-
Ein
hochgradig zuverlässiges
Netzwerk stellt Messungen für
Netzwerkverzögerungen
durch Paare von Übertragungen
von lokalen Taktgeberwerten bereit, die in einer ersten Nachricht
verwendet werden, um Taktgeberwertversetzungen abzuleiten, und in
einer zweiten Nachricht, um Netzwerkverzögerungen zu erfassen.