-
Hintergrund der Erfindung
-
Die vorliegende Erfindung betrifft
Kommunikationsnetze und insbesondere industrielle Kommunikationsnetze,
die zum Austauschen von Daten zwischen Steuersystemen für Werksanlagen
eingesetzt werden.
-
Fabriken werden mit Steuerungen automatisiert,
die so programmiert oder konfiguriert sind, dass sie bestimmte Maschinen
oder Geräte
betreiben. Diese Steuerungen können
Universalsteuerungen sein, wie z. B. Computer, numerische Steuerungen oder
programmierbare Steuerungen; oder sie können Spezialsteuerungen sein,
wie z. B. Robotersteuerungen, Schweißsteuerungen oder Motorantriebe.
-
Jede Steuerung ist mit den verschiedenen Sensorgeräten und
Betriebsgeräten
der Anlage verbunden, die sie steuert, und automatisiert den Betrieb der
Anlage, indem sie Daten von den Sensorgeräten eingibt und die entsprechenden
Daten an die Betriebsgeräte
ausgibt. Dieser Austausch von Ein- und Ausgabe-("E/A")-Daten
zwischen der Steuerung und den Geräten an der gesteuerten Anlage
erfolgt häufig durch
direkte Verbindungen zwischen Ports an der Steuerung und jedem separaten
E/A-Gerät.
Wenn E/A-Geräte
jedoch physikalisch über
einen großen Bereich
verteilt sind, dann kann die Verdrahtung in Verbindung mit solchen
separaten Verbindungen zu teuer werden.
-
Eine Möglichkeit, die Verdrahtung
in solchen Anwendungen zu reduzieren, besteht darin, E/A-Daten durch
eine serielle Kommunikationsverbindung zu multiplexieren. Solche
seriellen E/A-Verbindungen werden gewöhnlich eingesetzt, um die zentral
positionierte Steuerung mit separaten ortsfernen Gestellen oder
Baugruppenträgern
zu verbinden, die sich in der Nähe
der E/A-Geräte
befinden. Solche "Fern-E/A-Systeme" sind beispielsweise
in den US-Patenten
Nr. 4,404,651; 4,413,319; 4,809,217 und 4,750,150 offenbart, wo
die Steuerung eine kontinuierliche Hochgeschwindigkeitsabtastung
der E/A-Daten in Verbindung mit jedem Ferngestell durchführt, und
diese Daten werden über
die serielle Kommunikationsverbindung übertragen. Es ist verständlich,
dass solche seriellen E/A-Links rechtzeitig und zuverlässig die
E/A-Daten übertragen
müssen, da
diese Daten Betriebsgeräte
an einer in Echtzeit arbeitenden Maschine direkt steuern.
-
Eine einzige Steuerung kann zwar
eine Maschine oder eine kleine Gruppe von Maschinen automatisieren,
aber um ein ganzes Werk wirklich zu automatisieren, müssen solche "Automationsinseln" miteinander verbunden
werden. Diese letzteren Verbindungen werden durch industrielle LANs
bereitgestellt, die es jeder Steuerung erlauben, Meldungen über serielle
Datenverbindungen zu anderen ähnlichen
Steuerungen im Werk zu senden. Es gibt eine große Zahl solcher "Peer-to-Peer" Kommunikationsnetze,
die in der Technik bekannt sind, von denen einige von Normenausschüssen wie
IEEE 802.3, IEEE 802.4, IEEE 802.5 und MAP entwickelt werden; andere
werden von Herstellern der Steuerung wie z. B. diejenigen entwickelt,
die in den US-Patenten Nr. 4,319,338, 4,667,323 und 4,747,100 offenbart
sind. Es ist verständlich,
dass die Art der Peer-to-Peer-Daten,
die über
LANs übertragen
werden, die Steuerungen miteinander verbinden, sich von E/A-Daten
unterscheiden, die über
serielle E/A-Verbindungen übertragen
werden. Während
einige der Daten möglicherweise
den Zustand der gesteuerten Maschinen anzeigen, besteht ein großer Teil
des Datenverkehrs aus großen
Datenblöcken.
So kann beispielsweise eine "Zellensteuerung" Steuerprogramme
für programmierbare
Logiksteuerungen oder Teilprogramme für numerische Steuerungen herunterladen,
und programmierbare Logiksteuerungen können Blöcke von statistischen Daten über Produktion
und Qualitätskontrolle
heraufladen. Während
E/A-Daten gewöhnlich zeitkritisch
sind und innerhalb von Millisekunden des Events, das sie erzeugt
hat, zuverlässig übertragen
werden müssen,
ist das Herauf- und Herunterladen von großen Datenblöcken gewöhnlich nicht so zeitkritisch.
-
Serielle Fern-E/A-Kommunikationsnetze
und Peer-to-Peer-Netze
koexistieren zwar schon seit vielen Jahren in Werken miteinander,
aber eine Reihe von Faktoren lässt
die Unterschiede zwischen ihnen verschwimmen und verlangen, dass
ein einzelnes Netz mit den Attributen von beiden erstellt wird.
Einer dieser Faktoren ist technisch – die zunehmende Verwendung
kleinerer Steuerungen in einer so genannten "verteilten Verarbeitung". Zum Beispiel, anstatt eine
einzige große
Steuerung zu verwenden, die mit einem Satz von Fern-E/A-Gestellen
verbunden ist, ist eine alternative Architektur ein Satz von miteinander verbundenen
kleinen Steuerungen, die anstelle jedes einzelnen Fern-E/A-Gestells
im Werk verteilt sind. Die resultierende Kommunikationsverbindung,
die diese kleinen, verteilten Steuerungen verbindet, muss sowohl
zeitkritische E/A-Daten als auch Peer-to-Peer-Meldungen übertragen.
Ein weiterer Faktor ist der Wunsch von Werksbesitzern, die Zahl der
verwendeten verschiedenen Kommunikationsnetze zu verringern, um
Personalausbildung und Wartungsbedarf zu vereinfachen und um das
Ersatzteilinventar zu reduzieren.
-
Das zum Übertragen der Daten auf einer
seriellen Kommunikationsverbindung verwendete Medium richtet sich
hauptsächlich
nach Kosten und der Geschwindigkeit, mit der die Daten übertragen
werden müssen.
Das kostenärmste
Medium, das in Werksanlagen eingesetzt wird, sind verdrillte Paare mit
einer sehr niedrigen Bandbreite, und das teuerste Medium ist faseroptisches
Kabel, das eine enorme Bandbreite bereitstellt. Das üblichste
im Werk eingesetzte Medium ist jedoch ein abgeschirmtes Kabel wie
z. B. Koaxialkabel, das einen guten Kosten-Leistungs-Kompromiss bietet.
-
Das gewählte Medium kann die Steuerungen und
Ferngestelle auf unterschiedliche Weisen verbinden, die gewöhnlich als "Netzwerktopologie" bezeichnet werden.
Man findet im Werk zwar so genannte "Stern"- und "Ring"-Topologien, aber
die "Bus"-Topologie ist bei
weitem am meisten verbreitet. Bei der Bustopologie verläuft ein
Kabel um das Werk von einer Station zur nächsten, und eine kurze Anschlussleitung
wird an diesen Bus angeschlossen und mit der Steuerung an dieser
Station verbunden. Die Bustopologie ist am wirksamsten und lässt sich am
leichtesten installieren.
-
Der Zugang zum Kommunikationsnetz
wird durch das am Netz verwendete "Medienzugangssteuer"-(Media Access Control – MAC)-Protokoll
bestimmt. In frühen
LANs, und in vielen Fern-E/A-Netzen, wurde der Zugang zum Medium
durch eine einzelne "Master"-Station gesteuert.
So dient z. B. in dem in den oben angeführten Patenten beschriebenen
Fern-E/A-Netz die
programmierbare Steuerung als Master des Netzwerkes und teilt den Fern-E/A-Gestellen
mit, wann sie auf das Medium zugreifen können. Dieses Einzel-Master-Protokoll ist für Fern-E/A-Netze
zufriedenstellend, wo der Verlust des programmierbaren Controller-Masters
zu einem Abschalten des gesamten Netzes führt, ist aber in einem Peer-to-Peer-Kommunikationsnetz
nicht zufriedenstellend. In einem Peer-to-Peer-Netz müssen die Kommunikationen
zwischen den Steuerungen auf dem Netz selbst dann fortlaufen, wenn
eine Steuerung abgetrennt ist oder nicht funktioniert. In der Tat muss
die Tatsache, dass eine Steuerung nicht mehr funktioniert, an sich über das
Netz zu anderen Steuerungen im Werk kommuniziert werden, damit die entsprechenden
Maßnahmen
ergriffen werden können.
-
Es gibt eine Reihe von Medienzugangssteuerprotokollen,
die in Werken häufig
eingesetzt werden, die sich nicht auf einen einzigen Master verlassen.
Dazu gehören
physikalische Ring-Token-Passing-Netze wie die, die in der Norm
IEEE 802.5 definiert sind, die logischen Ring-Token-Passing-Netze, die in der
Norm IEEE 802.5 definiert sind, und Trägererfassungs-Mehrfachzugriffsnetze
mit Kollisionserkennung (CSMA/CD) wie die, die in der Norm IEEE 802.3
definiert sind. Diese Protokolle sind zwar für Peer-to-Peer-Kommunikationen geeignet, wo
eine Meldung oder ein Datenblock mit jedem Zugriff auf das Medium
gesendet wird, aber sie eignen sich nicht zum Übertragen großer Mengen
von Echtzeit-E/A-Daten.
-
Ein weiteres Medienzugangssteuerprotokoll, das
in Werksanwendungen eingesetzt werden kann, wird als dynamisches
Zeitschlitzzuweisungsnetz (Dynamic Time Slot Allocation – DTSA)
oder dynamisches Zeitmehrfachzugriffsnetz (Dynamic Time Division
Multiple Access – DTDMA)
bezeichnet. Ein DTDMA-Netz, das zum Übertragen von Echtzeit-E/A-Daten
geeignet ist, ist beispielsweise im US-Patent Nr. 4,897,834 offenbart,
und ein Zeitmultiplexiernetz (TDM), das für die Übertragung von Echtzeit-E/A-Daten
und Meldungsdaten geeignet ist, ist im US-Patent Nr. 4,663,704 offenbart.
-
Auch wenn ein Netzwerk keine Master-Station
hat, kann es doch eine Moderatorstation haben, die einen Referenzsatz
von Werten für
die Parameter des Kommunikationsprotokolls enthält. Solche Parameter können definieren,
wie lang eine einzelne Station Zugang zum Netzwerk haben kann, sowie
die Zahl der verwendeten Stationsadressen. Wenn die Parameter einmal
geändert
werden müssen,
z. B. dann, wenn dem Netzwerk neue Stationen hinzugefügt werden
sollen, dann wird der Referenzsatz von Werten geändert und dann über das
Netz zu allen Stationen übertragen.
-
Sollte der Moderator ausfallen, dann
muss ein Prozess zum Wählen
eines Nachfolgers existieren. Ein weiteres Problem entsteht dann,
wenn eine neue Station am Netzwerk fälschlicherweise glaubt, dass
sie die Moderatorstation ist. In diesem Fall übernimmt die sich als Moderator
ausgebende Station die Steuerung des Netzwerks und kann einen Bogus-Satz
von Protokollparametern einführen,
die die Netzwerkleistung herabsetzen und sogar einige Stationen
daran hindern können,
Meldungen zu senden. Es wird ein Mechanismus benötigt, um dies zu verhindern.
-
Zusammenfassung der Erfindung
-
Ein Kommunikationsnetz hat eine Mehrzahl von
Knoten, die mit einem Übertragungsmedium
wie z. B. einem Koaxialkabel verbunden sind, wobei jedem Knoten
eine eindeutige numerische Netzwerkadresse zugeordnet ist. Einer
der Knoten ist als Moderator designiert und überträgt als solcher periodisch eine
Steuermeldung über
das Medium, die einen Satz von Kommunikationsprotokollparameterwerten enthält. Der
Knoten, dem die niedrigste numerische Netzwerkadresse zugewiesen
wurde, fungiert dabei typischerweise als Moderator.
-
Es ist eine allgemeine Aufgabe der
vorliegenden Erfindung, ein eindeutiges Verfahren zum Wählen eines
Knotens für
die Funktion des Moderators bereitzustellen. Diese Aufgabe wird
gemäß dem in
Anspruch 1 beanspruchten Verfahren gelöst.
-
Um einen Knoten auszuwählen, der
als Moderator fungiert, erhält
jeder Knoten alle Meldungen, die von anderen Knoten über das
Medium gesendet wurden, und ermittelt anhand dieser Meldungen, ob einem
anderen Knoten eine Netzwerkadresse mit einem niedrigeren numerischen
Wert zugeordnet wurde als die Netzwerkadresse, die diesem Knoten
zugeordnet wurde. Der Ermittlungsprozess erfolgt für eine ausreichend
lange Zeitperiode, so dass alle aktiven Knoten eine Gelegenheit
hatten, eine Meldung über
das Netzwerk zu senden. Am Ende dieser Periode wird ein Knoten auf
dem Netz keinen anderen Knoten mit einer tieferen numerischen Netzwerkadresse
gefunden haben. Dieser eine Knoten übernimmt dann die Funktion
des Moderators und führt sie
so lange aus, wie kein anderer aktiver Knoten eine tiefere numerische
Netzwerkadresse hat als dieser Knoten.
-
Eine weitere Aufgabe der vorliegenden
Erfindung besteht darin, ein Verfahren bereitzustellen, mit dem
ein Knoten, der einen anderen Satz von Protokollparametern hat als
die von dem Moderator gesendeten, darin gehindert wird, über das
Netzwerk zu übertragen.
Dazu vergleicht jeder Knoten nach dem Empfang einer Steuermeldung
vom Moderator den Satz von Protokollparametern in der Steuermeldung mit
einem Satz von Protokollparametern, die in einem Speicher an dem
Knoten gespeichert sind. Wenn die beiden Sätze von Parametern nicht gleich
sind, dann überträgt der Knoten
nicht mehr über
das Netz und kann lediglich Meldungen empfangen. Ein Knoten bleibt
so lange in diesem Nur-Empfangs-Status,
bis der Satz von Protokollparametern vom Moderator mit seinen gespeicherten
Parametern übereinstimmt oder
bis ein Satz von passenden Protokollparametern im Speicher des Knotens
gespeichert wird.
-
Es ist eine weitere Aufgabe, eine
manuelle Umgehungsprozedur für
den Fall bereitzustellen, dass es einem Knoten mit einem nicht konformen Satz
von Parametern gelingt, die Moderatorfunktion zu übernehmen.
-
Es ist eine weitere Aufgabe der vorliegenden Erfindung,
einen Mechanismus bereitzustellen, mit dem ein Benutzeroberflächenterminal
mit dem Netzwerk verbunden werden und den Satz von Protokollparametern
anhand der vom Moderator gesendeten Meldung erlernen kann. Darüber hinaus
wird ein Verfahren bereitgestellt, mit dem das Terminal von einer unbenutzten
Netzwerkadresse erfahren und diese unbenutzte Netzwerkadresse als
ihre eigene Adresse auf Anfrage annehmen kann, um über das
Netzwerk zu kommunizieren.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
eine Darstellung eines Kommunikationsnetzes gemäß der vorliegenden Erfindung;
-
2A, 2B und 2C illustrieren die Unterteilungen eines
von einem Knoten auf dem Kommunikationsnetz gesendeten Meldungsframe;
-
3 illustriert
die Sequenz, in der Meldungen über
das Kommunikationsnetz ausgetauscht werden;
-
4A beschreibt
die Reihenfolge, in der verschiedene Stationen auf dem Netz Meldungen während der
geplanten Phase jedes periodischen Intervalls senden; und
-
4B beschreibt
die Reihenfolge, in der verschiedene Stationen auf dem Netz Meldungen während der
ungeplanten Phase jedes periodischen Intervalls senden;
-
5 ist
ein schematisches Blockdiagramm einer Medienzugangssteuerung (Media
Access Controller – SMAC)
an jedem Knoten auf dem Kommunikationsnetz;
-
6A und 6B sind Zustandsdiagramme des
Betriebs eines nativen Knotens bzw. eines fremden Knotens;
-
7 ist
eine Ablauftabelle des Einschaltprozesses, der von einem Gerät an einem
Knoten durchgeführt
wird, der Konfigurationsparameter in einem nichtflüchtigen
Speicher führt;
-
8 ist
ein Ablaufdiagramm des Einschaltprozesses, der von einem Gerät an einem
Knoten durchgeführt
wird, der keine Konfigurationsparameter in einem nichtflüchtigen
Speicher führt;
-
9 ist
ein Ablaufdiagramm des Prozesses, mit dem ein an einem Knoten angeschlossener Benutzeroberflächenterminal
eine Netzwerkadresse erhält;
und
-
10 ist
eine Ablauftabelle einer manuellen Umgehungsprozedur zum Zurückstellen
eines richtigen Satzes von Kommunikationsparametern.
-
Beschreibung einer bevorzugten
Ausgestaltung
-
Zunächst mit Bezug auf 1, ein industrielles Steuerkommunikationsnetz 10 umfasst
ein Medium 11, an dem eine Reihe von Stationen oder Knoten 12–18 zum
Senden und Empfangen von Daten angeschlossen sind. Das Netzwerk 10 kann
ein beliebiges geeignetes Medium wie z. B. Koaxialkabel oder faseroptische
Kabel verwenden und kann auf einer beliebigen geeigneten Topologie
wie z. B. Bus-, Stern- oder Ringtopologie basieren. In der hierin
beschriebenen beispielhaften Ausgestaltung wurde für die Verbindungen
von Netzwerk 10 ein in Bustopologie geschaltetes Koaxialkabel 11 verwendet.
Jeder Knoten ist durch eine Medienzugangssteuerung 20 mit dem
Kabel 11 verbunden.
-
Die Knoten an dem illustrierten Netz 10 beinhalten
zwei Prozessorknoten 12 und 13 wie z. B. programmierbare
Controller, Zellcontroller oder Minicomputer sowie mehrere Ein-/Ausgabe-
(E/A) Knoten 14–18.
Es ist zu verstehen, dass auch eine größere Zahl von Geräten für insgesamt
N Knoten am Netzwerk angeschlossen sein können, wobei N eine ganze Zahl
ist. Eine eindeutige numerische Netzwerkadresse wird jedem Knoten 12–18 zugeordnet
und dient zum Identifizieren jedes Knotens. Ein Benutzeroberflächenterminal 19 kann
durch die Medienzugangssteuerung 20 an jedem beliebigen
Knoten am Netz angeschlossen sein, aber das Terminal erhält seine
eigene eindeutige Netzwerkadresse, wie nachfolgend beschrieben wird.
Das Benutzeroberflächenterminal 19 ist
ein PC, der ein Programm ausführt, das
es einem Operator gestattet, den Betrieb des Netzwerkes 10 zu überwachen
und zu steuern, wie nachfolgend beschrieben wird.
-
Das Netz 10 wird hierin
als CTDMA-(Concurrent Time Division Multiple Access)-Netz bezeichnet, da
sowohl von den Prozessoren 12 und 13 beim Betreiben
der Maschinen verwendete Ein-/Ausgabedaten sowie Steuerbefehle,
Systemmanagement- und andere Meldungen verzahnt über dasselbe Medium 11 ausgetauscht
werden, wobei jedem Knoten 12–18 zeitmultiplexiert
Zugang zum Senden von Meldungen gewährt wird. Das CTDMA-Netz 10 verwendet
ein Protokoll des Token-Bus-Typs, in dem ein "impliziter Token" in einer vorgeschriebenen Reihenfolge
von Knoten zu Knoten gereicht wird, und der Knoten, der den impliziten
Token gerade hat, seine Meldungen senden kann. Das implizite Token
wird jedoch nicht physikalisch zwischen den Knoten herumgereicht, sondern
jede Station überwacht
die Netzwerkaktivität und
hat ein Register, in dem sie verfolgt, welcher Knoten gerade den
Token hat. Alle Knoten 12–18 müssen sich
an ein wohldefiniertes Kommunikationsprotokoll halten, um sich nicht
gegenseitig zu stören, wenn
Meldungen über
das Kabel 11 gesendet werden.
-
Netzkommunikationsprotokoll
-
Gemäß 2A werden alle Meldungen unabhängig vom
Typ der gesendeten Daten als Media Access Control (MAC) Frame 21 mit
einer maximalen Länge
von 517 Byte formatiert. Jedes Mal, wenn einer Station Zugang zum
Senden von Informationen über
das Netz gewährt
wird, kann sie einen MAC-Frame senden. Der MAC-Frame 21 beginnt
mit einer Präambel 22 und
einem Anfangsbegrenzer 23. Ein eindeutiger Anfangsbegrenzer 23 dient
zum Festlegen eines präzisen
Synchronisationspunktes in den eingehenden Daten, damit der Empfänger jedes
Datenzeichen genau erkennt.
-
Hinter dem Anfangsbegrenzer 23 im MAC-Frame 21 kommt
die Netzwerkadresse 24 des Quellknotens der Meldung. Der
MRC-Frame 21 hat auch ein Datenfeld 25, das eine
Länge von
bis zu 510 Byte hat und das in Grundmeldungseinheiten unterteilt
ist, die als LPakete 26, d. h. "Link-Layer-Pakete", bezeichnet werden. Jedes LPaket 26 repräsentiert eine
separate Meldung oder Gruppe von Daten und beinhaltet ein eindeutiges
Kennetikett, anhand dessen jeder Knoten 20 ermittelt, ob
er die Information in diesem LPaket benötigt. Wenn ein bestimmter Knoten
mehrere LPakete zu senden hat, dann werden die LPakete in eine Warteschlange
eingereiht und in der eingereihten Folge übertragen. Wenn mehrere LPakete 26 in
der Warteschlange sind, als in einen MAC-Frame passen, dann müssen die übrigen warten, bis dem Knoten
wieder Zugang zum Netzwerkmedium 11 gewährt wird.
-
Jedes LPaket 26 ist in eine
Reihe von Feldern wie in 2B gezeigt
unterteilt. Das erste Feld 31 ist ein Byte, das die Größe oder
Länge des
LPakets 26 angibt. Das zweite Feld 32 enthält acht
Steuerbits, wie in der Vergrößerung dieses
Feldes in der Zeichnung angedeutet ist. Das erste Steuerbit 38 bezeichnet
eine von zwei Formen einer Meldungsadressierung, fest oder allgemein,
die im Etikettfeld 34 des LPakets verwendet werden. Die
feste Form beinhaltet einen Funktionscode, darauf folgt eine Zieladresse.
Eine feste Modusmeldung wird in jedem Knoten von einer Schaltung
inspiziert, die als "fixed Screener" bezeichnet wird,
um zu ermitteln, ob der Knoten an diesem LPaket interessiert ist.
So wird der feste Modus z. B. zum Rundsenden von Netzmanagementmeldungen
zu allen Knoten oder zum Senden von Netzbefehlen zu einem bestimmten
Knoten verwendet. Im letzteren Fall enthält das feste Etikett für das LPaket
die Netzwerkadresse des Empfängerknotens.
Die allgemeine Form der Adressierung ermöglicht es dem Benutzer, die
Bedeutung des Etiketts gemäß einem
Satz von Regeln zu definieren, die für das jeweilige Netz aufgestellt
wurden. So kann beispielsweise eine eindeutige Etikettnummer einen bestimmten
Ursprungstyp von E/A-Daten bezeichnen, die für mehrere Knoten von Interesse
sein können.
Ein "Universal-Screener" in jedem Knoten
inspiziert diese letztere Etikettform, um zu ermitteln, ob das LPaket
für den
Knoten von Interesse ist, wie beschrieben wird.
-
Das dritte und vierte Steuerbit 40 und 42 werden
als "Etikettfüller" und "Datenfüller" bezeichnet und geben
die Ausrichtung der Etikett- und Datenfelder 34 und 36 im
LPaket an. Wie beschrieben wird, haben die Etikett- und Datenfelder
veränderliche Längen und
beginnen möglicherweise
mit einer 16-Bit-Wortgrenze im LPaket 26 oder auch nicht.
Die Etikettfüller-
und Datenfüller-Steuerbits 40 und 42 geben
diese Ausrichtung an und werden von einem Empfängerknoten zum Trennen der
LPaket-Felder verwendet. Das nächste
Steuerbit 44 gibt an, ob die in dem LPaket enthaltenen
Daten in Bytegröße oder in
16-Bit-Wortgröße vorliegen.
Der letzte Teil 46 umfasst drei Steuerbits, die eine Generationszahl
angeben. In einigen Implementationen des CTDMA-Protokolls kann ein
Quellknoten mehrere Kopien desselben LPakets senden, um zu gewährleisten,
dass wenigstens eines von ihnen die beabsichtigten Empfänger erreicht.
Die Generationszahl bleibt für
jedes duplizierte LPaket gleich und ermöglicht es einem Empfängerknoten,
die Duplikate zu ignorieren, wenn ein Paket erfolgreich empfangen
wurde. Wenn sich die Generationszahl ändert, wissen die Netzknoten 20, dass
sich der Meldungsinhalt dieses etikettierten LPakets ebenfalls geändert hat.
Wenn das "immer akzeptieren" Steuerbit 45 gesetzt
ist, dann ignorieren die Empfängerknoten
die Generationszahl bei der Ermittlung, ob das LPaket für die Verarbeitung
akzeptiert werden soll.
-
Nach den Steuerbits 32 im LPaket 26 kommt das
Etikett 34, das eine veränderliche Zahl von Bytes hat.
Das Etikett identifiziert den Typ von LPaket, der es einem Empfängerknoten
ermöglicht,
die LPakete, an denen er nicht interessiert ist, zu ignorieren oder auszufiltern
und nur die zu behalten, die für
ihn von Interesse sind. Wie nachfolgend ausführlicher erläutert wird,
akzeptieren "Screener" in jedem Knoten 20 nur
die LPakete mit selektierten Etiketten. Um eine Grenze zwischen
dem Etikett-Feld 34 und dem Link-Daten-Feld 36 an
einer geradzahligen Wortnummer nach dem Anfang des Datenfeldes 25 zu
behalten, wenn das LPaket im Speicher eines Empfängerknotens gespeichert ist,
muss das Etikett-Feld 34 eine gerade Zahl von Bytes im
MAC-Frame gemäß Austausch
mit Host-Geräten 12, 13, 14, 15, 16 usw. enthalten.
Ein Etikett mit einer ungeraden Zahl von Bytes wird durch das Etikettfüller-Steuerbit 40 angezeigt,
das einen Schaltkomplex im sendenden Knoten anweist, ein Füllbyte aus
dem Etikett-Feld zu löschen,
bevor er das LPaket überträgt, und
einen Empfängerknoten
anweist, ein Füllbyte
zum Etikett-Feld hinzuzufügen,
bevor er das LPaket zum Host-Prozessor 102 überträgt.
-
Das letzte Feld 36 des LPakets 26 enthält die ausgetauschten
Daten oder Befehle, die als "Link-Daten" bezeichnet werden.
Die Anzahl der Bytes im Feld 36 variiert je nach der Menge
von Daten, die der Quellknoten senden muss. Da die Daten in Byte-
oder Wortgröße vorliegen
können,
müssen Empfängerschaltungen
in den Empfängerknoten
beide Formate handhaben können.
Wie nachfolgend beschrieben wird, sind die Empfängerschaltungen so ausgelegt,
dass sie Wortgrößeninkremente
handhaben können.
Wenn die Link-Daten 36 eine ungerade Zahl von Bytes haben,
wie durch das Datenfüll-Steuerbit 42 angegeben,
muss der Empfängerknoten
ein Füllbyte
zum Datenfeld hinzugeben, bevor er das LPaket im Speicher speichert.
-
Wieder bezugnehmend auf 2A, auf die LPakete im MAC-Frame 21 folgt
ein CRC-Wort (zyklischer Redundanzcode) 27, den ein Empfängerknoten
verwendet, um zu erkennen, wenn der Frame während der Übertragung beschädigt wird.
Der letzte Teil 28 des MAC-Frame 21 ist ein Endebegrenzer,
an dem die anderen Stationen erkennen können, wann der Frame geendet
hat.
-
Ein bestimmter Knoten 12–18 kann
einen MAC-Frame 21 nur zu vorbestimmten Zeiten über das
Netz 10 übertragen,
um zu verhindern, dass Frames von verschiedenen Knoten miteinander
kollidieren. Die Übertragung
von Meldungen erfolgt während einer
Reihe von sich wiederholenden periodischen Intervallen 50,
wie in 3 gezeigt ist.
Die Länge
des periodischen Intervalls kann vom Benutzer definiert werden,
wie beschrieben wird. Jedes periodische Intervall 50 ist
in drei Segmente unterteilt: die geplante Phase 52 für E/A-Daten,
die ungeplante Phase 54 für andere Typen von Meldungen,
und ein Sperrband 56 für
die Meldungskoordination.
-
Während
der geplanten Phase 52 erhält jeder Knoten 12-18 die Gelegenheit,
diesen Datentyp über
das Netz zu übertragen.
Wie in 4A gezeigt, ist
die geplante Phase 52 in Zeitschlitze 60 für jeden von
P Knoten 20 unterteilt, wobei P die höchste Zahl von Knoten ist,
die jemals E/A-Daten übertragen
können.
Zum Beispiel überträgt der Benutzeroberflächenterminal 19 niemals
E/A-Daten und benötigt
keinen Schlitz in der geplanten Phase 52. Es sind gewöhnlich Reserveschlitze
in der geplanten Phase 52 vorgesehen, damit zusätzliche
Knoten zu einem späteren
Zeitpunkt hinzugefügt
werden können.
Jeder Zeitschlitz 60 ist typischerweise so lang wie die
Zeit, die zum Senden eines MAC-Frame 21 mit der maximalen
Länge benötigt wird,
die das Netzwerkprotokoll zulässt
(z. B. 510 Bytes). Eine Station kann jedoch eine feste Funktion
haben, und die genaue Menge an Daten, die sie senden wird, ist möglicherweise
gut bekannt. Daher braucht der einer solchen Station zugeordnete
Schlitz lediglich lang genug zu sein, um diese bekannte Menge an
Daten zu senden, die gewöhnlich
geringer ist als die maximale Menge, die das Netzwerkprotokoll zulässt. Dies
ergibt erhebliche Bandbreiteneinsparungen und kürzere Antwortzeiten für die vorliegenden
Daten.
-
Am Ende jedes periodischen Intervalls 50 befindet
sich ein Sperrband 56. Wenn das Sperrband endet, wird ein "Ton"-Signal 53 in jedem Knoten 12–18 erzeugt,
um die zeitliche Grenze zwischen zwei periodischen Intervallen 50 anzuzeigen.
Das Signal wird zwar nicht über
das Netzkabel 11 gesendet, aber es lässt es zu, dass jeder Knoten
Zeit synchron zählt.
Die Medienzugangssteuerung 20 in jedem Knoten hat einen
Taktgeber, der das Tonsignal kontinuierlich selbst dann weiter erzeugt,
wenn der Knoten während
eines oder mehrerer Sperrbänder 56 keine
Synchronisierungsmeldung empfängt.
Nach dem Erzeugen des Tonsignals überträgt der Netzknoten mit der ersten
Adresse einen MAC-Frame von E/A-Daten im geplanten Schlitz 1.
Wenn dieser erste Knoten keine E/A-Daten hat, dann überträgt er einen leeren
MAC-Frame, d. h. einen ohne LPakete. Wenn ein Knoten jedoch mehr
E/A-Daten hat, als in einem einzigen MAC-Frame 21 übertragen
werden können, dann
können
die übrigen
Daten während
der ungeplanten Phase 54 gesendet werden, wenn dieser Knoten
eine Gelegenheit erhält,
in dieser Phase zu senden.
-
Am Ende des geplanten Schlitzes 1 für den ersten
Knoten überträgt der Knoten 12–18 mit
der nächsten
sequentiellen Netzwerkadresse seine E/A-Daten während des geplanten Schlitzes 2.
Man beachte, dass in diesem Beispiel einem Knoten entweder keine
Adresse 3 zugewiesen wurde oder dass der zugewiesene Knoten
derzeit inaktiv ist. Wenn einem aktiven Knoten diese Adresse zugewiesen
wurde und er hatte keine E/A-Daten zu übertragen, dann würde der
Knoten einen Null-MAC-Frame 21 übertragen, der keine Daten
enthält.
Somit wird der geplante Schlitz 3, der sonst durch E/A-Daten vom dritten
Knoten belegt wird, durch eine kurze "tote" Periode 62 ersetzt.
Der vierte Netzknoten horcht in dieser toten Periode, ob der dritte
Knoten sendet. Diese Horch- oder Warteperiode muss wenigstens so
lang sein wie die längste
Zeit, die ein Signal für
die Fortpflanzung zwischen beliebigen zwei Stationen benötigt. Wenn
eine Übertragung
während
der Horchperiode nicht gehört wird,
dann kommt es zu einem "Schlitz-Timeout", und der vierte
Knoten folgert, dass der dritte Knoten nicht existiert, und beginnt
mit dem Senden von E/A-Daten über
das Netzkabel 11.
-
Diese Sequenz wird so lange fortgesetzt,
bis alle P Knoten auf dem Netz 10, die für eine geplante Phasenübertragung
konfiguriert sind, die Gelegenheit zum Senden erhalten haben, d.
h. bis der implizierte Token einmal um das Netz gereicht wurde.
Die tatsächliche
Dauer der geplanten Phase 52 variiert je nach dem, wie
viele Netzknoten 20 E/A-Daten zu senden haben, sowie je
nach der Menge von E/A-Daten, die jeder Knoten sendet. Je nach diesen
Faktoren ist es denkbar, dass das gesamte periodische Intervall 50 mit
einer geplanten Phase 52 und einem Sperrband 56 verbraucht
werden kann. Es ist jedoch häufiger
der Fall, dass nach der geplanten Phase 52 noch Zeit für eine ungeplante
Phase 54 bleibt.
-
Während
der so genannten ungeplanten Phase 54 erhalten die Netzknoten 12–18 die
Gelegenheit, evtl. verbleibende E/A-Daten sowie andere Meldungstypen
zu senden, wie z. B. solche, die Steuerbefehle und Herstellungsinformationen
enthalten. Jegliche nach der geplanten Phase 52 im periodischen
Intervall 50 verbleibende Zeit wird der ungeplanten Phase 54 gegeben.
So erhält
nicht jeder Knoten während
der ungeplanten Phase 54 unbedingt garantiert Zeit, um
Meldungen zu senden, aber das ist akzeptabel, da die ungeplanten
Phasenmeldungen definitionsgemäß weniger
zeitkritisch sind als die E/A-Daten.
-
Wenn genügend Zeit verbleibt, dann können die
Knoten 12-18 während
der ungeplanten Phase 54 wie in 4B gezeigt MAC-Frames senden. Eine weitere
Unterscheidung zwischen den beiden Phasen 52 und 54 ist
die, dass der erste Knoten, der während der ungeplanten Phase
zuerst senden darf, in jedem periodischen Intervall wechselt. Dieser
erste Knoten wird von einer Netzwerkadresse angegeben, die durch
die Variable START designiert wird, die von jedem Knoten in einem
internen Register der Medienzugangssteuerung 20 gespeichert
wird. Am Ende der ungeplanten Phase 54 wird der Wert von
START inkrementiert, so dass der Knoten mit der nächsten numerischen
Netzwerkadresse als erster die Gelegenheit erhält, einen Meldungsframe während der
ungeplanten Phase des nächsten
periodischen Intervalls zu senden. Wenn der Wert von START die höchste für die ungeplante
Phase designierte Adresse erreicht, dann wird er auf die niedrigste
Adresse zurückgesetzt.
Der implizite Token wird zwar nur einmal in der geplanten Phase 52 herumgereicht,
aber in der ungeplanten Phase wird er so oft herumgereicht, wie es
die Zeit zulässt.
-
Somit sendet zu Beginn der ungeplanten Phase 54 der
Knoten 12–18 mit
einer Adresse gemäß START
einen Meldungsframe. Wenn ein Knoten diesen Meldungstyp nicht zu
senden hat, dann wird ein leerer Meldungsframe gesendet, d. h. einer
ohne LPakete. Dann erhält
der Knoten mit der nächsten Netzwerkadresse
(START + 1) die Genehmigung, einen Meldungsframe zu senden, usw.,
bis die in der ungeplanten Phase verbleibende Zeit verbraucht ist. In
der in 4B veranschaulichten
beispielhaften ungeplanten Phase 54 besteht eine Lücke 68 hinter dem
Schlitz 66 für
den START-Knoten,
die anzeigt, dass Adresse START + 1 entweder unzugewiesen oder der
zugewiesene Knoten derzeit inaktiv ist, so dass eine Totzeit auf
dem Netz entsteht. Wie bei der geplanten Phase 52, wenn
ein Knoten in diesem Schlitz nicht mit dem Senden einer Meldung
beginnt, dann beginnt der nächste
Knoten in der Adresssequenz (z. B. START + 2) nach einer Horchperiode
mit dem Senden.
-
Man sollte auch bemerken, dass eine
geringe Menge Zeit 69 verbleibt, nachdem der mit (START +
M) designierte Knoten gegen Ende der ungeplanten Phase 54 mit
dem Senden aufhört.
Da diese Menge Zeit 69 für einen weiteren MAC-Frame 21 zu kurz
ist, kommt es zu keiner Übertragung.
Zu diesem Zweck verfolgt jeder Knoten 12–18 die
Zeit, die in dem periodischen Intervall verbleibt. Die Anzahl der Knoten
M, die die Gelegenheit erhalten, einen MAC-Frame 21 während einer
bestimmten ungeplanten Phase 54 zu senden, ist von der
Zeitmenge abhängig,
die in dem periodischen Intervall 50 nach der geplanten
Phase 52 verbleibt, sowie von der Länge der Frames, die jeder Knoten
zu senden hat.
-
Eine Zeitperiode, die als Sperrband 56 bezeichnet
wird, wird am Ende des periodischen Intervalls 50 reserviert.
In dem Sperrband sendet einer der Knoten 12–18,
der als Netzwerk-"Moderator" designiert ist,
einen MAC-Frame 21 mit
einem einzelnen LPaket 26 rund, das Netzprotokollparameter
enthält.
Der Moderator ist im Allgemeinen der aktive Knoten mit der niedrigsten
numerischen Netzwerkadresse, und über seine Funktion wie jeder
andere Knoten hinaus sendet er auch die Protokollparameter während des
Moderatorschlitzes jedes Sperrbandes 56. Das LPaket für den Moderator-Meldungsframe hat
dasselbe Format wie in 2B illustriert,
sein Fixed-Screen-Select-Bit
ist gesetzt und er hat ein Etikett, das ein Moderator-LPaket anzeigt. 2C zeigt das Link-Daten-Feld 36 dieses
speziellen LPakets, das die Protokollinformationen enthält. Der
erste Block 71 von Daten enthält die hexadezimale Zahl FF,
die die Rundsendeadresse angibt. Der nächste Datenblock 72 enthält die periodische
Intervallzeit (PIT) in Inkrementen von jeweils zehn Mikrosekunden,
die jeden Knoten über
die Dauer jedes periodischen Intervalls 50 informiert.
Der dritte und der vierte Datenblock 73 und 74 geben
die Knoten mit den höchsten
Netzwerkadressen an, denen der Zugang zum Netzwerk jeweils in der
geplanten und der ungeplanten Phase gewährt wird. Während der ungeplanten Phase
erhalten gewöhnlich
mehr Knoten Zugang, da einige Knoten niemals E/A-Daten zu senden
haben. So sendet z. B. Benutzeroberflächenterminal 19 nur
Daten während
der ungeplanten Phase über
das Netzkabel 11, und es sollte ihm keine Netzwerkadresse
gegeben werden, die in beiden Phasen abgefragt wird, da dies die
geplante Phase nur verlangsamt. Dieser Mechanismus verhindert auch,
dass transiente Knoten wie das Benutzeroberflächenterminal 19 geplante
Zeit von anderen Knoten wegnimmt, die sie brauchen.
-
Der fünfte Block von Daten 75 im
Moderator-LPaket definiert die Horchzeit (in Mikrosekunden), während der
eine Station auf ein Senden der vorherigen Station warten muss,
bis sie davon ausgehen kann, dass die andere Station dies nicht
tut. So wird beispielsweise die Wartezeit auf einen Betrag von wenigstens
gleich dem Zweifachen der längsten
Netzwerkfortpflanzungszeit plus der Reaktionszeit eines Knotens
plus der Menge an Zeit eingestellt, die ein Knoten braucht, um das
Senden eines anderen Knotens zu erkennen.
-
Sehr häufig hört ein Knoten ein Echo seiner eigenen Übertragung.
Wenn nicht auf andere Weise gesperrt, kann der Knoten den Empfang
des MRC-Frame-Echos so verarbeiten, als wenn es von einem anderen
Knoten käme.
Der sechste Datenblock 76 enthält eine Definition einer Leerzeit,
während
der ein Knoten nach seiner Übertragung
taub ist, so dass er seine eigenen Meldungen nicht empfangen kann.
Die Leerzeit dient auch zum Ermitteln einer Menge an Zeit, die ein
Knoten nach dem Senden oder Empfangen eines Meldungsframe verzögern muss,
bevor er über
das Netz senden kann. Somit gibt es eine kurze Ruhezeit zwischen
Meldungsframes.
-
Weiter bezugnehmend auf 2C, die nächsten beiden
LPaket-Datenblöcke 77 und 78 definieren
die Länge
des Sperrbandes 56 und den Punkt innerhalb des Sperrbandes,
an dem der Moderator mit dem Übertragen
des MAC-Frame beginnen soll. Der Inhalt des Sperrbandzeitblocks 77 wird
von jedem Knoten verwendet, um zu ermitteln, wann ein Sperrband 56 auftritt.
In einen Timer in dem Knoten wird die periodische Intervallzeit
(PIT) geladen, wenn der Ton 53 auftritt. Dieser Timer wird
alle zehn Mikrosekunden dekrementiert, und wenn die im periodischen
Intervall verbleibende Zeit gleich der Sperrbandzeit aus Datenblock 77 ist,
dann weiß der
Knoten, dass ein Sperrband beginnt. Da sich jeder Knoten auf seinen
eigenen internen Timer verlässt,
um Events wie z. B. das Sperrband zu erkennen, wird, wenn der Timer
eines bestimmten Knotens vor- oder nachgeht, der Betrieb dieses
Knotens nicht präzise auf
die anderen Knoten synchronisiert. Daher beginnt der Moderator nicht
mit dem Senden des MAC-Frame von Netzsteuerinformationen ganz am Anfang
des Sperrbandes 56. Stattdessen wartet der Moderator bis
zu einem späteren
Zeitpunkt, SBAND MITTE genannt, der im Datenblock 78 angegeben
ist. Der interne Timer im Moderator-Knoten dient zum Ermitteln des
Auftretens dieses Zeitpunkts. Es kann ein weiteres Feld vorgesehen
werden, um einen Zeitpunkt während
des periodischen Intervalls zu identifizieren, an dem Knoten mit
dem Senden über
das Netzkabel 11 aufhören
müssen,
um Störungen
des Moderators zu vermeiden.
-
Der nächste Protokolldatenblock 79 des
Moderator-LPakets
identifiziert die Adresse des Knotens 12–18,
der die erste Gelegenheit erhält,
während
der ungeplanten Phase des nächsten
periodischen Intervalls zu senden. Jedes periodische Intervall ist
nummeriert, und Block 80 enthält die Nummer, oder PIT ZAHL,
des aktuellen Intervalls. Die Numerierung der periodische Intervalle
arbeitet mit modularer Arithmetik, und Datenblock 81 enthält den Modulus.
Dieses Nummernschema lässt
es zu, dass bestimmte Knoten so konfiguriert werden, dass sie Daten
nur während
periodischer Intervalle mit einer bestimmten Nummer übertragen.
So kann beispielsweise ein bestimmter Knoten E/A-Daten verarbeiten,
die nicht so zeitkritisch sind, dass die Daten während jedes periodischen Intervalls
gesendet werden müssten.
Daher kann dieser Knoten mittels der periodischen Intervallnummer
so konfiguriert werden, dass er Daten jeweils immer nur nach einer
definierten Anzahl von periodischen Intervallen sendet.
-
Zu verschiedenen Zeiten wird es notwendig, die
Werte der Netzprotokollparameter zu ändern. Wenn es z. B. keine
freie Adresse unterhalb der geplanten oder ungeplanten Maxima in
den Blöcken 73 und 74 gibt,
wenn ein neuer Knoten zum Netz hinzugefügt wird, dann muss der Wert
in einem oder in beiden Blöcken
erhöht
werden. Dies erfolgt durch einen Operator, der die Netzkonfigurationssoftware
auf dem Benutzeroberflächenterminal 19 abruft
und die notwendigen Netzprotokollparameter umdefiniert. Das Benutzeroberflächenterminal
sendet dann die neuen Parameterwerte zu jedem Knoten in separaten
Konfigurations-LPaketen
während
der ungeplanten Phase 54 aufeinander folgender periodischer
Intervalle. Dieses Konfigurations-LPaket hat ein festes Etikett, das anzeigt,
dass das LPaket Werte für
die Protokollparameter enthält.
Die Empfängerknoten speichern
die neuen Protokollparameterwerte in einem Satz von Halteregistern
in der Medienzugangssteuerung 20.
-
Um zu gewährleisten, dass alle Netzwerkknoten 20 gleichzeitig
beginnen, die neuen Konfigurationsdaten zu benutzen, enthält das Moderator-LPaket
eine Nummer, die in Block 82 mit TMINUS bezeichnet ist.
TMINUS hat gewöhnlich
einen Wert von null. Nach dem Verteilen neuer Protokollparameterwerte
zu den Netzwerkknoten hat das Moderator-LPaket jedoch einen TMINUS-Wert
von ungleich null in Block 82 (z. B. einen Wert von zwanzig).
Der Wert von TMINUS wird beim Senden jedes nachfolgenden Moderator-LPakets dekrementiert.
Wenn TMINUS null erreicht, dann übertragen
alle Knoten die Parameterwerte in ihrem Satz von Halteregistern in
einen Satz von aktiven Registern in der Medienzugangssteuerung 20,
aus dem die Parameter gelesen werden, um Aktivität auf dem Netz 11 zu
koordinieren. Dieser Prozess verzögert die Verwendung der neuen
Werte für
die Protokollparameter für
mehrere periodische Intervalle 50, so dass alle Knoten
die Änderung
mit sehr hoher Wahrscheinlichkeit gleichzeitig implementieren werden.
-
Der MAC-Frame im Sperrband 56 bewirkt auch
die Synchronisation der Takte in jedem Knoten 20. Das Ende
dieses MAC-Frame ergibt einen Bezugspunkt, von dem jeder Knoten
das Intervall misst, bis das Tonsignal im Knoten erzeugt wird. Somit
wird jedes Mal, wenn ein Knoten den Moderator-Meldungsframe zufriedenstellend
empfängt,
sein Taktgeber auf die Taktgeber in allen anderen Knoten neu synchronisiert.
Die Genauigkeit dieser Taktgeber ist derart, dass ein Knoten auf
dem Netz noch mehrere periodische Intervalle lang funktionieren
kann, ohne den Moderator-Meldungsframe zufriedenstellend zu empfangen,
bevor der Takt erheblich abweicht. Unter normalen Bedingungen wird
der Knoten einen Moderator-Meldungsframe zufriedenstellend empfangen und
synchronisiert werden, bevor es zu einer zu starken Abweichung kommt.
-
Somit lässt das aktuelle CTDMA-Netzkommunikationsprotokoll
das Senden von Ein/Ausgabedaten und anderen Meldungsinformationen über dasselbe
Netzwerkmedium in designierten Abschnitten der periodischen Intervalle 50 zu.
In jedem periodischen Intervall 50 enthalten die E/A-Daten
Priorität, die
zum Steuern der Maschinen verwendet werden, die von den Prozessoren 13–15 auf
dem Netz 10 betrieben werden. Wenn jeder Knoten 20 auf
dem Netz die Gelegenheit erhalten hat, seine E/A-Daten zu senden,
dann wird der übrige
Teil des periodischen Intervalls der Übertragung anderer Formen von
Informationen während
einer ungeplanten Phase gewidmet. Es erhält zwar nicht jeder Netzwerkknoten 20 die
Gelegenheit, eine Meldung während
der ungeplanten Phase 54 zu senden, aber im Laufe von mehreren
periodischen Intervallen wird jeder Knoten eine Gelegenheit erhalten.
Wenn solche Gelegenheiten nicht oft genug auftreten, dann muss der
Netzbetreiber das periodische Intervall möglicherweise verlängern.
-
Medienzugangssteuerung
-
Das Kommunikationsprotokoll wird
an jedem Knoten durch die Medienzugangssteuerung 20 implementiert,
deren Einzelheiten in 5 dargestellt sind.
Dieses Gerät
hat ein Modem 90 jeweils mit einem Paar Ein- und Ausgangsleitungen 91 und 92,
die mit einem Abgriff am Netzkabel 11 verbunden sind. Das
Modem 90 hat ein weiteres Paar Ein- und Ausgangsleitungen 93 und 94,
an denen das Benutzeroberflächenterminal 19 angeschlossen
werden kann. Das Benutzeroberflächenterminal 19 erzeugt
Meldungen für
die Übertragung über das
Netz oder Meldungen, die nur für
den Knoten bestimmt sind, mit dem es verbunden ist. Das Modem 90 kann
Signale vom Netzkabel 11 und vom Benutzeroberflächenterminal 19 senden
und empfangen. Die über
die Eingänge 91 und 93 empfangenen
Daten werden vom Modem 90 an einen Eingangsbus 95 angelegt,
der mit einer Empfangsverarbeitungsschaltung 96 verbunden
ist. Die Empfangsverarbeitungsschaltung 96 beinhaltet Filtergeräte 98,
die das Etikett 34 jedes LPakets 26 inspizieren,
das über
den Eingangsbus 95 empfangen wird, um nur diejenigen LPakete
auszuwählen,
die Etiketts haben, die für
diesen Knoten von Interesse sind. Die Empfangsfilterschaltung 98 enthält eine
Speichertabelle der Etiketten, die von Interesse sind. Die LPakete,
die von der Empfangsverarbeitungsschaltung 96 als von Interesse
befunden werden, werden über
einen Empfangs- (RX) Byte-Bus 100 zu einer Host-Schnittstellenschaltung 102 geleitet.
Die Host-Schnittstellenschaltung 102 enthält ein Paar
FIFO-Speicher (RX
Main und RX Aux), die vorübergehend
die empfangenen Daten zur Übertragung über einen
Host-Bus 104 zum Host-Gerät an diesem Knoten halten.
Das Host-Gerät
kann ein programmierbarer Controller an den Knoten 12 oder 13 oder
ein E/A-Schnittstellenschaltkomplex an den Knoten 14– 18 sein.
-
Über
den Host-Bus 104 vom Host-Gerät empfangene Daten werden von
der Host-Schnittstelle 102 in einem von drei FIFO-Sendespeichern
(TXA, TXB, TXC) gespeichert. Die Host-Schnittstelle 102 ist durch
ein Paar Steuerbusse 108 und 109 und einen Sendewortdatenbus 110 mit
der Sendeverarbeitungsschaltung 106 verbunden. Die Anwesenheit von
Daten in einem der Sende-FIFO-Speicher in der Host-Schnittstelle 102 bewirkt,
dass entsprechende Steuersignale über den TX-Stromstatusbus 108 zur Sendeverarbeitungsschaltung
gesendet werden. Wenn die Sendeverarbeitungsschaltung 106 zum Handhaben
der Daten bereit ist, dann wird ein Signal über den Select-TX-Strom-Bus 109 gesendet,
wodurch bewirkt wird, dass der entsprechende FIFO-Speicher TXA,
TXB oder TXC seine gespeicherten Daten an den TX-Wort-Datenbus 110 anlegt. Die
Sendeverarbeitungsschaltung 106 nimmt die eingehenden Daten
und formuliert sie zu einem MAC-Frame 21, der über den
Ausgangsbus 112 zum Modem 90 zur Übertragung
zum Netz und zum Benutzeroberflächenterminal
jeweils über
die Ausgangsleitungen 92 und 94 gesendet wird.
-
Der Betrieb des Modems 90,
der Empfangs- und Sendeverarbeitungsschaltungen 96 und 106 sowie
der Host-Schnittstelle 102 wird
von einer Zugangssteuerschaltung 114 gesteuert, die einen RISC-Prozessor
beinhaltet. Die Zugangssteuerschaltung erfasst das Auftreten der
Schlitze in der geplanten Phase 52 und der ungeplanten
Phase 54, und wenn ein ihrem Knoten zugeordneter Schlitz
auftritt, dann gibt die Zugangssteuerung die Sendeverarbeitungsschaltung 106 frei.
Die Zugangssteuerschaltung 114 hat einen internen Speicher,
der den Satz von Netzprotokollparametern speichert. Die Zugangssteuerschaltung 114 nutzt
diese gespeicherten Protokollparameter beim Anweisen der Empfangs- und
Sendeverarbeitungsschaltungen 96 und 106 sowie
des Modems 90 in Bezug darauf, wie über das Netzkabel 11 kommuniziert
werden soll. Wie zuvor beschrieben, empfängt die Medienzugangssteuerung 20 diese
Protokollparameter in einem Konfigurations-LPaket mit einem speziellen
festen Etikett, das während
einer ungeplanten Phase gesendet wird. Die Empfangsfilterungsschaltung 98 erfasst
das spezielle feste Etikett und leitet das LPaket über die Host-Schnittstelle 102 zum
Host-Prozessor 101 weiter. Software im Host-Prozessor interpretiert
das LPaket und sendet ein spezielles LPaket zum SMAC 100,
der die neuen Protokollparameter speichert.
-
Ein weiterer Typ von Netzwerkknoten,
der nach dem Anschluss an das Netz als „Plug&Play"-Knoten bezeichnet wird, horcht lediglich auf
die Kommunikationsaktivität,
um den Satz von derzeit verwendeten Netzwerkparametern zu erlernen.
Es ist zu bemerken, dass ein Knoten die Protokollparameter nicht
zum Horchen auf dem Netz braucht, sondern nur zum Senden von Daten.
Um die Protokollparameter zu erlernen, horcht die Medienzugangssteuerung 20 in
diesem Knotentyp auf dem Netzwerk, bis sie das Moderator-LPaket
während des
Sperrbandes 56 empfängt.
Die Zugangssteuerschaltung 114 in diesem Knotentyp speichert
die Protokollparameter des Moderator-LPakets für die spätere Verwendung bei der Kommunikation über das Netz.
Nach dem Empfang einer vordefinierten Anzahl von aufeinander folgenden
Moderator-LPaketen, die identische Protokollparameter enthalten,
werden die Parameter vom Plug&Play-Netzwerkknoten
akzeptiert und zum Senden über
das Netzwerk 10 benutzt. Wie beschrieben wird, ist das
Benutzeroberflächenterminal 19 ein
Plug&Play-Netzknoten.
-
Knotenbetrieb
-
Unabhängig vom Knotentyp arbeitet
die Zugangssteuerschaltung 114 der Medienzugangssteuerung 20 für einen
Knoten in einem von mehreren Zuständen, wie im Zustandsdiagramm
in 6A dargestellt ist.
Nach dem Erstellen des Netzes 10 arbeitet einer der Knoten
im Moderator-Status 121, alle anderen Knoten arbeiten im
Nicht-Moderator-Status 120. In beiden Zuständen 120 und 121 empfangen
die Knoten über
das Kabel 11 gesendete MAC-Frames 21 und trennen
LPakete von Interesse von diesen Frames. Darüber hinaus senden die Moderator-
und Nicht-Moderator-Knoten
MAC-Frames mit Daten von ihrem Host-Gerät während ihres zugeordneten periodischen
Intervallschlitzes. Der Knoten im Moderator-Zustand 121 sendet
jedoch auch einen MAC-Rahmen mit dem Moderator-LPaket während jedes
Sperrbandes 56. Ein weiterer Zustand 122 ist für Rogue-
und Duplikatknoten vorgesehen. Ein Rogue ist ein Knoten, dessen
intern gespeicherter Satz von Protokollparametern nicht mit denen übereinstimmt,
die vom Moderator-LPaket geführt
werden. Ein Duplikatknoten ist ein Knoten mit derselben Netzwerkadresse
wie ein anderer Knoten, der bereits auf dem Netzwerk gesendet wird.
In beiden Fällen
ist es nicht erwünscht,
dass Rogue- oder Duplikatknoten Daten über das Netz senden, und daher
horcht im Status 122 ein solcher Knoten lediglich auf Netzaktivität. Im Falle
eines Konflikts, wie z. B. dann, wenn ein Rogue auf dem Netz ist,
gehen die Knoten vorübergehend
in einen Überwachungszustand 123,
wie nachfolgend beschrieben wird.
-
Jeder Knoten führt einen Einschaltprozess durch,
um zu ermitteln, in welchem Status er mit der Arbeit beginnen soll.
Dieser Prozess ist von der Klasse des Host-Gerätes für den jeweiligen Knoten abhängig. Die
erste der beiden Klassen besteht aus „Halter-Geräten", die Konfigurationsinformationen
in einem nichtflüchtigen
Speicher führen,
z. B. Prozessorknoten 12 und 13. Die zweite Klasse
von Host-Geräten, „gehaltenes
Gerät" genannt, hat keinen
solchen nichtflüchtigen
Speicher und führt
daher keine Konfigurationsinformationen im Speicher, wenn die Stromversorgung
von dem Gerät
abgetrennt wird. Die E/A-Knoten 14–18 fallen
in diese Klasse. Ein Halter-Gerät
führt einen
Satz von Konfigurationsinformationen für sich selbst und für andere
gehaltene Geräte.
-
7 illustriert
einen Teil eines Prozesses, den ein Halter-Gerät beim Hochfahren, d. h. beim Einschalten
(Power-up) durchläuft. In
Schritt 130 erfolgt ein Test des nichtflüchtigen
Speichers, um die Intaktheit der darin gespeicherten Daten zu ermitteln. Wenn
der Test in Schritt 132 erfolglos verläuft, geht die Programmausführung zu
Schritt 134, wo das Gerät
zu einem gehaltenen Gerät
wird und mit der Ausführung
eines Power-up-Prozesses für
diese Geräteklasse
beginnt, wie beschrieben wird.
-
Unter der Annahme, dass der Speicher
den Test besteht, geht die Ausführung
des Power-up-Programms vor zu Schritt 136, wo ermittelt
wird, ob der Flag in einem nichtflüchtigen Speicher gesetzt ist, was
bedeutet, dass dieses Gerät
ein „Rogue" ist. Ein Rogue ist
ein Knoten mit einem anderen Satz von Protokollparametern als in
anderen Knoten auf dem Netz 10. Dieser Flag muss beim vorherigen
Betrieb des Gerätes
gesetzt werden, wenn ermittelt wurde, dass der Satz von in dem Knoten
gespeicherten Protokollparametern nicht mit den Protokollparametern übereinstimmt,
die vom Moderator-LPaket geführt werden.
Wenn der Rogue-Flag gesetzt ist, geht das Gerät über zu Schritt 138,
wo es nur auf die Aktivität auf
dem Netzkabel 11 horcht. Angenommen, der Rogue-Flag ist
nicht gesetzt, dann werden die im nichtflüchtigen Speicher gespeicherten
Informationen zum Konfigurieren des Betriebs der Medienzugangssteuerung 20 dieses
Gerätes
in Schritt 140 benutzt.
-
Der Knoten für dieses Host-Gerät beginnt dann,
auf die Aktivität
auf dem Netz in Schritt 144 zu horchen. Während eines
Sperrbandes 56 werden die vom Moderator-LPaket über das
Kabel 11 geführten Protokollparameter
vom Knoten in Schritt 146 mit dem Satz von im Speicher 103 der
Medienzugangssteuerung 20 gespeicherten Protokollparameter
verglichen. Wenn die beiden Parametersätze nicht übereinstimmen, geht die Zugangssteuerschaltung 114 in Schritt 148 in
den Rogue-Status 122 und horcht lediglich auf die Aktivität auf dem
Netz und sendet keine Informationen. Wenn in 32 Moderator-LPaketen nicht übereinstimmende
Parameter festgestellt werden, wird der Rogue-Flag im nichtflüchtigen
Speicher des Host-Gerätes
gesetzt. Der Rogue-Flag kann gelöscht
oder behoben werden, wenn eine größere Zahl von Moderator-LPaketen
ohne Fehlübereinstimmung empfangen
wird oder wenn die richtigen Protokollparameter in einem Konfigurations-LPaket
empfangen werden. Andererseits, wenn die Parameter in Schritt 146 übereinstimmen,
dann wird der Knoten dem Netzwerk zugeschaltet und beginnt in Schritt 149 mit dem
Senden.
-
In Schritt 150 wird ermittelt,
ob das derzeitige Gerät
ein Halter von Konfigurationsinformationen für andere Geräte ist.
Wenn ja, werden diese Informationen in Schritt 152 in einer
oder mehreren ungeplanten Phasen 54 zu den gehaltenen Geräten gesendet, bevor
das derzeitige Gerät
mit dem Betrieb in Schritt 154 beginnt.
-
Wenn das eingeschaltete Host-Gerät ein gehaltenes
Gerät ist,
wird der in 8 veranschaulichte Power-up-Prozess durchgeführt. Das
Hochfahren beginnt bei Schritt 160, wo die Netzwerkadresse
von der Zugangssteuerschaltung gelesen wird. Die Medienzugangssteuerung 20 beginnt
mit dem Horchen auf dem Netz in Schritt 162. Der gehaltene
Knoten beginnt mit dem Warten in Schritt 164, bis er eine Meldung
von seinem Halterknoten in einer ungeplanten Phase 54 empfängt, die
die Protokollparameter für
den Knoten an dem gehaltenen Host-Gerät enthält. Nach dem Eingang dieser
Meldung geht der Prozess vor zu Schritt 166, wo die Zugangssteuerschaltung 114 die
in der Meldung enthaltenen Protokollparameter speichert. Falls notwendig,
werden diese Parameter dann in Schritt 168 zum Anfordern zusätzlicher
Konfigurationsinformationen vom Halter-Gerät verwendet. Wenn das gehaltene
Gerät alle notwendigen
Konfigurationsdaten empfangen hat, wird es in Schritt 170 zum
Netzwerk zugeschaltet und beginnt mit dem Betrieb.
-
Netzwerkbetrieb
-
Der erste Knoten, der den Power-up-Prozess
vollendet, geht in den Moderator-Status, aber dieser Knoten bleibt
nicht Moderator. Wenn andere Knoten zum Netz 10 hinzukommen,
wird durch einen automatischen Mechanismus bestimmt, welcher Knoten
weiter als Moderator fungieren soll. Ferner, falls ein existierender
Moderator ausfällt,
ermöglicht es
dieser Mechanismus dem Knoten mit der nächsttiefsten Adresse, automatisch
Moderatorfunktionen zu übernehmen.
Alternativ könnte
der Mechanismus den Knoten mit der höchsten Netzwerkadresse als Moderator
auswählen.
-
Unter normalen Umständen übernimmt
der erste Knoten, der nach seinem Power-up-Prozess aktiv wird, die
Rolle des Moderators und beginnt mit dem Senden des Moderator-LPakets
in jedem Sperrband 56. Wenn andere Knoten aktiv werden,
horcht jeder bei jedem über
das Kabel 11 gesendeten MAC-Frame 21 auf die Quelladresse 24 des
Knotens, der diese Netzwerkmeldung erzeugt hat. Die Medienzugangssteuerung
in jedem Knoten verfolgt die Quelladressen, um die niedrigste Netzwerkadresse
zu ermitteln, die von einem aktiven Knoten verwendet wird. Alternativ
erkennt die Medienzugangssteuerung 20 des Knotens, welche
Schlitze 60 und 66 des periodischen Intervalls 50 einen
MAC-Frame enthalten, und anhand dieser Erkennung kann die niedrigste
Netzwerkadresse im aktiven Gebrauch ermittelt werden. Damit dieser
Prozess erfolgreich verlaufen kann, sendet ein Knoten, der keine
Daten zu senden hat, einen Null-MAC-Frame 21, d. h. einen ohne
Daten, so dass seine Adresse zu den anderen aktiven Knoten kommuniziert
wird. Wenn ein neuer Knoten mit einer Adresse zum Netz hinzukommt,
die größer ist
als die des gerade agierenden Moderators, dann geht dieser Knoten
in den Nicht-Moderator-Status 120 über. Ansonsten ist, wenn der
neue Knoten eine tiefere Netzwerkadresse hat als der derzeit agierende
Moderator, der neue Knoten der Tiefste und übernimmt als Moderator. In
diesem Fall geht der vorherige Moderator in den Nicht-Moderator-Knotenstatus 120.
Schließlich
sind alle Knoten eingeschaltet und dem Netzwerk zugeschaltet, und
ein Knoten fungiert kontinuierlich als Moderator. Die Knoten überwachen
weiter, welcher Knoten der tiefste ist, so dass für den Fall,
dass der Moderator ausfällt,
der Knoten mit der nächsttiefsten
Adresse in den Moderatorstatus 120 geht.
-
Nach dem Feststellen des Netzwerkbetriebs wird
möglicherweise
ein „fremder" Knoten, der zuvor nicht
Teil des Netzwerks war, daran angeschlossen, z. B. dann, wenn ein neuer
programmierbarer Controller zum Netzwerk hinzukommt. Wenn der fremde Knoten
denselben Betriebsparametersatz hat wie der „native" Knoten auf dem Netz, dann kommt es
zu keinem Konflikt in der Kommunikation. Wenn der fremde Knoten
jedoch Netzwerkparameter hat, die sich von denen unterscheiden,
die vom Moderator-LPaket geführt
werden, dann ist der Fremde ein Rogue-Knoten. Ein Rogue kann nicht
nur nicht ordnungsgemäß über das
Netz kommunizieren, sondern er kann auch die normale Kommunikation
stören,
wenn es sich um den Knoten mit der tiefsten Adresse handelt. Der
Protokollparametersatz des Rogue lässt möglicherweise keine ordnungsgemäße Datenkommunikation
zwischen den nativen Geräten
zu, wie es der Fall ist, wenn die maximale Zahl von in den Parametern
für die
geplante und ungeplante Phase definierten Knoten geringer ist als
die tatsächliche
Zahl der nativen Knoten. Daher muss eine Technik bereitgestellt
werden, um zu verhindern, dass ein Rogue-Knoten als Moderator fungiert
und die Kontrolle des Netzwerks an sich reißt.
-
Angenommen, das Netz 10 ist
nach einem Hochfahren voll funktionell und ein fremder Knoten mit
einem anderen Satz von Netzkommunikationsparametern, die in seinem
Speicher 103 gespeichert sind, wird dem Netzwerk zugeschaltet.
Unmittelbar vor dem Anschluss des Netzkabels 11 an den
fremden Knoten sind alle existierenden nativen Knoten entweder im
Moderatorstatus 120 oder im Nicht-Moderator-Status 121,
und der fremde Knoten, der keine Aktivität an seinem Netzwerkport hört, oszilliert
zwischen Moderator- und
Wach-Status 121 und 123. Nach dem Anschluss an
das Netz kann sich der fremde Knoten entweder im Wachstatus 123 oder
im Moderatorstatus 121 befinden. Nach dem Anschließen hört der Knoten,
wenn er im Wachstatus ist, den existierenden Moderator des nativen
Knotens, geht in den Rogue-Zustand 122 und bleibt im Nur-Hör-Modus,
bis er neue Kommunikationsparameter erhält. Wenn der fremde Knoten
im Moderatorstatus 121 ist, dann (1) kann er der mit der
tiefsten Adresse sein oder auch nicht, und (2) er kann zuerst ein
Moderator-LPaket senden oder auf das LPaket des existierenden Moderators
hören.
Wenn die Netzwerkadresse des fremden Knotens höher ist als die Adresse des
existierenden Moderators, dann ignorieren alle nativen Knoten Moderator-LPakete,
die von dem fremden Knoten gesendet werden. Unabhängig davon,
ob der fremde Knoten der mit der tiefsten Adresse ist, sobald er
das LPaket des existierenden Moderators hört, geht der fremde Knoten
aufgrund einer Parameterfehlübereinstimmung
in den Rogue-Status und
hört mit
dem Senden auf. Wenn der fremde Knoten jedoch zuerst ein Moderator-LPaket
sendet, dann geht das Netzwerk in eine Rogue-Wiederherstellungssequenz.
-
Die 6A und 6B beschreiben die Rogue-Wiederherstellungssequenz,
die auftritt, wenn ein fremder Knoten die tiefste Netzwerkadresse
aller aktiven Knoten hat und zu Beginn eines periodischen Intervalls
dem Netz zugeschaltet wird. Der fremde Knoten ist der erste Knoten,
der während
der geplanten Phase 52 sendet und sich so als der mit der
tiefsten Adresse identifiziert. Der vorherige Moderator erkennt,
dass er nicht mehr der mit der tiefsten Adresse ist und geht in
den Nicht-Moderator-Status 120. Der fremde Knoten übernimmt
die Rolle des Moderators und sendet ein Moderator-LPaket während des
nächsten
Sperrbandes 56. Wenn die nativen Knoten das Moderator-LPaket
des Fremden mit Protokollparametern hören, die nicht mit ihren intern gespeicherten
Parametern übereinstimmen,
dann gehen die Medienzugangssteuerungen 20 in den nativen
Knoten in den Rogue-Status 122. Infolgedessen nehmen zunächst alle
nativen Knoten an, dass sie ein Rogue sind. Im Rogue-Status 122 verhindert die
Zugangssteuerschaltung 114, dass die Sendeverarbeitungsschaltung 106 Meldungen
auf das Netzkabel
11 sendet, so dass alle nativen Knoten
nur auf die Netzwerkaktivität
horchen. Daher ist zu diesem Zeitpunkt der einzige über das
Netzkabel 11 sendende Knoten der fremde Knoten. Im Rogue-Status 122 verfolgt
die Zugangssteuerschaltung 114, ob Stationen MAC-Frames
in jedem periodischen Intervall senden.
-
Die Medienzugangssteuerung 20 im
fremden Knoten erkennt, dass sie für acht periodische Intervalle
der einzige Knoten war, der auf dem Netzwerk gesendet hat, und geht
in den Wachstatus 123 wie in 6B gezeigt.
Im Wachstatus verhindert die Zugangssteuerschaltung 114,
dass die Sendeverarbeitungsschaltung 106 Meldungen auf
das Netzkabel 11 sendet, während sie es zulässt, dass
die Empfangsverarbeitungsschaltung 96 auf Netzaktivität horcht.
Nach dem Eintritt in den Wachstatus 123 aktiviert die Zugangssteuerschaltung 114 einen
Timer auf einen Wert, der der Dauer von sechs periodischen Intervallen 50 mit
maximaler Länge
entspricht. Da alle Netzknoten im Wach- oder Rogue-Status sind, wo kein Senden
zulässig
ist, wird das Netzkabel 11 ruhig. Die nativen Knoten im
Rogue-Status 122 erkennen die Abwesenheit von Aktivität auf dem
Netz für
ein gesamtes periodisches Intervall und reagieren, indem sie in
den Wachstatus 123 übergehen. Dieser Übergang
bewirkt, dass die Zugangssteuerschaltung 114 jedes Knotens
einen Timer auf ein Intervall einstellt, das mit der Dauer von drei
periodischen Intervallen maximaler Länge äquivalent ist.
-
Nach Ablauf einer Wachstatuszeit
geht die jeweilige Zugangssteuerschaltung 114 in den Moderatorknoten-Status 121 über, unabhängig davon,
ob der Knoten ein nativer oder ein fremder Knoten ist. Da jedoch
die Wachstatustimer in den nativen Knoten mit einem kürzeren Intervall
geladen wurden, kommt es in diesen Timern vor den Wachstatus-Timern
des fremden Knotens zu einer Zeitabschaltung. Daher gehen die Medienzugangssteuerungen 20 in den
nativen Knoten vom Wachstatus 123 in den Moderatorknoten-Staus 121 über, bevor
der fremde Knoten Gelegenheit dazu hat. Somit werden die nativen
Knoten auf dem Netz vor dem fremden Knoten aktiv, und alle nativen
Knoten gehen etwa zur selben Zeit in den Moderatorstatus. Im entsprechenden Schlitz
der geplanten Phase 52 im nächsten periodischen Intervall 50 sendet
jeder für
E/A-Daten konfigurierte native Knoten einen MAC-Frame 21.
Auf der Basis davon, welche Schlitze einen MAC-Frame 21 enthalten,
kann jeder Knoten ermitteln, ob er der mit der tiefsten Adresse
ist. Der native Knoten mit der tiefsten Adresse bleibt im Moderatorstatus 121,
während
die anderen nativen Knoten in den Nicht-Moderatorknoten-Status 120 wie
in 6A gezeigt gehen.
-
Während
des Sperrbandes 56 dieses periodischen Intervalls 50 sendet
der native Knoten, der im Moderatorknoten-Status 121 bleibt,
ein Moderator-LPaket, das die in seinem Speicher gespeicherten Netzprotokollparameter
enthält.
Da der fremde Knoten noch im Wachstatus 123 ist, horcht
er auf die Aktivität
auf dem Netz. Wenn also der fremde Knoten dieses Moderator-LPaket
empfängt,
dann erkennt er, dass die Netzparameter in diesem LPaket nicht mit den
in seinem Speicher gespeicherten übereinstimmen. Dies hat zur
Folge, dass der fremde Knoten in den Rogue-Status 122 geht.
Wenn der fremde Knoten eine vordefinierte Zahl von gültigen Moderator-LPaketen
empfangen hat, setzt die Medienzugangssteuerung 20 in diesem
Knoten einen Flag, der anzeigt, dass es sich um einen Rogue-Knoten
handelt. Dieser Flag wird in einem nichtflüchtigen Speicher des Host-Gerätes gespeichert,
so dass er durch einen Verlust der Stromversorgung oder durch eine Wegnahme
des Knotens vom Netz nicht beeinflusst wird.
-
Dieser Prozess gewährleistet,
dass ein nativer Moderator auch dann als der mit der tiefsten Adresse
auf dem Netzwerk angesehen wird, wenn der Rogue-Knoten eine tiefere
numerische Netzwerkadresse hat. Daher wird verhindert, dass ein Rogue-Knoten
mit der tiefsten Netzwerkadresse die Kontrolle über das Netz zum Schaden der
Mehrheit von Knoten an sich reißt,
die den richtigen Satz von Kommunikationsparametern haben.
-
Unter bestimmten Umständen kann
der automatische Mechanismus zum Erkennen eines Rogue-Knotens und
zum Außerkraftsetzen
dieses Rogues jedoch versagen. Wenn beispielsweise zwei identisch
konfigurierte fremde Knoten dem Netz etwa zur selben Zeit zugeschaltet
werden, dann können sie
beginnen, miteinander zu kommunizieren. In dieser Situation hat
der Rogue-Knoten einen anderen Knoten auf dem Netz, mit dem er kommunizieren kann,
und es wird niemals ein periodisches Intervall geben, während dessen
keine Aktivität
auf dem Netzwerk vorliegt. In Abwesenheit eines solchen ruhigen periodischen
Intervalls wird der automatische Rogue-Sperrprozess versagen, da
der Rogue-Knoten
niemals in den Wachstatus 123 geht.
-
In solchen Fällen kann der Operator eine
manuelle Umgehung aufrufen, um zu erzwingen, dass alle Netzknoten
einen einzelnen Satz von Netzwerkparametern gemäß Vorgabe durch das Umgehungsgerät annehmen.
Dazu gibt, wie in 10 gezeigt, der
Operator die entsprechenden Befehle in das Benutzeroberflächenterminal 19 ein
und zwingt das Terminal, die Netzwerkadresse 00 in Schritt 190 zu
benutzen. Diese Adresse ist für
manuelle Umgehungszwecke reserviert und kann einem gewöhnlichen Knoten
auf dem Netz 10 nicht zugeordnet werden. Mit der Netzwerkadresse
00 werden das Benutzeroberflächenterminal 19 und
seine Medienzugangssteuerung anstelle des Rogue-Knotens zum Moderator.
In Schritt 191 werden die Netzkommunikationsparameter so
geändert,
dass das Terminal beginnt, kontinuierlich über das Netzkabel 11 zu
senden.
-
Dadurch wird gewährleistet, dass alle anderen
Knoten das Moderator-LPaket des Terminals hören, das einen Satz von Protokollparametern
enthält, die
vom Operator in das Terminal 19 eingegeben wurden. Jeder
Knoten, der ein Moderator-LPaket mit Netzwerkadresse 00 im Quelladressfeld 24 erhält, speichert
sofort die vom Moderator-LPaket geführten Protokollparameter und
beginnt damit, mit diesen Parametern zu arbeiten. Nach einer Verzögerung in Schritt 192 werden
die Netzkommunikationsparameter von Terminal 19 geändert, so
dass die kontinuierlichen Sendungen in Schritt 193 beendet
werden, so dass andere Knoten zum Netzwerk hinzukommen können. Während sich
jeder Knoten dem Netz 10 wieder zuschaltet, geht er in
den Nicht-Moderator-Status am Knoten des Terminals mit der tiefsten Netzwerkadresse.
Nach einer weiteren Verzögerung in
Schritt 194 beendet der Operator in Schritt 195 den Betrieb
des Benutzeroberflächenterminals
mit Netzwerkadresse 00, und zu diesem Zeitpunkt wird der Knoten
mit der nächsttiefsten
numerischen Netzwerkadresse zu dem mit der tiefsten Netzwerkadresse und
beginnt, im Moderatorknoten-Status 121 zu arbeiten. Das
Terminal nimmt dann in Schritt 196 den normalen Betrieb
mit der Netzwerkadresse wieder auf, die es vor der Annahme von Adresse
00 hatte.
-
Wie zuvor erwähnt, kann das Benutzeroberflächenterminal 19 an
jedem der Netzknoten 12-18 den
Terminalleitungen 93 und 94 der Medienzugangssteuerung 20 zugeschaltet
werden. Ferner kann ein einzelnes Benutzeroberflächenterminal an einer Reihe
von Kommunikationsnetzen 10 im selben Werk verwendet werden.
Es ist somit häufig
unpraktisch, dem Benutzeroberflächenterminal
eine bestimmte Netzwerkadresse zuzuordnen, da eine Adresse, die
mit einem Netz kompatibel ist, mit einem anderen Netz im selben
Werk möglicherweise
nicht kompatibel ist. Infolgedessen wurde eine Technik entwickelt,
mit der das Benutzeroberflächenterminal eine
freie Netzwerkadresse für
das jeweilige Netz finden kann, an dem es angeschlossen ist, und
diese Adresse dann bei der Kommunikation verwenden kann.
-
Dieser Prozess ist in der Ablauftabelle
in 9 dargestellt, die
mit Schritt 180 beginnt, indem das Benutzeroberflächenterminal 19 auf
Aktivität
auf dem Netzkabel 11 horcht. Das Modem 90 der
Medienzugangssteuerung 20, mit dem das Terminal verbunden
ist, sendet jeden vom Netzwerk empfangenen MAC-Frame 21 zum
Benutzeroberflächenterminal.
In Schritt 181 unterteilt das Benutzeroberflächenterminal
das vom Netzwerk empfangene Moderator-LPaket und holt sich von Feld 74 die
maximale Netzwerkadresse, die in der ungeplanten Phase 54 benutzt
werden kann. Das Benutzeroberflächenterminal
horcht dann mehrere periodische Intervalle lang auf Auftreten eines
Schlitzes für
diese maximale Netzwerkadresse und darauf, ob ein MAC-Frame 21 in
diesem Schlitz in Schritt 184 gesendet wird. Wenn kein
solcher MAC-Frame 21 gesendet wird, dann geht das Programm über zu Schritt 186,
um mit dem normalen Betrieb des Benutzeroberflächenterminals zu beginnen,
das dann die gewählte
Netzwerkadresse benutzt.
-
Wenn jedoch ein anderer Knoten gefunden wird,
der mit der maximalen Netzwerkadresse für die ungeplante Phase sendet,
dann dekrementiert das Benutzeroberflächenterminal diese Adresse
in Schritt 188 um eins und prüft dann die neue Adresse in
Schritt 189, um zu ermitteln, ob sie auf die maximale Adresse
dekrementiert wurde, die für
die Verwendung in der geplanten Phase zulässig ist. Wenn das Benutzeroberflächenterminal 19 die
maximale Adresse für
die geplante Phase erreicht, ohne eine freie Adresse zu finden,
dann wird der Prozess beendet, ohne dass Zugang zum Netz erhalten
wurde. Ansonsten kehrt die Adresszuordnungsroutine zu Schritt 184 zurück, um auf
das Auftreten eines ungeplanten Schlitzes zu horchen, dem die neue
Adresse zugeordnet wurde. Dieser Prozess wird so lange fortgesetzt,
bis entweder das Benutzeroberflächenterminal 19 eine
freie Netzwerkadresse findet, die es zum Senden von Daten verwenden
kann, oder bis es die maximale Adresse für die geplante Phase erreicht, ohne
eine freie Adresse zu finden. In der Praxis wird das Netz mit mehreren
freien Netzwerkadressen am oberen Ende konfiguriert, so dass das
Benutzeroberflächenterminal 19 mit
hoher Wahrscheinlichkeit eine verfügbare Adresse findet.