DE3689635T2 - Netzwerk mit Tokenübergabe für industrielle Zwecke. - Google Patents
Netzwerk mit Tokenübergabe für industrielle Zwecke.Info
- Publication number
- DE3689635T2 DE3689635T2 DE3689635T DE3689635T DE3689635T2 DE 3689635 T2 DE3689635 T2 DE 3689635T2 DE 3689635 T DE3689635 T DE 3689635T DE 3689635 T DE3689635 T DE 3689635T DE 3689635 T2 DE3689635 T2 DE 3689635T2
- Authority
- DE
- Germany
- Prior art keywords
- station
- message
- token
- successor
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012546 transfer Methods 0.000 title description 6
- 238000000034 method Methods 0.000 claims description 76
- 238000004891 communication Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 description 71
- 230000009977 dual effect Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 17
- 239000000872 buffer Substances 0.000 description 15
- 230000004044 response Effects 0.000 description 12
- 230000015654 memory Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 230000009118 appropriate response Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000036039 immunity Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 101100490184 Drosophila melanogaster Ack gene Proteins 0.000 description 1
- 101100521334 Mus musculus Prom1 gene Proteins 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000011888 foil Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/417—Bus networks with decentralised control with deterministic access, e.g. token passing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Description
- Zum Gebiet der Erfindung gehören industrielle Steuerungssysteme, wie beispielsweise Prozeßsteuerungen, numerische Steuerungen und programmierbare Steuerungen, und insbesondere Lokalbereichsnetze oder lokale Netzwerke (LANs) zum Verbinden solcher Steuerungen miteinander.
- Lokale Netzwerke bestehen aus zwei oder mehreren Knoten oder Stationen, die über ein Kommunikationsmittel miteinander verbunden sind. Die Kommunikationsmittel können eine Reihe von Formen annehmen, einschließlich Koaxialkabel, Lichtwellenleiter oder verdrillte Drahtpaare. Die Topologie der Verbindungen zwischen den Stationen kann ebenfalls eine Reihe von Formen annehmen, einschließlich Stern-, Mehrpunkt- oder Ringkonfigurationen.
- Unabhängig von dem verwendeten Mittel oder der Topologie des Netzwerks oder Netzes wird ein Steuerungsschema benötigt, das einen ordnungsgemäßen Transfer von Information von einer Station zu einer anderen auf dem Netzwerk vorsieht. Die primitivsten Schemen verwenden eine Haupt- oder Masterstation, die für die Steuerung der Operation auf dem Netzwerk verantwortlich ist. Die Masterstation kann jede Neben- oder Slavestation auf dem Netzwerk zur Abgabe von Information an andere Stationen "aufrufen" ("poll"), oder sie kann eine aufgerufene Station befähigen, ihre Nachrichten direkt an andere Stationen auszusenden. Solche Netzwerke sind für industrielle Anwendungen nicht geeignet, weil das gesamte Netzwerk heruntergefahren werden muß, wenn eine Störung in der Masterstation auftritt.
- Als eine andere Lösung wird ein Mehrfachzugriff- Schema oder CSMA-Schema (Carrier Sense Multiple Access) verwendet, wie es durch die Ethernet-Standards definiert ist. In CSMA-Netzwerken wartet jede Station darauf, bis das Netzwerk zur Ruhe kommt, und falls sie eine Nachricht auszusenden hat, übernimmt sie dann die Steuerung über das Netzwerk und beginnt mit dem Aussenden. Ein Mechanismus zum Erfassen von "Kollisionen" muß vorgesehen sein, wenn zwei oder mehrere Stationen gleichzeitig Nachrichten aussenden, und auch zum Auseinandersetzen oder Streiten mit diesen Stationen, um festzustellen, wer Priorität hat. Während CSMA- Netzwerke für büromäßige und kommerzielle Anwendungen geeignet sind, eignen sie sich nicht für industrielle Netzwerke, die für Echtzeit-Steuerungssysteme benötigte Informationen übertragen. Andere, mehr deterministische Netzwerksteuerungsschemen werden für industrielle Netzwerke benötigt.
- Andere, mehr deterministische Netzwerksteuerungsschemen umfassen Zeitschlitzreservierung, mit Schlitzen versehene Ringe, Registereinschubringe und Tokenübergabenetzwerke. Bei einem Tokenübergabeschema wird ein Token in Form eines unterscheidungskräftigen Bitmusters zwischen Stationen auf dem Netzwerk übergeben. Solange eine Station das Token hat, kann sie Nachrichten an andere Stationen aussenden oder anderen Stationen den Befehl zum Aussenden von Nachrichten geben. Obgleich Tokenübergabeschemen im Prinzip einfach sind, ist ihre Implementierung kompliziert, und zwar aufgrund des Problems verlorener Token und duplizierter Token. Diese Probleme sind größer bei industriellen Anwendungen, wo die Energie verlorengehen kann, wo Stationen zu dem Netzwerk hinzugefügt oder daraus entfernt werden können oder wo Störungen in einer Station oder dem die Stationen verbindenden Mittel auftreten können.
- Die US-A- 4 506 360 offenbart ein Verfahren zur Kommunikation über ein Netzwerk oder ein Netz, das aus einer Vielzahl von Stationen gebildet ist, die über ein Kommunikationsmittel miteinander verbunden sind, gemäß dem Oberbegriff des Anspruchs 1, und eine Station für ein Kommunikationsnetz mit einer Vielzahl solcher Stationen, die über ein Kommunikationsmittel miteinander verbunden sind, gemäß dem Oberbegriff des Anspruchs 5. Diese Vorveröffentlichung offenbart zwei Konzepte, die sich mit dem Abruf oder Aufruf neuer Teilnehmer in das Netzwerk befassen. Nach dem ersten Konzept erzeugt jede Station, die im Besitz des Mastertoken ist, eine mit Anforderungsfenster bezeichnete Aufrufnachricht, die neue Stationen in das Netz oder Netzwerk einlädt. Dieses erste Konzept ist jedoch ungeeignet, da es das Netzwerk mit vielen Anforderungsfenstern/Aufrufnachrichten überlastet. Um dieses Problem zu lösen soll nach dem zweiten Konzept, das in diesem bekannten Dokument offenbart ist, nur eine einzige Station als diejenige bestimmt werden, die Anforderungsfenster/Aufrufnachrichten erzeugen kann. Es ist augenscheinlich, daß das Vorsehen lediglich einer Station im logischen Ring zur Anforderungsfenster/Aufrufnachricht- Ausgabe mit Nachteilen verknüpft ist.
- Die beanspruchte Erfindung sieht ein verbessertes Konzept zum Befähigen von Stationen zum Eintritt in den logischen Ring vor, und zwar mit möglichst kleiner Störung oder Komplikation. Die beanspruchte Erfindung beruht auf dem Konzept des Vorsehens eines Aufruftoken, der separat vom Mastertoken von Station zu Station übergeben wird. Jede Station, die im Besitz sowohl des Mastertoken und des Aufruftoken ist, hat die Fähigkeit, eine Aufrufnachricht auszusenden.
- Bei einer bevorzugten Ausführungsform der Erfindung wird die Aufrufnachricht an neue Stationen ausgesendet, die zwischen dem Halter oder Besitzer des Mastertoken und des Aufruftoken und dessen Nachfolgerstation angeordnet sind. Die neue Station antwortet, und die aussendende Station wird darüber informiert, daß sie das Mastertoken an die neue Station beim nächsten Umlauf des Mastertoken rund um den logischen Ring abgeben soll.
- Ein Weg zur Ausführung der Erfindung ist im einzelnen unter Bezugnahme auf Zeichnungen beschrieben, die lediglich ein spezifisches Ausführungsbeispiel darstellen. Es zeigen:
- Fig. 1 eine bildliche Darstellung des Kommunikationsnetzwerks der Erfindung,
- Fig. 2 eine elektrische schematische Darstellung einer Mittelzugriffsteuerung, die ein Teil des Netzwerks nach Fig. 1 darstellt,
- Fig. 3 eine elektrische schematische Darstellung einer Schnittstellensteuerung, die einen Teil des Netzwerks nach Fig. 1 bildet,
- Fig. 4 eine elektrische schematische Darstellung einer Schieds- oder Arbitrations- und Steuerschaltung, die einen Teil der Mittelzugriffsteuerung nach Fig. 2 bildet,
- Fig. 5 eine schematische Darstellung der Struktur der Nachrichten, die auf das Netzwerk nach der Erfindung aus gesendet werden,
- Fig. 6 eine Map (Abbildverzeichnis) des Statusbereiches, die in einem Speicher gespeichert ist, die einen Teil der Mittelzugriffsteuerung nach Fig. 2 bildet,
- Fig. 7 eine Map der Empfangs- und Sendewarteschlangen, die in einem Speicher gespeichert ist, die einen Teil der Mittelzugriffsteuerung nach Fig. 2 bildet,
- Fig. 8 ein Flußdiagramm des Programms, das von der Mittelzugriffsteuerung nach Fig. 2 ausgeführt wird,
- Fig. 10a, 10b und 10c schematische Darstellungen des logischen Rings, der vom Netzwerk nach Fig. 1 gebildet wird, wobei der Eintritt und der Austritt einer Station aus dem logischen Ring dargestellt ist,
- Fig. 11a ein Flußdiagramm des Programms zum Empfangen und Verarbeiten von Nachrichten auf dem Netzwerk, welches Programm einen Teil des Programms darstellt, das in Fig. 8 gezeigt ist,
- Fig. 11b ein Flußdiagramm des Programms zur Verarbeitung von Aufrufnachrichten, welches Programm einen Teil des Programms nach Fig. 11a bildet,
- Fig. 11c ein Flußdiagramm des Programms zum Verarbeiten von Austritts- oder Verabschiedungsnachrichten, welches Programm einen Teil des Programms nach Fig. 11a bildet,
- Fig. 12a ein Flußdiagramm des Programms zum Aussenden von Nachrichten, welches Programm einen Teil des Programms bildet, das in Fig. 8 dargestellt ist,
- Fig. 12b ein Flußdiagramm des Programms zum Bestimmen der Funktion, die als nächste auszuführen ist, welches Programm einen Teil des Programms nach Fig. 12a bildet, und
- Fig. 13 ein Flußdiagramm des Programms zum Aufrufen von Nachfolgern und Übergeben des Mastertoken, welches Programm einen Teil des Programms nach Fig. 8 bildet.
- Das lokale Netzwerk (LAN) der Erfindung besteht aus einem Satz von Stationen, die sich selbst in einen logischen Ring derart konfigurieren, daß ein Token um den Ring von Station zu Station weitergegeben werden kann. Nur diejenige Station, die zur Zeit im Besitz des Token ist, kann eine Nachricht auf das Netzwerk aussenden. Diese Logische-Ring- Konfiguration wird dadurch implementiert, daß jeder Station eine eindeutige Stationsnummer oder Adresse zugeordnet wird und daß das Token in aufsteigender Adreßreihenfolge übergeben wird. Diese gelben Stationsadressen werden verwendet, um den Ursprung oder die Quelle und die Bestimmung von Nachrichten zu identifizieren, die auf dem Netz übertragen werden. Für einen Fachmann ist es augenscheinlich, daß diese Logische-Ring-Konfiguration unabhängig von dem besonderen Mittel (Draht, Kabel, Lichtwellenleiter usw.) oder von der besonderen Netzwerktopologie (Ring, Verbindungsleitungen, Stern usw.) ist.
- Es wird nachstehend insbesondere auf Fig. 10a Bezug genommen. Dort ist beispielshalber ein logischer Ring gezeigt, der aus fünf Stationen 510, 520, 530, 540 und 550 gebildet ist, die die Stationsnummern 10, 20, 30, 40 bzw. 50 haben. Zu irgendeinem Augenblick ist es einer dieser Stationen gestattet, eine Nachricht auf das Netzwerk an die anderen Stationen auszusenden, und von dieser sendenden Station wird gesagt, daß sie im Besitz des "Token" ist. Erfordert die ausgesendete Nachricht eine unmittelbare Antwort von der Bestimmungs- oder Zielstation, dann wird dieser Bestimmungsstation die Gelegenheit zum Antworten gegeben. Das Senderecht geht dann wieder über auf die Station, die das Token im Besitz hat. Der Halter oder Besitzer des Token muß gewissen Vorschriften folgen, die das Ausmaß der Zeit regulieren, wie lange er im Besitz des Token bleiben kann. Läuft diese Zeit ab oder hat diese Station nichts mehr zum Aussenden, kann der Tokenbesitzer Netzwerkerhaltungsoperationen vornehmen. Wenn diese vollendet sind, gibt der Tokenbesitzer das Token an die nächste Station oder Nachfolgerstation im logischen Ring weiter. Von der Zeit an, zu der die Station das Token weitergegeben hat, bis zu der Zeit, zu der sie das Token wieder erhält, empfängt die Station Nachrichten von anderen Stationen vom Netzwerk, die das Token besitzen.
- Das Token wird an eine Nachfolgerstation mit einer Tokennachricht übergeben, die die Stationsnummer der Nachfolgerstation enthält, die das Token empfangen soll. Dies setzt natürlich voraus, daß jede Station die Stationsnummer ihres Nachfolgers speichert. In dem als Beispiel dienenden Netzwerk nach Fig. 10a speichert somit die Station 510 eine Nachfolgeradresse mit der Nummer 20, die Station 520 eine Nachfolgeradresse mit der Nummer 30 usw. rings um den Ring. Der resultierende Umlauf des Token erfolgt zügig und ist vorausschaubar, solange alle Stationen im logischen Ring bleiben und keine neue Station in den Ring einzutreten wünscht.
- Fig. 10b zeigt eine Situation, in der eine andere Station 523 dem Ring hinzugefügt wird. Wie es durch eine gestrichelte Linie 524 angedeutet ist, wird das Token nicht mehr von der Station 520 zu der Station 530 übergeben, sondern es gelangt statt dessen durch die neue Station 523. Ein Aspekt der Erfindung besteht darin, in welcher Weise die neue Station 523 dem logischen Ring hinzugefügt wird.
- Insbesondere macht die Erfindung Gebrauch von einem zweiten virtuellen Token, das "Aufruftoken" genannt wird und das rund um den logischen Ring weitergereicht wird. Wenn eine Station im Besitz des Aufruftoken ist, kann sie eine Aufrufnachricht als einen Teil ihrer Netzwerkaufrechterhaltungs- oder Netzwerkverwaltungsoperationen aussenden. Eine derartige Nachricht enthält die Adresse ihrer Nachfolgerstation und sie ist an eine einzige Stationsnummer gerichtet, die nummernmäßig zwischen ihr selbst und ihrer Nachfolgerstation angeordnet ist. Will eine neue Station in den logischen Ring zwischen dem Tokenbesitzer und seinem Nachfolger eintreten, dann antwortet die neue Station auf eine dieser Aufrufnachrichten. Und zwar antwortet die neue Station mit einer Nachfolgereintrittnachricht, die den Tokenbesitzer über das neue Ringmitglied informiert. So sendet beispielsweise die Station 520 eine Reihe von Aufrufnachrichten aus, deren Bestimmungsadressen zwischen 20 und der Adresse ihrer Nachfolgerstationsnummer 30 liegen. Die neue Station 523 hat eine Adresse zwischen der Nummer 20 und der Nummer 30, und deshalb antwortet sie auf eine dieser Aufrufnachrichten mit der Nachfolgereintrittnachricht. Somit wird der Nachfolger für die Station 520 auf die Nummer 23 geändert, und der Nachfolger für die neue Station 523 wird auf die Nummer 30 gesetzt, und ferner wird das Token an die neue Station 523 in üblicher Weise übergeben. Auf diese Weise wird ein glatter, störungsloser Übergang erreicht.
- Das Aufruftoken wird mit einer wesentlich langsameren Geschwindigkeit als das Mastertoken rund um den logischen Ring weitergeleitet. Bei dein bevorzugten Ausführungsbeispiel gibt es keinen offenen Akt der Übergabe des Aufruftoken. Statt dessen ist jede Station so programmiert, daß sie, sofern sie während eines vollständigen Umlaufs des Mastertoken keine Aufrufnachricht auf dem Netzwerk hört, die Annahme trifft, daß sie selbst das Aufruftoken hat und deshalb selbst eine Aufrufnachricht aussenden sollte. Im Ergebnis wird daher für jeden vollständigen Umlauf des Mastertoken wenigstens einmal eine Aufrufnachricht ausgesendet, und es erfolgt eine effektive Weitergabe an die nächste Station im Ring, nachdem eine Aufrufnachricht an jede dazwischenliegende Stationsnummer ausgesendet worden ist.
- Unter besonderer Bezugnahme auf Fig. 10c kann der logische Ring auch eine Änderung erfahren, wenn eine Station inaktiv wird. Wenn beispielsweise die Station 530 inaktiv wird, sollte das Token von der Station 520 zu der Station 540 direkt weitergegeben werden, wie es durch einen Pfeil 525 angedeutet ist. Ein geschmeidiger Übergang zu dem kleineren logischen Ring wird nach der Erfindung ausgeführt, wonach die sich zurückziehende Station 530 die Vorgängerstation 520 über ihre Absicht informiert. Diese Information oder Mitteilung erfolgt in Form einer Verabschiedungs- oder Austrittsnachricht, die zur Vorgängerstation ausgesendet wird, wenn die ausscheidende Station im Besitz des Mastertoken ist. Diese Nachricht ändert die Nachfolgeradresse in der Station 520, auf beispielsweise die Nummer 40 anstelle der vorangegangenen Nummer 30. Somit gibt während des nächsten Umlaufes des Mastertoken die Station 520 das Mastertoken an die Station 540 anstatt an die Station 530 weiter. Die Station hat sich somit anständig aus dem logischen Ring entfernt.
- Das Kommunikationsnetzwerk enthält ein Kabelsystem, das Information in Form elektrischer Signale weiterleitet. Das Kabelsystem verwendet flexible 75-Ohm-Koaxialkabel mit Doppelabschirmung (Folie/Umflechtung), im eine hohe Geräuschimmunität aufrecht zu erhalten. BNC-Verbinder oder -Stücke werden verwendet, um die Kabelsegmente miteinander zu verbinden.
- Insbesondere unter Bezugnahme auf Fig. 1 enthält das Kabel- oder Verkabelungssystem ein Verbindungskabel 1, das aus Segmenten eines Kabels vom Typ RG-11 besteht, die über Anzapfungen 2 miteinander verbunden sind. Das Verbindungsleitungskabel 1 hat eine Dämpfung von 3,3 dB per 305 m (tausend Fuß) bei der höheren Signalfrequenz von 6,25 MHz, und das Verbindungskabel 1 kann eine Länge bis zu 2750 m (9000 Fuß) haben, ohne daß Verstärker erforderlich sind. Das Verbindungskabel 1 ist an jedem Ende mit einem 75-Ohm- Widerstand 3 abgeschlossen.
- Jede Anzapfung 2 sieht den Anschluß eines Knotens oder einer Station an das Verbindungsleitungskabel 1 über ein Abzweigleitungskabel 4 vor. Die Abzweigleitungskabel 4 verwenden ebenfalls ein 75-Ohm-Koaxialkabel, und jedes hat eine Länge von etwa 60 cm (24 Zoll). Wegen der kurzen Länge kann man für die Abzweigungsleitungskabel 4 flexiblere und leichter zu installierende Kabel benutzen.
- Immer noch unter Bezugnahme auf Fig. 1, enthält jede Station am Netzwerk eine Mittelzugriffssteuerung 5 und eine Schnittstellensteuerung 6. Wie es noch im einzelnen unten beschrieben wird, ist die Mittelzugriffssteuerung 5 für jede Station identisch und ihre Primärfunktion besteht darin, das Datenverbindungsschichtprotokoll zu implementieren. Die Mittelzugriffssteuerung 5 steuert somit das Recht zum Aussenden von Information auf das Netzwerk und stellt sicher, daß nur eine Station zu einer Zeit aussendet und daß jede Station einen fairen Anteil von Sendezeit bei regelmäßigen Zeitabständen erhält. Sie garantiert die Integrität der Information, die zwischen Stationen transferiert wird, und sie stellt sicher, daß Information nicht verlorengeht oder dupliziert wird. Räumlich ist die Mittelzugriffssteuerung 5 auf einer separaten gedruckten Schaltungsplatte angeordnet, die über einen BNC-Verbinder mit dem Abzweigungsleitungskabel 5 verbunden ist.
- Die Mittelzugriffssteuerung 5 sieht auch eine Standardschnittstelle für die ihr zugeordnete Schnittstellensteuerung 6 vor. Die Schnittstellensteuerung 6 funktioniert derart, daß sie die Mittelzugriffssteuerung 5 mit einer spezifischen Maschine elektrisch verbindet, und sie implementiert die höheren Protokollschichten für Kommunikationen zwischen diesen Maschinen, wie es in einem Referenzmodell für offene Systemzwischenverbindungen durch die International Standards Organization (ISO) definiert ist. Räumlich ist die Schnittstellensteuerung 6 auf einer gedruckten Schaltungsplatte angeordnet, die elektrisch mit einem Dual-Port- Speicher der zugeordneten Mittelzugriffssteuerung 5 verbunden ist. Die Schnittstellensteuerung 6 kann einen Standardanschluß oder Port für eine handelsübliche Maschine vorsehen, beispielsweise für einen Allgemeinzweckrechner 7 oder eine Prozeßsteuerung 8. Andererseits kann die Schnittstellensteuerung 6 so konstruiert sein, daß sie direkt in die Rückebene einer programmierbaren Steuerung 9, wie sie beispielsweise in der US-Patentschrift 4 442 504 beschrieben ist, oder einer numerischen Steuerung 10, wie sie beispielsweise in der US-Patentschrift 4 228 495 beschrieben ist, eingesteckt wird.
- Wie es noch im einzelnen unten beschrieben wird, empfängt die Schnittstellensteuerung 6 Nachrichtendaten von der Mittelzugriffssteuerung 5, setzt die Daten in eine Form um, die von der jeweils zugeordneten Maschine 7 bis 10 erkannt werden kann, und übermittelt die Daten zu der Maschine.
- Unter besonderer Bezugnahme auf Fig. 2 ist die Mittelzugriffssteuerung 5 um einen Mikroprozessor 20 herum strukturiert, der einen 20-Bit-Adreßbus 21 und einen 8-Bit-Datenbus 22 ansteuert. Der Mikroprozessor 20 wird von einem 10-MHz- Taktgeber 32 betrieben, und er erzeugt Steuersignale auf Leitungen, auf die kollektiv als Steuerbus 26 Bezug genommen wird. Der Mikroprozessor 20 führt Maschinensprachprogramme aus, die in einem ROM 23 gespeichert sind, um die Funktionen der Mittelzugriffssteuerung 5 vorzunehmen. Ein Datum (Information) wird zwischen zwei Elementen übermittelt, die mit den Bussen 21 und 22 verbunden sind, wenn der Mikroprozessor 20 einen Lese- oder Schreibzyklus ausführt. Ein Maschinenspracheprogrammbefehl wird vom ROM während eines Lesezyklus geholt, beispielsweise wenn der ROM 23 durch eine Steuerleitung 24 freigegeben ist, und die Adresse des Befehls wird an dem Adreßbus 21 durch einen Programmzähler (nicht gezeigt) im Mikroprozessor 20 erzeugt.
- Der ROM 23 ebenso wie die anderen adressierbaren Elemente in der Mittelzugriffssteuerung 5 werden durch Steuerleitungen freigegeben, die von einer Decoderschaltung 25 angesteuert werden. Die Decoderschaltung 25 spricht auf die am Adreßbus 21 erzeugte Adresse und auf am Steuerbus 26 erzeugte Signale an, um an einer von sechs Steuerleitungen 24, 27 bis 30 ein Freigabesignal zu erzeugen. Die Adreßplätze, die von den adressierbaren Elementen eingenommen werden, welche von diesen Steuerleitungen betrieben werden, sind in der Tabelle A angegeben.
- Adresse (Hexadecimal) Element
- 00000 bis 07FFF ROM 23
- 08000 bis 0801F Protokollkommunikationssteuerung
- 08020 bis 08027 Eingangspuffer
- 08040 bis 08047 Ausgangslatch
- 0C000 bis 0DFFF Arbitration und Steuerung
- Eine Protokollkommunikationssteuerung (PCC) 40 ist mit den Bussen 21, 22 und 26 verbunden und wird durch eine Steuerleitung 30 freigegeben, die von der Decoderschaltung 25 angesteuert wird. Die PCC 40 ist eine handelsübliche integrierte Schaltung, die eine Reihe von Funktionen vornimmt, die dem Empfang oder dem Aussenden von Nachrichten über das Netzwerk zugeordnet sind. Bei Freigabe während eines Schreibzyklus können Nachrichtendaten in einen 8-Byte-Sendepuffer geschrieben werden, oder Daten können in eine Anzahl interner Register geschrieben werden, um die PCC 40 zu konfigurieren. Während eines Lesezyklus können Nachrichtendaten aus einem 8-Byte-Empfangspuffer gelesen werden, oder Statusinformation kann aus irgendeinem einer Anzahl interner Statusregister gelesen werden.
- Die PCC 40 funktioniert derart, daß sie an eine XMT- Leitung 41 einen seriellen Strom von Bits abgibt, die den Daten entsprechen, die in ihrem internen Sendepuffer gespeichert sind. Die PCC 40 ist auch derart konfiguriert, daß sie ein Kennzeichenbyte zu Beginn und am Ende jeder ausgesendeten Nachricht einfügt und am Ende jeder Nachricht ein CRC-Byte berechnet und aussendet. Die PCC 40 funktioniert auch so, daß sie einen seriellen Strom Bits an einer RCVR-Leitung 42 empfängt und die Nachrichtendaten in ihrem internen Empfangspuffer speichert. Die PCC 40 entfernt auch Kennzeichenbytes, und sie führt CRC-Überprüfungen an empfangenen Nachrichten aus.
- Wenn eine Nachricht auszusenden ist, erzeugt die PCC 40 ein Sendeanforderungssignal an einer Steuerleitung 43 zu einer Verzögerungsschaltung 44. Dieses Signal gibt prompt einen Sendemodem 45 frei, der mit der Erzeugung seines Trägersignals beginnt, und 8 ins später wird ein Manchester-Codierer/Decodierer 46 freigegeben, um mit der Modulation des Trägersignals zu beginnen. Der Manchester- Codierer/Decodierer 46 ist eine handelsübliche integrierte Schaltung, die den seriellen Bitstrom von der XMT-Leitung 41 empfängt und einen entsprechenden Manchester-Code an den Sendemodem 45 ausgibt. Wie es allgemein bekannt ist, hat das Manchester-codierte serielle Datum keine Gleichspannungs- oder Gleichstromkomponente, und es hat einen höheren Grad an Rauschimmunität als der herkömmlichere Ohne- Rückkehr-nach-Null-Code. Der Sendemodem 45 ist ebenfalls eine handelsübliche integrierte Schaltung, die ein serielles Datum als ein periodisches hochfrequentes asynchrones Signal aussendet, dessen Frequenz davon abhängt, ob das serielle Datum einen logisch hohen oder niedrigen Wert hat. Der Sendemodem 45 erzeugt ein 6,25-MHz-Signal für einen logisch hohen Wert und ein 3,75-MHz-Signal für einen logisch niedrigen Wert. Dieses Hochfrequenzausgangssignal wird über einen Trenntransformator 48 an die Abzweigungsleitung 4 gelegt.
- Es wird immer noch auf Fig. 2 Bezug genommen. Wenn von einer anderen Station am Netzwerk ein Signal erzeugt wird, wird es durch den Transformator 48 zum Eingang von einem Empfangsmodem 47 übermittelt. Der Empfangsmodem 47 ist eine handelsübliche integrierte Schaltung, die einen 6,25-MHz-Träger in einen logisch hohen Spannungspegel und einen 3,75-MHz-Träger in einen logisch niedrigen Spannungspegel überführt. Der resultierende Strom des Manchester-codierten Datums wird über Leitungen 50 dem Manchester-Codierer/Decodierer 46 zugeführt. Der Manchester-Decodierer erzeugt an einer Steuerleitung 49 eine gültige Signalanzeige, und er erzeugt einen seriellen Bitstrom, der über die RCVR-Leitung 42 der PCC 40 zugeführt wird.
- Nachrichten werden somit aus gesendet auf das Netzwerk als FSK-codierte Signale (FSK = Frequenzumtastung) durch Einschreiben des Nachrichtendatums in den Sendepuffer in der PCC 40. FSK-codierte Nachrichten werden vom Netzwerk empfangen, decodiert und dem Empfangspuffer in der PCC 40 zugeführt. Dieses Nachrichtendatum wird aus dem Empfangspuffer ausgelesen und verarbeitet, wie es unten noch beschrieben wird.
- Das Nachrichtendatum wird übermittelt zwischen der Mittelzugriffssteuerung 5 und ihrer zugeordneten Schnittstellensteuerung 6 über einen Dual-Port-RAM 60. Der RAM 60 ist über einen Satz bidirektionaler Datentore 61 mit dem Datenbus 22 und über einen Satz Adreßtore 62 mit dem Adreßbus 21 verbunden. Die Tore 61 und 62 sind Tri-State- Gatter, die von einer Arbitrations- und Steuerschaltung 63 betrieben werden, die wiederum über die Steuerleitung 29 von der Decoderschaltung 25 freigegeben wird. Die Arbitrations- und Steuerschaltung 63 führt ihren Betrieb aus aufgrund von Signalen am Steuerbus 26 oder Signalen an einem entsprechenden Satz Steuerleitungen 68 von der Schnittstellensteuerung 6.
- Wie es noch unten im einzelnen beschrieben wird, wird die Arbitrations- und Steuerschaltung 63 freigegeben, wenn der Dual-Port-RAM 60 vom Mikroprozessor 20 adressiert wird, und ein Lese- oder Schreibzyklus wird bei dem adressierten Speicherplatz ausgeführt. Wenn der Dual-Port-RAM über seinen anderen Port zugegriffen wird, wird der Mikroprozessor 20 allerdings in einem Wartezustand gehalten, bis ein Zugriff erteilt wird. Der andere Port wird vorgesehen durch einen zweiten Satz bidirektionaler Datentore 64 und einen zweiten Satz Adreßtore 65. Diese verbinden den Dual-Port-RAM 60 mit einem Datenbus 66 und einem Adreßbus 67 in der Schnittstellensteuerung 6. Die Arbitrations- und Steuerschaltung 63 steuert auch diese Tore und erteilt der Schnittstellensteuerung 6 Zugriff zu dem Dual-Port-RAM 60.
- Es wird immer noch auf Fig. 2 Bezug genommen. Die Mittelzugriffssteuerung 5 betreibt eine Anzahl von Einzelbitvorrichtungen und Steuerleitungen über ein Ausgangslatch 70. Die Verriegelung oder das Latch 70 wird von der Decodier- oder Decoderschaltung 25 über die Steuerleitung 27 während eines Schreibzyklus freigegeben, und ein einzelnes Bit wird darin eingeschrieben und in einem von sechzehn separat adressierbaren Plätzen gespeichert. Das Ausgangslatch 70 steuert eine Anzahl von Steuerleitungen an, die mit der Schnittstellensteuerung 6 verbunden sind, einschließlich einer INT-HOST-Leitung 71, einer MAC-READY- Leitung 72 und einer MAC-FAULT-Leitung 73. Wie es noch unten erläutert wird, werden die Leitungen 72 und 73 beim Einschaltbetrieb verwendet, um die Schnittstellensteuerung 6 über den Status der Mittelzugriffssteuerung 3 zu informieren, und die Leitung 71 wird verwendet, um der Schnittstellensteuerung 6 mitzuteilen, daß ein Nachrichtendatum für sie im Dual-Port-RAM 60 zur Verfügung steht.
- Ein Eingangspuffer 73 ist mit dem Datenbus 22 verbunden und wird über die Steuerleitung 28 von der Decoderschaltung 25 freigegeben. Ein Einzelbitdatum wird somit in den Mikroprozessor 20 von einer Anzahl von Quellen, wie dem Codierer/Decodierer 46, eingegeben.
- Es wird jetzt insbesondere Bezug genommen auf Fig. 2 und 3. Die Schnittstellensteuerung 6 ist ebenfalls um einen Mikroprozessor 80 strukturiert, der einen 16-Bit-Datenbus 66 und einen 23-Leitungs-Adreßbus 67 ansteuert. Diese Busse 66 und 67 sind mit dem Dual-Port-RAM 60 verbunden, wie oben beschrieben, und der Mikroprozessor 80 kann aus dem RAM 60 Daten auslesen oder er kann dort Daten einschreiben, nachdem er über die Arbitrations- und Steuerschaltung 63 den Zugriff erlangt hat.
- Es wird jetzt insbesondere auf Fig. 3 Bezug genommen. Der Mikroprozessor 80 wird angesteuert von einem Taktgeber, und er arbeitet in Abhängigkeit von Maschinensprachenprogrammen, die in einem Festwertspeicher (ROM) 81 gespeichert sind, der mit den Bussen 66 und 67 verbunden ist. Der ROM 81 wird während eines Lesezyklus über eine Steuerleitung 82 freigegeben, die von einer Decoder- und Steuerschaltung 83 angesteuert wird. Die Decoder- und Steuerschaltung 83 ist mit dem Adreßbus 67 und einer Anzahl von Steuerleitungen verbunden, die vom Mikroprozessor 80 angesteuert werden, einschließlich einer Lese/Schreib-Steuerleitung 84. Die Decodier- oder Decoder-Steuerschaltung 83 spricht an auf den Adreßcode am Bus 67, um ein adressiertes Element der Schnittstellensteuerung 6 freizugeben. Die von diesen adressierbaren Elementen eingenommenen Adreßräume sind in einer Tabelle B angegeben.
- Adresse (Hexadecimal) Element
- 000000 bis 07FFFF ROM 81
- 080000 bis 0FFFFF RAM
- FF9F00 bis FF9F3F Ausgangslatches
- FF9F40 bis FF9F7F DUART 85
- FF9F80 bis FF9FBF Zeitgeber/Prioritätscodierer
- FF9FC0 bis FF9FDF Eingangstore
- FFC00D bis FFFFFF Dual-Port-RAM 60
- Eines der adressierbaren Elemente ist ein Dual- Universal-Asynchron-Empfänger/Sender (DUART) 85, der mit den Bussen 66 und 67 verbunden ist und der über die Steuerleitung 86 freigegeben wird. Der DUART 85 ist eine handelsübliche integrierte Schaltung, die serielle Daten an irgendeinem von zwei seriellen E/A-Ports 87 und 88 sendet und empfängt. Ein Datenwort kann in ein Ausgangsregister für entweder den seriellen Port 87 oder 88 innerhalb des DUART 85 eingeschrieben werden, und dieses Datenwort wird dann zu dem angegebenen Port automatisch ausgeschoben. Wenn umgekehrt ein serielles Datum an einem der Ports 87 oder 88 empfangen wird, unterbricht der DUART 85 den Mikroprozessor 80 über eine Unterbrechungsanforderungsleitung 89, und der Mikroprozessor 80 liest das empfangene Datenwort aus dem DUART 85 als Teil seiner Unterbrechungsserviceroutine aus. Der Mikroprozessor 80 erzeugt dann ein Steuersignal an einer Unterbrechungsbestätigungsleitung 90 zusammen mit einem 3-Bit- Code, die beide einer 3-Leitung-auf-8-Leitung-Decodierschaltung 91 zugeführt werden. Die Unterbrechungsanforderung vom DUART 85 wird somit über eine DACK-Steuerleitung 92 bestätigt, die vom Decodierer 91 angesteuert wird.
- Der DUART 85 wird während des Einschaltvorgangs so konfiguriert, um am seriellen E/A-Port 87 ein RS-232- Standardprotokoll zu implementieren und am seriellen E/A- Port 88 ein RS-422-Standardprotokoll zu implementieren. Signale bis zum 19,2-K-Band werden entweder vom Port 87 oder 88 gehandhabt, und es ist ein allgemeines Ziel dieses bevorzugten Ausführungsbeispiels der Schnittstellensteuerung 6, serielle Standardports vorzusehen, die für einen weiten Bereich handelsüblicher Allzweckrechner geeignet sind.
- Der Mikroprozessor 80 spricht auf eine Reihe von Unterbrechungsanforderungen an, die von einer Zeitgeber/Priorität-Codierschaltung 95 mit Prioritäten versehen werden. Zusätzlich zum Empfang der Unterbrechungsanforderungen vom DUART 85 empfängt der Priorität-Codierer 95 eine Energiestörungsunterbrechung von der Versorgung (nicht gezeigt) über eine Leitung 99 und eine Unterbrechungsanforderung von der Mittelzugriffssteuerung 5 über die Steuerleitung 71. Der Priorität-Codierer 95 spricht auf diese und eine Anzahl Unterbrechungen an, die von internen Takt- oder Zeitgebern erzeugt werden, und zwar durch Erzeugen eines 3-Bit-Unterbrechungsvektors an Leitungen 97, die dem Mikroprozessor 80 die prioritätshöchste Unterbrechungsanforderung anzeigen. Wird eine Unterbrechungsanforderung vom Mikroprozessor 80 bestätigt, wird dies durch eine IACK-Steuerleitung 89 angezeigt, die von dem 3-auf-8-Decodierer 91 angesteuert wird.
- Obgleich es in Fig. 3 nicht dargestellt ist, besteht zwischen dem Zeitgeber/Priorität-Codierer 95 eine Verbindung mit dem Adreßbus 67 und dem Datenbus 66. Er wird freigegeben von der Decodier- und Steuerschaltung 83 über eine Steuerleitung 99, wenn ein Datum in irgendeines seiner internen Register (nicht gezeigt) eingeschrieben oder daraus ausgelesen werden soll. Dies geschieht hauptsächlich während des Einschaltvorgangs, wenn das System initialisiert wird, obgleich die internen Zeitgeber auch gelesen werden können, um die Fähigkeit nach einem Echtzeit-Taktgeber bereitzustellen.
- Wird der Zeitgeber/Priorität-Codierer 95 adressiert, erzeugt er ein Bestätigungssignal an einer DTACK-Leitung 100, die dem Mikroprozessor 80 anzeigt, daß eine geeignete Vorrichtung adressiert worden ist und daß der Lese- oder Schreibzyklus vollendet werden kann. Dieselbe Leitung 100 wird auch von anderen Systemelementen angesteuert, wenn sie adressiert werden. Während jedes Lese- oder Schreibzyklus erzeugt der Mikroprozessor 80 eine Adresse am Bus 67 und wartet auf den Empfang eines DTACK-Signals vom adressierten Element. Der Mikroprozessor 80 wartet somit auf asynchrone Systemelemente, wie beispielsweise die Arbitrations- und Steuerschaltung 63, bevor er den Lese- oder Schreibzyklus vollbringt.
- Die Schnittstellensteuerung 6 enthält einen Direktzugriffsspeicher (RAN) 105, der mit den Bussen 66 und 67, der Lese/Schreib-Steuerleitung 84 und einer Freigabeleitung 106 verbunden ist. Wie es unten noch beschrieben wird, speichert der RAM 105 eine Anzahl von Datenstrukturen, die das Überführen oder Umsetzen von Nachrichten, die über einen der seriellen Port 37 oder 88 empfangen sind, in eine Form betreffen, die zur Mittelzugriffssteuerung 5 weitergeleitet werden kann. Der Mikroprozessor 80 ist so programmiert, daß er höhere Protokollschichtserviceleistungen ausführen kann, wie beispielsweise Anwendungsschichtdienst, Präsentationsschichtdienst und Netzwerkschichtdienst. Diese Dienste oder Serviceleistungen erfordern hohe Zugriffsspeicherkapazität.
- Mit den Bussen 66 und 67 ist eine Reihe von Einzelbiteingangs- und -ausgangselementen verbunden. Diese umfassen zwei Sätze Eingangstore 107 und 108, die mit den Steuerleitungen 72 und 73 der Mittelzugriffssteuerung 5 und Einzelpolschalter 105 verbunden sind, die zum Konfigurieren der Station für einen breiten Bereich von Anwendungen manuell gesetzt werden können. Die Eingangstore 107 und 108 sind Tri-State-Gatter, die von der Decodier- und Steuerschaltung 83 adressiert und freigegeben werden können, um ihre Eingänge an den Datenbus 66 während eines Lesezyklus einzugeben. Umgekehrt sind zwei Sätze Latches 110 und 111 mit dem Datenbus 66 verbunden, und sie steuern eine Anzahl von Steuerleitungen und Anzeigelampen 112 an. Die Latches 110 und 111 werden freigegeben über Steuerleitungen 113 und 114, um während eines Schreibzyklus die Daten am Bus 66 zu speichern. Das Ausgangslatch 110 steuert an eine HOST-READY-Steuerleitung 115, eine HOST-FAULT-Leitung 116 und eine SHUT-DOWN-Leitung 117. Die SHUT-DOWN-Leitung 117 ist mit der Energieversorgungsanzeigelampe (nicht gezeigt) für die Mittelzugriffssteuerung 5 als auch die Schnittstellensteuerung 6 verbunden, und bei entsprechender Freigabe wird dem Benutzer mitgeteilt, daß die Energieversorgung abgeschaltet sein kann.
- Wie zuvor angedeutet, ist der Dual-Port-RAM 60 in der Mittelzugriffssteuerung 5 mit einer 8-Bit-Wortlänge organisiert. Der Datenbus 66 in der Schnittstellensteuerung 6 hat eine Breite von 16 Bits, und während einer Lese- oder Schreiboperation mit dem Dual-Port-RAM 60 bleiben acht ihrer Leitungen unbenutzt. Folglich ist ein Satz Tri-State-Gatter 120 mit diesen unbenutzten Leitungen verbunden, und diese werden durch eine Steuerleitung 121 freigegeben, immer wenn der Dual-Port-RAM 60 adressiert wird. Die Eingänge der Gatter 120 sind mit Schaltungsmasse verbunden, um die acht höchstwertigen Datenbusleitungen auf eine logisch niedrige Spannung zu ziehen, wenn Daten aus dem Dual-Port-RAN 60 ausgelesen werden.
- Die Schnittstellensteuerung 6 des bevorzugten Ausführungsbeispiels stellt eine von vielen möglichen Konstruktionen dar. So kann eine Schnittstellensteuerung 6 für eine programmierbare Steuerung oder ein numerisches Steuerungssystem die beiden seriellen Ports und die zugeordnete Hardware mit einer Schnittstelle zu einem Rückebenenbus ersetzen. Ein solcher Rückebenenbus kann mit dem Prozessor der programmierbaren Steuerung oder dem numerischen Steuerungssystem oder mit anderen Schaltungen verbunden sein, bei denen es sich beispielsweise um Speichermodule, E/A-Abtastermodule oder periphere Prozessormodule handeln kann. Die Schnittstellensteuerung 6 kann man beispielsweise als die "Kommunikationsnetzwerkschnittstelle" in der programmierbaren Steuerung nach der US-Patentschrift 4 442 504 verwenden.
- Es wird jetzt insbesondere auf Fig. 2 und 4 Bezug genommen. Die Arbitrations- und Steuerschaltung 63 enthält diskrete logische Vorrichtungen, einschließlich eines Paares D-Flipflops 150 und 151. Die D-Eingänge dieser Flipflops 150 und 151 sind mit den jeweiligen Anforderungssteuerleitungen 29 und 121 verbunden, die von der Mittelzugriffssteuerung 5 bzw. der Schnittstellenschaltung 6 kommen. Ihre -Ausgänge sind über ein NAND-Glied 152 mit dem D-Eingang eines dritten D-Flipflop 153 verbunden, und dieses Flipflop 153 wird entweder gesetzt oder zurückgesetzt, um anzuzeigen, welches anfordernde System Zugriff zum Dual-Port-RAN 60 hat.
- Der Q-Ausgang des Flipflop 153 steuert die Freigabeleitung 154 an, die die Verbindung der Schnittstellensteuerungsbusse mit dem Dual-Port-RAM 60 gestattet. Sie gibt auch ein Paar Tri-State-Gatter 155 und 156 frei, um die Ausgabefreigabesteuerleitung (OE) 157 und die Schreibfreigabesteuerleitung (WE) 158 der Schnittstellensteuerung 5 mit den entsprechenden Steuerleitungen (RAN OE) 159 und (RAM WE) 160 des Dual-Port-RAM 60 zu verbinden. In ähnlicher Weise steuert der Q-Ausgang des Flipflop 153 die Freigabeleitung 161, die die Mittelzugriffssteuerungsbusse mit dem Dual-Port-RAN 60 verbindet. Diese selbe Leitung gibt auch ein Paar Tri-State-Gatter 162 und 163 frei, um eine Ausgabefreigabeleitung 164 und eine Schreibfreigabeleitung 165 der Mittelzugriffssteuerung 5 mit den entsprechenden RAN-Steuerleitungen 159 und 160 zu verbinden. Eine Chipauswahlleitung 166, die den Dual-Port-RAM 60 freigibt, wird von einem ODER-Glied 167 angesteuert, wenn entweder die Mittelzugriffssteuerung 5 oder die Schnittstellensteuerung 6 einen Zugriff über die jeweilige Leitung 29 oder 121 anfordert.
- Nachdem die geeigneten Busse und Steuerleitungen mit dem Dual-Port-RAM 60 verbunden sind, wird ein DTACK-Signal zu dem geeigneten Mikroprozessor 20 oder 80 ausgesendet, um den Lese- oder Schreibzyklus zu vollenden. Eine DTACK-Steuerleitung 168 für den Prozessor 20 der Mittelzugriffssteuerung wird angesteuert von einem Flipflop 169, das wiederum von einem UND-Glied 170 entweder gesetzt oder zurückgesetzt wird. In ähnlicher Weise wird die DTACK-Leitung 100 des Mikroprozessors 80 der Schnittstellensteuerung angesteuert von einem Flipflop 171, das von einem UND-Glied 172 gesetzt oder zurückgesetzt wird. Das UND-Glied 170 oder 172 wird freigegeben, wenn seine beiden Eingänge niedrig gesteuert sind.
- Nachdem die Schnittstellensteuerung 6 einen Lese- oder Schreibzyklus zum Dual-Port-RAM 60 vollendet hat, schaltet die Arbitrations- und Steuerschaltung 63 zurück, um unmittelbaren Zugriff zur Mittelzugriffssteuerung 5 zu geben, wenn dies angefordert ist. Dies wird erreicht mit einem ODER-Glied 175, das zwischen das Flipflop 150 und das NAND-Glied 152 geschaltet ist. Eine Leitung 176 verbindet den Q-Ausgang des Flipflop 153 mit diesem ODER-Glied 175, und das Flipflop 143 wird gesetzt, um den Mittelzugriffssteuerungszugriff freizugeben, sobald die Zugriffsanforderung der Schnittstellensteuerung 6 von der Anforderungsleitung 121 weggenommen ist. Im Ergebnis ist somit das Flipflop 153 bereits gesetzt, wenn von der Mittelzugriffssteuerung 5 ein Zugriff über die Leitung 29 angefordert wird, und das UND-Glied 170 wird unmittelbar freigegeben, um den Lese- oder Schreibzyklus ohne Verzögerung zu vollenden.
- Es wird insbesondere auf Fig. 2 Bezug genommen. Der Dual-Port-RAM 60 wird verwendet, um Information zwischen der Mittelzugriffssteuerung 5 und der Schnittstellensteuerung 6 zu übertragen, und er wird als Arbeitsraum von dem Mikroprozessor 20 verwendet. Die im RAN 60 gespeicherten Daten kann man in vier allgemeine Bereiche oder Datenstrukturen unterteilen: Statusbereich 200, Bitabbildungen oder Bitmaps 201, Empfangs- und Sendewarteschlangen 202, und RDR-Puffer 203. Diese Datenstrukturen als auch die Struktur der Nachrichten, die über das Netzwerk kommuniziert werden, sollen jetzt beschrieben werden.
- Zunächst soll auf Fig. 5 Bezug genommen werden. Die Nachrichten, die über das Netzwerk von den Mittelzugriffssteuerungen 5 übertragen werden, bestehen aus einer Aufeinanderfolge von Einsen und Nullen, die das bitorientierte Protokoll implementieren. Eine vollständige Nachricht oder ein Rahmen enthält eine Reihe Präambelbits 210, gefolgt von Kennzeichenbits 211, ein Paket 212, FCS-Bits 213 (FCS = Rahmenprüfsequenz), einen anderen Satz Kennzeichenbits 214 und eine Reihe Nachfolgebits 215. Dieser Rahmen ähnelt anderen gut bekannten bitorientierten Protokollen, wie beispielsweise ADCCP, HDLC und SDLC. Die Führungsbits 210 und 211 und die nachfolgenden Bits 213, 214 und 215, die das Paket 212 einrahmen, werden erzeugt von der Protokollkommunikationssteuerung 40 (Fig. 2), wie es beschrieben ist in Datenblättern (Dokument Nr. 68650N06) für die R68560-, R68561-Multiprotokollkommunikationssteuerung, veröffentlicht im Jahre 1984 von Rockwell International.
- Jedes in einer Nachricht enthaltene Paket 212 enthält vier Segmente: Eine Ziel- oder Bestimmungsadresse 216, ein Steuerbyte 217, eine Ursprungs- oder Quellenadresse 218, und Paketdaten 219. Die Bestimmungsadresse hat eine Länge von einem Byte, und sie gibt die Stationsnummer der Nachrichtenbestimmung an. Eine Stationsnummer von "255" zeigt an, daß die Nachricht an alle Stationen "rundgesendet" werden soll. Gleichermaßen zeigt das Quellenadreßbyte 218 die Nummer der Station an, die die Nachricht hervorbrachte. Das Steuerbyte 217 enthält sieben Bits, die die Natur oder den Typ der Nachricht identifizieren, und ein einziges Bit (SEQ), das als ein Umschalt- oder Kippbit verwendet wird, wenn eine Reihe Nachrichten in einer spezifischen Sequenz übertragen werden soll. Es gibt zwanzig Nachrichtentypen, die vom Steuerbyte 217 angegeben werden:
- 0 = Tokennachricht, die verwendet wird, um das Recht zum Aussenden auf das Netzwerk zu übergeben.
- 1 = Aufrufnachfolgernachricht, die verwendet wird, um eine Station zu lokalisieren, die als nächste das Token empfangen soll.
- 2 = Nachfolgereintrittnachricht, die der Empfangsstation diejenige Station anzeigt, an welche sie das Token übergeben soll (auch Nachfolgersetzennachricht genannt).
- 3 = "Wer folgt"-Nachricht, die an alle Stationen rundgesendet wird, wenn der angezeigte Nachfolger bei der Annahme des Token versagt.
- 4 = Verabschiedungs- oder Austrittsnachricht, die dem Vorgänger einer Station anzeigt, daß sie sich aus dem Netzwerk zurückzieht.
- 5 = RDR-Nachricht (RDR = Anforderung von Daten mit der Antwort), die die Empfangsstation auffordert, in ihrer Antwortnachricht Nachrichtendaten auszusenden.
- 7 = Tokenbeanspruchungsnachricht, die verwendet wird, um die Inhaberschaft des Mastertoken festzuschreiben, wenn er verloren war.
- 8 = SDA-Nachricht (SDA = prioritätsmäßiges Aussenden von Daten mit Bestätigung), mit der Nachrichten zu einer Bestimmungsadresse geliefert werden und die zu einer ACK-Nachricht (ACK = Bestätigung) als Antwort aufruft, um zu bestätigen, daß die Nachricht in geeigneter Weise angekommen ist.
- 9 = Prioritäts-SDA-Nachricht.
- 10 = SDA-Nachricht mit 0 bis 255 Datenbytes.
- 11 = SDA-Nachricht mit 256 bis 272 Datenbytes.
- 12 = SDN-Nachricht (SDN = Sende Daten ohne Bestätigung) mit 0 bis 255 Datenbytes.
- 13 = SDN-Nachricht mit 256 bis 272 Datenbytes.
- 14 = ACK-Nachricht (ACK = Bestätigung) ohne Paketdaten.
- 16 = ACK-Nachricht mit 0 bis 255 Bytes an RDR-Daten.
- 17 = NAK-Nachricht (NAK = keine Bestätigung), die anzeigt, daß die Station keinen ausreichenden Speicherraum hat, um die Nachricht in Empfang zu nehmen.
- 18 = NAK-Nachricht, die anzeigt, daß die Station "Offline" ist.
- 19 = NAK-Nachricht, die anzeigt, daß der Verbindungsservicezugriffspunkt inaktiv ist.
- 20 = NAK Nachricht, die anzeigt, daß das Format der Paketdaten ungeeignet ist.
- Es wird wieder auf Fig. 5 Bezug genommen. Der Inhalt der Pakete 212 wird bestimmt durch ihren Typ oder ihre Art. Alle Pakete 212 mit Ausnahme der Typen 3, 14, 17, 18, 19, und 20 enthalten Paketdaten 219. Die Natur dieser Paketdaten 219 wird bestimmt durch den Nachrichtentyp, und ein Paketdatum kann reichen von einem einzigen Byte bis nahezu 300 Byte in der Länge. Viele Nachrichtentypen enthalten tatsächliche Nachrichtendaten 222 und ein Größenbyte 223, das die Länge des Nachrichtendatums 222 angibt. Das Nachrichtendatum 222 enthält im allgemeinen eine spezifische Information, die so formatiert ist, daß höhere Schichtprotokolle des 130-Standard implementiert werden.
- Viele dieser Nachrichten enthalten ein DSAP-Byte (DSAF = Bestimmungsservicezugriffspunkt) 220 oder ein SSAP-Byte (SSAP = Quellenservicezugriffspunkt) 221. Jede Station am Netzwerk kann mehr als eine Kommunikationsfunktion für die Steuerung oder Vorrichtung ausüben, mit der sie verbunden ist. Eine Funktion oder ein "Service" bzw. "Dienst" kann es beispielsweise sein, Nachrichten zwischen dem seriellen E/A- Port 87 an der Schnittstellensteuerung 6 (Fig. 3) und den programmierbaren Steuerungen, die mit anderen Stationen am Netzwerk verbunden sind, zuzustellen, und ein zweiter Service kann es sein, Nachrichten zwischen dem zweiten seriellen E/A-Port 88 und numerischen Steuerungssystemen, die mit anderen Stationen am Netzwerk verbunden sind, zuzustellen. Die DSAP- und SSAP-Bytes identifizieren somit, welcher Service bei einer Station hervorging oder eine besondere Nachricht zu empfangen hat. Bis zu 256 separate Serviceleistungen oder Dienste können bei jeder Station unterstützt werden.
- Es wird besonders auf Fig. 2, 6 und 7 Bezug genommen. Der Statusbereich 200 des RAN 60 enthält eine Anzahl von Datenstrukturen, die für den Empfang und das Aussenden von Nachrichten wichtig sind und die die Operation der Mittelzugriffssteuerung 5 mit der Operation der Schnittstellensteuerung 6 koordinieren. Diese enthalten einen Satz von vier Indices 230a bis d, die zu den nächsten Ein- und nächsten Aus-Nachrichten zeigen, die in den Empfangs- und Warteschlangen 202 gespeichert sind. Die Indices 230a zeigen somit zu der nächsten Nachricht in einer Prioritätssendewarteschlange 231, die von der Mittelzugriffssteuerung 5 auszusenden ist, und zu dem nächsten verfügbaren Platz oder Raum in der Warteschlange 231 für die Schnittstellensteuerung, um eine neue Prioritätsnachricht zu speichern. Ähnliche Indices 230b bis 230d sind für eine Prioritätsempfangswarteschlange 232, eine Sendewarteschlange 233 und eine Empfangswarteschlange 234 vorgesehen.
- Die Indices zu den Empfangswarteschlangen 232 und 234 zeigen zu der nächsten empfangenen Nachricht, die von der Schnittstellensteuerung 6 aus gelesen werden kann, und zeigen zu dem nächsten verfügbaren Raum, in den die Mittelzugriffssteuerung 5 eine empfangene Nachricht unterbringen kann. Die Indices 230 arbeiten somit mit den Warteschlangen 231 bis 234 zusammen, um Nachrichten zwischen der Mittelzugriffssteuerung 5 und der Schnittstellensteuerung 6 hin und her zu leiten.
- Es wird insbesondere auf Fig. 6 Bezug genommen. Der Statusbereich 200 enthält auch einen Satz von Stationsadressen 235. Diese Adressen enthalten die Adresse 235a der Station selbst, die Adresse 235b der Vorgängerstation am logischen Ring und die Adresse 235c der Nachfolgerstation am Ring. Eine "Neuer Nachfolge"-Adresse 235d wird ebenfalls während Übergängen verwendet, bei denen die Nachfolgeradresse geändert wird, um eine neue Station aufzunehmen oder eine Station heraus zunehmen.
- Ein Satz von vier Zeitgeberwerte 236a bis d wird ebenfalls im Statusbereich 200 gespeichert. Wie unten im einzelnen beschrieben wird, werden diese Zeitgeberwerte verwendet, um festzulegen, wie lange die Station das Token behalten kann und ob sie eine Nachricht niedriger Priorität aussenden kann oder nicht.
- Im Statusbereich 200 ist ebenfalls eine Anzahl von Datenstrukturen gespeichert, die kollektiv als Steuerdaten 237a bis i bezeichnet sind. Generell speichert das Steuerdatum 237 Information, die den Zustand der Mittelzugriffssteuerung 5 betrifft, wenn diese ihre verschiedenartigen Funktionen bezüglich des Empfangs und des Aussendens von Nachrichten ausübt.
- Letztlich enthält der Statusbereich 200 einen Satz von Schnittstellendaten, die kollektiv mit 238a bis g bezeichnet sind. Diese Information wird eingeschrieben durch die Mittelzugriffssteuerung 5, und zwar immer dann, wenn sie eine Nachricht aussendet oder empfängt. Die Mittelzugriffssteuerung 5 erzeugt dann eine Unterbrechungsanforderung an der Steuerleitung 71 (Fig. 2 und 3), und als Antwort darauf führt die Schnittstellensteuerung 6 eine Unterbrechungsserviceroutine aus. Wie es unten im einzelnen beschrieben wird, liest die Schnittstellensteuerung 6 die Schnittstellendaten 238, um den Grund für die Unterbrechung zu bestimmen und dementsprechend zu handeln.
- Wie oben angegeben, führt der Mikroprozessor 20 in der Mittelzugriffssteuerung 5 ein im ROM 23 (Fig. 2) gespeichertes Programm aus, um die "Link Layer" oder Verbindungsschicht- Kommunikationsfunktionen (Sicherungskommunikationsfunktionen) vorzunehmen. Diese Software steuert das Aussenden von Nachrichten auf das Netzwerk, um sicherzustellen, daß zu einer Zeit lediglich eine Station sendet und daß alle Stationen einen fairen Zugriff zum Netzwerk haben. Diese Software überprüft auch die Genauigkeit von Nachrichten, die empfangen werden, und sie stellt sicher, daß Nachrichten nicht verlorengehen, dupliziert werden oder außerhalb der Sequenz geraten. Diese Software ist eine Einwegzustandsmaschinenroutine ohne Unterbrechungen.
- Es wird insbesondere auf Fig. 8 Bezug genommen. Die Operation der Mittelzugriffssteuerung 5 ist in einem Flußdiagramm generell veranschaulicht. Während des Einschaltens bzw. Hochfahrens der Station wird eine Anzahl diagnostischer Funktionen ausgeführt, wie es durch einen Prozeßblock 300 dargestellt ist. Diese umfassen das Überprüfen der Integrität der Datenstrukturen im RAN 60 und die Operation der Schnittstellensteuerung 6. Die Station tritt dann in eine Schleife ein, in der sie auf Nachrichten hört, die an sie gerichtet sind. Wie es durch einen Prozeßblock 301 angezeigt ist, werden die von anderen Stationen ausgesendeten Nachrichten empfangen und dahingehend analysiert, ob sie an diese Station gerichtet sind. Falls nicht, bleibt die Station im Horch- oder Abhörzustand. Wird allerdings eine Nachricht empfangen, wird sie in der Empfangswarteschlange des RAN 60 in der in Fig. 7 dargestellten Form aufbewahrt. Ist die empfangene Nachricht kein Mastertoken, was in einem Entscheidungsblock 302 untersucht wird, kehrt das System in einer Schleife zurück zum Abhören von weiteren Nachrichten, nachdem eine geeignete Antwortnachricht ausgesendet worden ist, wie es in einem Prozeßblock 303 angezeigt ist. Die detaillierte Operation der Horch- oder Abhörfunktion wird unten näher beschrieben.
- Wird das Token empfangen, wird bei einem Entscheidungsblock 311 eine Überprüfung dahingehend vorgenommen, ob die Station aus dem Netzwerk austreten will. Dies wird angezeigt durch das Stationszustandsbyte 237e im Dual-Port-RAN 60 (Fig. 6), das von der Schnittstellensteuerung 6 gesetzt wird. Wie mit weiteren Einzelheiten unten beschrieben, sendet die Station, wenn sie austreten will, eine Verabschiedungsnachricht (Typ 4) an die Vorgängerstation, wie es in einem Prozeßblock 312 angegeben ist. Nach Empfang einer geeigneten Antwort, wird dann das Token übergeben, wie es ein Prozeßblock 307 zeigt.
- Wenn das Token empfangen wird und die Station im Netzwerk bleiben soll, kann sie eine Prioritätsnachricht aussenden, wenn eine in der Warteschlange im RAN 60 vorhanden ist. Dies wird ausgeführt durch Befehle, die durch einen Prozeßblock 303 dargestellt sind. Nach der Aussendung einer Nachricht wird bei einem Entscheidungsblock 304 eine Überprüfung dahingehend ausgeführt, ob weitere Nachrichten zum Aussenden verfügbar sind und ob das Token hinreichend lang gehalten werden kann, um eine auszusenden. Falls dies zutrifft, kehrt das System in einer Schleife zurück, um die Nachricht auszusenden und auf die geeignete Antwort zu warten. Andernfalls muß das Token übergeben werden.
- Vor der Weitergabe oder Übergabe des Token wird allerdings bei einem Entscheidungsblock 305 eine Überprüfung eines Aufruf-Gehört-Kennzeichens dahingehend durchgeführt, ob die Station eine Aufrufnachricht aussenden soll. Trifft dies zu, wird die Nachricht ausgesendet, wie es durch einen Prozeßblock 306 dargestellt ist, und zwar vor der Übergabe des Token gemäß dem Prozeßblock 307. Das Aussenden der Nachrichten und das Suchen nach neuen Nachfolgern wird unten im einzelnen beschrieben.
- Wird das Token beim Prozeßblock 307 übergeben, horcht die Station auf eine Annahme durch die Nachfolgerstation. Erfolgt keine Annahme, wie es in einem Entscheidungsblock 308 angezeigt ist, wird bei einem Prozeßblock 309 ein Wiedererlangungsvorgang ausgeführt, um eine Nachfolgerstation zu finden. Ist eine gefunden, wie es ein Entscheidungsblock 310 überprüft, geht das System in einer Schleife zurück, um das Token an die neue Nachfolgerstation zu übergeben. Andernfalls wird ein Störungszustand unterstellt, und das System kehrt zurück zum Prozeßblock 300, um Selbstdiagnostik vorzunehmen. In jedem Falle tritt das System wieder in den Horch- oder Abhörzustand ein, um den Empfang weiterer Nachrichten zu erwarten.
- Es wird jetzt besonders auf Fig. 11a Bezug genommen. Wenn die Station auf Nachrichten hört (Prozeßblock 301 in Fig. 8), wird als erstes bei einem Prozeßblock 320 ein Netz-Tot-Zeitgeber gesetzt. Bei einem Entscheidungsblock 321 wird dann in eine Schleife eingetreten, bei der die PCC 40 (Fig. 2) überprüft wird, um festzustellen, ob ein Trägersignal am Netzwerk vorhanden ist. Trifft dies nicht zu, wird der Netz-Tot-Zeitgeber bei einem Prozeßblock 322 dekrementiert und bei einem Entscheidungsblock 323 überprüft. Diese Schleife wird beibehalten, bis eine Nachricht empfangen wird oder bis der Netz- Tot-Zeitgeber abgelaufen ist. Im zuletztgenannten Fall beansprucht die Station das Token bei einem Prozeßblock 324, und es erfolgt ein Ausgang bei 325.
- Wird beim Entscheidungsblock 321 ein Trägersignal erfaßt, wird bei Entscheidungsblöcken 326 und 327 die PCC 40 überprüft, um festzustellen, ob eine Nachricht gerade empfangen wird und ob sie an diese Station adressiert ist. Ist sie an eine andere Station adressiert, wird das Steuerbyte in der Nachricht bei einem Entscheidungsblock 328 dahingehend überprüft, ob es sich um eine Aufrufnachricht handelt. Falls nicht, kehrt das System in der Schleife zurück, um auf eine andere Nachricht zu warten. Andernfalls, wird das Aufruf- Gehört-Kennzeichen bei einem Prozeßblock 329 gesetzt. Wie oben ausgeführt, wird das Aufruf-Gehört-Kennzeichen verwendet, um zu ermitteln, wann die Station das Aufruftoken hat und eine Aufrufnachricht auszusenden hat, bevor das Mastertoken über- bzw. weitergegeben wird.
- Es wird immer noch auf Fig. 11a Bezug genommen. Wenn eine Nachricht an die Station adressiert ist, wie es vom Entscheidungsblock 327 ermittelt wird, wird bei einem Prozeßblock 330 ihr Steuerbyte überprüft, um den Nachrichtentyp festzustellen. Dies wird dadurch ausgeführt, daß das Steuerbyte als ein Index in eine gespeicherte Sprungtabelle verwendet wird, die die Startadresse der Programmbefehle enthält, welche zum Verarbeiten der Nachricht erforderlich sind. Das Steuerbyte in einer Mastertokennachricht produziert beispielsweise einen Sprung zum Ausgang 325, wodurch die Station befähigt wird, wie es in Fig. 8 gezeigt ist, Nachrichten an das Netzwerk auszusenden. Wie es im einzelnen unten beschrieben wird, verursacht eine Aufrufnachricht einen Sprung zu einem Prozeßblock 331 und eine Verabschiedungsnachricht einen Sprung zu einem Prozeßblock 332. Obgleich alle anderen Nachrichtentypen separat in einer ähnlichen Weise verarbeitet werden, sind ihre Verarbeiter kollektiv durch einen Prozeßblock 333 in Fig. 11a dargestellt.
- Das Paketdatum in solchen Nachrichten wird in der Empfangswarteschlange 230b oder 230d im RAN 60 gespeichert, und eine der Nachricht-Empfangen-Kennzeichen 238a, b, d oder f wird gesetzt (Fig. 6), wie es durch einen Prozeßblock 334 dargestellt ist. Wie oben beschrieben, signalisiert dieses Kennzeichen der Schnittstellensteuerung 6, daß eine Nachricht empfangen worden ist und auf Verarbeitung wartet. Wie durch einen Entscheidungsblock 335 dargestellt, kehrt dann die Mittelzugriffssteuerung s in einer Schleife zurück, um den Empfang einer anderen Nachricht zu erwarten, es sei denn, daß zuerst eine Antwortnachricht ausgesendet werden muß, wie es durch einen Prozeßblock 336 gezeigt ist. Die Antwortnachricht kann lediglich eine Bestätigung sein, aber sie kann auch ein Datum bzw. Daten enthalten, und zwar in Abhängigkeit vom Typ der empfangenen Nachricht. Ein RDR-Nachrichtentyp erfordert beispielsweise das Aussenden eines Datums in der Antwort.
- Die Verarbeitung der Aufruf- und Verabschiedungsnachrichten wird jetzt im einzelnen unter Bezugnahme auf Fig. 11b und 11c beschrieben. Es sei allerdings bemerkt, daß nach der Verarbeitung dieser Nachrichten das System im Horch- oder Abhörmodus bleibt und in der Schleife zurückkehrt zum Prozeßblock 320 nach Fig. 11a.
- Es wird jetzt insbesondere auf Fig. 11b Bezug genommen. Wenn die Aufrufnachricht von der Station empfangen wird, hebt die Mittelzugriffssteuerung 5 sowohl die Quellenadresse der Nachricht als auch das in der Nachricht enthaltene Nachfolgerbyte auf, wie es in einem Prozeßblock 340 angegeben ist. Das Stationszustandskennzeichen 237e (Fig. 6) wird dann bei einem Entscheidungsblock 341 überprüft, um festzustellen, ob diese Station den Eintritt in den Ring sucht. Trifft dies zu, wird in der Antwortnachricht ein Nachfolgerbyte auf das Byte gesetzt, das in der empfangenen Aufrufnachricht enthalten war, wie es in einem Prozeßblock 342 angezeigt ist. Die in der empfangenen Aufrufnachricht enthaltene Nachfolgerstationsnummer wird somit an die Sendestation zurückgegeben, wenn die angesprochene Station in den logischen Ring einzutreten wünscht. Darüber hinaus wird die Nachfolgerstationsnummer im RAN 60 auf den Wert der empfangenen Nachfolgerstationsnummer gesetzt. Andernfalls wird die gegenwärtige Nachfolgerstation, die im RAN 60 gespeichert ist, an den Sender der Aufrufnachricht zurückgesandt, wie es ein Prozeßblock 343 zeigt. In beiden Fällen wird das Bestimmungsbyte der Antwortnachricht auf den Sender der Aufrufnachricht gesetzt, wie es in einem Prozeßblock 344 gezeigt ist, und die Antwort wird bei einem Prozeßblock 345 als eine Nachfolgersetzennachricht ausgesendet, die auch Nachfolgereintrittnachricht genannt ist. Bei einem Prozeßblock 346 wird dann das Aufruf- Gehört- Kennzeichen gesetzt, und das System gelangt zum Ausgang und kehrt zurück, um auf den Empfang von weiteren Nachrichten zu warten.
- Es wird jetzt insbesondere auf Fig. 11c Bezug genommen. Wird eine Verabschiedungsnachricht empfangen, werden sowohl das Quellenbyte und das Nachfolgerbyte, die in der Nachricht enthalten sind, aufbewahrt, wie es ein Prozeßblock 350 zeigt. Die Nachfolgerstationsadresse 235c (Fig. 6) wird dann auf den neuen Nachfolgerwert gesetzt, wie es bei einem Prozeßblock 351 gezeigt ist, und eine Bestätigungsnachricht wird zurück zum Sender ausgesendet, wie es ein Prozeßblock 352 zeigt. Wenn dann die gegenwärtige Station nächst in Besitz des Mastertoken gelangt, wird sie das Token an die neue Nachfolgerstation anstatt an die Station übergeben, die die Verabschiedungsnachricht aus gesendet hat.
- Als nächstes soll insbesondere auf Fig. 8 und 12a Bezug genommen werden. Gelangt die Station in den Besitz des Mastertoken, kann sie selbst Nachrichten erzeugen. Wie es in einem Prozeßblock 360 dargestellt ist, werden sowohl die Quelle des Token als auch die "Überschußzeit"-Bytes aufbewahrt. Bei einem Entscheidungsblock 311 wird dann überprüft, ob eine Verabschiedung aus dem Ring erfolgen soll. Trifft dies zu, wird bei einem Prozeßblock 361 eine Verabschiedungsnachricht gebildet. Diese Nachricht informiert die Station, die das Mastertoken ausgesendet hat (d. h. die Vorgängerstation), daß die gegenwärtige Station aus dem Ring auszutreten wünscht. Der Nachfolger dieser Station wird in der Nachricht ausgesendet, und wie oben beschrieben, wird dies vom Vorgänger benutzt, um seinen eigenen Nachfolger zu setzen. Die Nachricht wird ausgesendet bei einem Prozeßblock 362, und es wird dann eine Bestätigungsnachricht erwartet. Falls eine geeignete Bestätigung nicht empfangen wird, was bei einem Entscheidungsblock 363 untersucht wird, geht die Routine zum Ausgang, um das Mastertoken zur nächsten Station im Ring zu übergeben. Andernfalls wird der Zustand der gegenwärtigen Station bei 364 geändert, bevor das Token übergeben wird. Diese Zustandsänderung wird dadurch vorgenommen, daß das Stationszustandsbyte 237e im RAN 60 geändert wird.
- Es wird insbesondere auf Fig. 12a Bezug genommen. Falls eine Verabschiedungsnachricht nicht angezeigt wird, können andere Nachrichten von der Station ausgesendet werden, solange sie im Besitz des Mastertoken ist. Aber zunächst werden, wie es in einem Prozeßblock 365 gezeigt ist, die Überschußzeit und Reservezeit dadurch aktualisiert, daß voreingestellte Beträge ihnen wie folgt hinzugefügt werden:
- Überschuß = Überschuß + Haltezeitinkrement
- Reserve = Reserve + Haltezeitinkrement
- Eine Prioritätszeit wird auch voreingestellt auf das Haltezeitinkrement, wo:
- Haltezeitinkrement = 1,1 (maximale Zeit, die benötigt wird, um eine Nachricht hoher Priorität auszusenden).
- Falls es irgendwelche auf Aussendung wartende Nachrichten hoher Priorität gibt, zweigt das System bei einem Entscheidungsblock 366 ab, und die Nachricht wird ausgesendet, wie es von einem Prozeßblock 367 angegeben wird. Die Überschuß- und Reservezeiten werden dann durch die tatsächliche Zeit, die zum Aussenden der Nachricht benötigt worden ist, dekrementiert, wie es ein Prozeßblock 368 zeigt. Ferner wird die Prioritätszeit gegenüber ihrem Anfangswert dekrementiert. Das System geht dann zu einem Prozeßblock 369 über, der die nächste Funktion festlegt, die auszuführen ist. Wie im einzelnen unten erläutert, bestimmen die Befehle im Block 369, ob irgendwelche Nachrichten hoher oder niedriger Priorität auf das Aussenden warten und ob zum Aussenden dieser Nachrichten noch hinreichend viel Zeit zur Verfügung steht. In Abhängigkeit vom Ergebnis dieser Prüfung führt das System einen Sprung aus, um die nächste Funktion vorzunehmen, wie es bei einem Prozeßblock 370 gezeigt ist. Solche Funktionen enthalten: Aussenden einer weiteren Nachricht hoher Priorität bei einem Prozeßblock 367, Aussenden einer Nachricht niedriger Priorität bei einem Prozeßblock 371, Austritt oder Ausgang aus der Routine bei 372, um das Mastertoken zu übergeben. Falls dann beim Prozeßblock 371 eine Nachricht niedriger Priorität auszusenden ist, werden bei einem Prozeßblock 373 die Überschuß- und Reservezeiten um das Zeitausmaß dekrementiert, das tatsächlich erforderlich ist, um die Nachricht niedriger Priorität auszusenden. Das System kehrt dann in einer Schleife zurück zum Prozeßblock 369, um zu bestimmen, welche Funktion als nächste auszuführen ist.
- Jede Mittelzugriffssteuerung 5 kontrolliert die Zeit, während der sie das Mastertoken hält, und zwar derart, daß sie eine Tokenumlaufzeit beobachtet, die kleiner oder gleich einem für das System definierten Maximum ist. Eine solche deterministische Maximumzeit ist für die Steuerung von Echtzeitvorrichtungen bei einer industriellen Anwendung erforderlich. Diese Maximumzeit ist eine lineare Funktion der Anzahl von Stationen im Ring.
- Hochprioritätsverkehr wird garantiert bis zu 90% der verfügbaren Netzwerkbandbreite und wird den gesamten Niedrigprioritätsverkehr bis zu dieser Grenze übertreffen. Der Niedrigprioritätsverkehr erhält 10% der verfügbaren Bandbreite und kann bis zu 100% einnehmen, falls ein Hochprioritätsverkehr nicht vorhanden ist.
- Zum Erreichen dieser Ziele ist die Tokenhalte- oder Tokenbesitzzeit jeder Station derart begrenzt, daß das Token rund um den Ring gemäß einem Plan rotiert. Der Plan gründet sich auf der Zeit, die jede Station benötigt, um eine Nachricht hoher Priorität maximaler Länge auf das Netzwerk auszusenden, plus 10% dieser Zeit. Wenn keine Nachrichten niedriger Priorität ausgesendet werden, läuft das Mastertoken um den Ring schneller herum, als es der Plan fordert, selbst wenn jede Station eine Hochprioritätsnachricht aussendet. Die Überschußzeitvariable, die von jedem Mastertoken getragen wird, sieht eine Anzeige darüber vor, wie weit das Token zu irgendeinem Zeitpunkt vor dem Plan ist. Die Überschußzeit ist begrenzt auf einen Maximumwert, der gleich der Zeit ist, die man zum Aussenden einer Nachricht niedriger Priorität maximaler Länge benötigt.
- Die Überschußzeit muß akkumuliert werden, bevor von irgendeiner Station eine Nachricht niedriger Priorität ausgesendet werden kann. Um zu verhindern, daß eine einzige Station stets diese Überschußzeit aufbraucht, und um eine faire Verteilung der Überschußzeit sicherzustellen, führt jede Station Buch über ihren eigenen Beitrag zur Überschußzeit. Dies ist die Reservezeit, die im RAN 60 gespeichert ist. Erst dann, wenn eine Station eine Reservezeit akkumuliert hat, die größer als die Zeit ist, die zum Aussenden einer Nachricht niedriger Priorität benötigt wird, darf sie diese Nachricht aussenden.
- Es wird besonders auf Fig. 12b Bezug genommen. Die Sendewarteschlangen und die Werte der verschiedenen Zeitgeber werden überprüft, um festzustellen, ob weitere Nachrichten hoher Priorität oder niedriger Priorität auszusenden sind. Insbesondere wird bei einem Entscheidungsblock 375 der Index 230a in der Hochprioritätswarteschlange 231 überprüft, um festzustellen, ob eine Nachricht auszusenden ist. Trifft dies zu, wird die zum Aussenden der Nachricht benötigte Zeit bei einem Prozeßblock 376 geschätzt. Diese Schätzung beruht auf dem Typ und dem Ausmaß der Nachricht. Wie bei einem Prozeßblock 377 angezeigt, wird die geschätzte Zeit verglichen mit der Prioritätszeit, die im RAN 60 aufbewahrt ist. Steht hinreichend Prioritätszeit zur Verfügung, zweigt das System zu einem Prozeßblock 378 ab, der einen indirekten Sprung zu dem Prozeßblock 367 (Fig. 12a) vorsieht. Eine weitere Hochprioritätsnachricht wird somit anschließend ausgesendet.
- Wartet eine Niedrigprioritätsnachricht auf Aussendung, zweigt das System bei einem Entscheidungsblock 379 ab. Bei einem Prozeßblock 380 wird die Zeit geschätzt, die zum Aussenden der Nachricht benötigt wird, und dann wird eine Feststellung bei einem Entscheidungsblock 361 vorgenommen, ob noch hinreichend Zeit zur Verfügung steht. Die Niedrigprioritätsnachricht wird ausgesendet, wenn die geschätzte Zeit kleiner oder gleich der Überschußzeit und kleiner oder gleich der Reservezeit ist. Trifft dies zu, wird bei einem Prozeßblock 382 ein indirekter Sprung zum Prozeßblock 371 (Fig. 12a) vorgenommen.
- Sind keine Nachrichten auszusenden oder ist dafür die Zeit unzureichend, wird bei einem Entscheidungsblock 383 das Aufruf-Gehört-Kennzeichen überprüft. Ist dieses Kennzeichen seit dem Zeitpunkt, zu dem die Station das Mastertoken zuletzt innehatte, nicht gesetzt worden, wird dadurch angezeigt, daß es Sache der Station ist, einen Nachfolger aufzurufen. Bei einem Prozeßblock 384 erfolgt daher ein indirekter Sprung zum Aussenden einer Aufrufnachricht, wie es unten im einzelnen beschrieben wird. Ist die Station nicht im Besitz des Aufruftoken geht das System unmittelbar dazu über, wie es in einem Prozeßblock 385 gezeigt ist, das Mastertoken zu übergeben.
- Es wird besonders auf Fig. 8 und 13 Bezug genommen. Hat die Station das Aussenden von Nachrichten vollendet, wird das Mastertoken ihrem Nachfolger übergeben. Jedoch wird zuerst, wie es ein Entscheidungsblock 305 zeigt, das Nachrichten- Gehört-Kennzeichen überprüft, um festzustellen, ob die Station das virtuelle Aufruftoken hat. Ist dieses Kennzeichen nicht gesetzt worden, zweigt das System zu einem Prozeßblock 390 ab, um eine Aufrufnachfolgernachricht auszusenden. Diese Nachricht enthält eine Bestimmungsstationsnummer, die sich erstreckt zwischen derjenigen der gegenwärtigen Station und derjenigen des derzeitigen Nachfolgers der gegenwärtigen Station. Diese Nachricht enthält auch den derzeitigen Nachfolger der gegenwärtigen Station, und die Stationsnummer der gegenwärtigen Station ist als Quelle angezeigt in dieser Nachricht. Die Station behält das virtuelle Aufruftoken so lange, bis sie alle Stationsnummern zwischen ihrer eigenen und derjenigen des derzeitigen Nachfolgers abgetastet hat. Bei jedem Umlauf des Mastertoken rund um den Ring zurück zu dieser Station wird nur eine einzige Aufrufnachfolgernachricht ausgesendet.
- Wenn, wie bei einem Prozeßblock 391 gezeigt, eine Nachfolgersetzennachricht (Nachfolgereintrittnachricht) aufgrund des Aussendens der Aufrufnachfolgernachricht zurück erhalten wird, wird die Nachfolgerstationsadresse 235c im RAN 60 (Fig. 6) gesetzt, wie es ein Prozeßblock 392 zeigt. Der Zähler, neue Nachfolgerstation 235d, der zum Erzeugen der Bestimmungsadresse in der Aufrufnachfolgernachricht verwendet wird, wird dann bei einem Prozeßblock 393 zurückgesetzt. Das Rücksetzen erfolgt auf einen Wert, der um Eins größer als die Stationsnummer der derzeitigen Station ist. Das Aufruf-Gehört-Kennzeichen wird dann bei einem Prozeßblock 394 zurückgesetzt, um das virtuelle Aufruftoken an die nächste Station im Ring effektiv zu übergeben.
- Erfolgt keine Antwort aufgrund der Aufrufnachfolgernachricht, geht das System zu einem Entscheidungsblock 391 über. Der Neue-Nachfolger- Station- Zähler wird dann bei einem Prozeßblock 395 derart inkrementiert, daß beim nächsten Besitz des Mastertoken die nächst höhere Stationsnummer auf gerufen wird. Wenn jedoch, wie bei einem Entscheidungsblock 396 gezeigt, der Zähler die Stationsnummer des derzeitigen Nachfolgers erreicht, ist die Abtastung vollendet und ein neuer Nachfolger wurde nicht gefunden. Ist dies der Fall, zweigt das System zum Prozeßblock 393 ab, um die nächste Abtastung vorzubereiten und das virtuelle Aufruftoken zu übergeben. Andernfalls tritt das System in eine Schleife ein, um das Mastertoken zu übergeben und dann auf dessen Rückkehr zu warten, so daß eine weitere Stationsnummer aufgerufen werden kann.
- Es wird immer noch auf Fig. 13 Bezug genommen. Bevor das Mastertoken an die Nachfolgerstation übergeben wird, werden die Reserve- und Überschußzeit aktualisiert, um darin irgendeine zusätzliche Tokenhaltezeit zu berücksichtigen. Dies wird bei einem Prozeßblock 400 erreicht und, wie oben erläutert, die Reservezeit wird im RAN 60 gespeichert und die Überschußzeit wird mit dem Mastertoken ausgesandt. Die Tokennachricht wird bei einem Prozeßblock 401 mit dieser Überschußzeit mit dem folgenden gebildet:
- Quelle = Diese Station
- Bestimmung = Nachfolgerstation
- Diese Tokennachricht wird aus gesendet und die Mittelzugriffssteuerung 5 hört dann auf Aktivitäten am Netzwerk, die anzeigen, daß die Übergabe des Token erfolgreich war. Ist dies innerhalb eines voreingestellten Zeitabschnitts nicht der Fall, zweigt das System zu einem Entscheidungsblock 402 ab. Falls dies der erste Versuch zur Übergabe des Mastertoken war, wie es von einem Entscheidungsblock 403 bestimmt wird, kehrt das System zum Entscheidungsblock 400 zurück, um einen neuen Versuch auszuführen. Andernfalls wird ein Token-Verloren- Prozeß ausgeführt, wie es bei einem Prozeßblock 404 gezeigt ist. Dieser Prozeß umfaßt das Aussenden einer "Wer folgt"- Nachricht und eine resultierende Nachfolgersetzennachricht, die der gegenwärtigen Station ihren neuen Nachfolger anzeigt. Ist dies erfolgreich, wie es von einem Entscheidungsblock 310 bestimmt wird, tritt das System in eine Schleife ein, um das Mastertoken der neuen Nachfolgerstation zu übergeben. Andernfalls nimmt die Routine bei 405 ihren Austritt oder Ausgang zum Diagnostikprozeßblock 300 (Fig. 8).
- Das Kommunikationsnetzwerk der Erfindung ist besonders zur Übergabe von Information zwischen Echtzeitsteuersystemen geeignet, die man im industriellen Bereich findet. Stationen mit ihren zugeordneten Steuerungen werden reibungslos hinzugefügt oder aus dem Kommunikationsring herausgenommen. Obgleich zwei Klassen von Nachrichten auf das Netzwerk ausgesendet werden können, ist es keineswegs so, daß die im allgemeinen für Echtzeitsteuerinformation benutzten Hochprioritätsnachrichten die Niedrigprioritätsnachrichten vollkommen abwürgen, die im allgemeinen für Managementinformation herangezogen werden.
- Komponente Beschreibung
- Mikroprozessor 20 68008-Mikroprozessor hergestellt von Motorola.
- Decodierschaltung 25 20L8A PAL hergestellt von Monolithic Memories, Inc.
- Protokollkommunikationssteuerung 40 R68560 Multiprotokollkommunikationssteuerung hergestellt von Rockwell International Corp.
- Manchester-Codierer/Decodierer 46 HD-6409 Manchester-Codierer/Decodierer hergestellt von Harris Corp.
- Empfangs- und Sendemodems 47 und 45 NE5080 und NE5081 Hochgeschwindigkeits-FSK-Modem hergestellt von Signatics Inc.
- Ausgangslatch 70 Zwei adressierbare 74LS259 Latches hergestellt von Texas Instruments, Inc.
- Eingabepuffer 75 Zwei 74ALS465 Octalpuffer herstellt von Texas Instruments, Inc.
- RAN 60 6264 Direktzugriffsspeicher (8Kx8) hergestellt von Intel.
- ROM 23 27128 UVPROM hergestellt von Intel Inc.
- Verzögerung 44 PAL16R6 programmierbare Arraylogik hergestellt von Monolithic Memories, Inc.
- Adreßgatter 62 Zwei 74ALS541 Octalpuffer hergestellt von Texas Instruments,
- Adreßgatter 65 Zwei 74LS244 Octalpuffer hergestellt von Texas Instruments.
- Datengatter 61 und 64 Zwei 74ALS245 Octalbussenderempfänger hergestellt von Texas Instruments.
- Mikroprozessor 80 68000 Mikroprozessor hergestellt von Motorola
- Zeitgeber/Prioritätscodierer 95 Periphere 68901 Schnittstelle hergestellt von Motorola.
- DUART 85 68681 Dual-Universal-Asynchron- Empfänger/Sender hergestellt von Motorola
- 3-auf-8-Decodierer 91 RAN 105 Sechzehn dynamische 6664 RAN (64K·1) hergestellt von Intel.
- ROM 81 Acht 27256 PROMs (32K·8) hergestellt von Intel.
- Ausgangslatch 110 Zwei adressierbare 8-Bit-Latches SN74LS259 hergestellt von Texas instruments.
- Eingabegatter 107, 108, 120 Octalpuffer und Leitungstreiber SN74ALS541 hergestellt von Texas instruments.
- Ausgangslatch 111 Octal-D-Latch SN74LS373 hergestellt von Intel.
- Flipflops 150 bis 153, 169, 171 Flankengetriggertes D-Flipflop SN74ALS74 hergestellt von Texas Instruments.
Claims (6)
1. Verfahren zur Kommunikation über ein Netz, das aus
einer Vielzahl von Stationen gebildet ist, die über ein
Kommunikationsmittel miteinander verbunden sind, enthaltend
die Schritte:
(a) ein Mastertoken wird zu jeder einer Vielzahl der
Stationen in einer vorbestimmten Reihenfolge weitergegeben;
und
(b) jede Station wird befähigt, eine Nachricht auf
das Netz auszusenden, wenn sie im Besitz des Mastertoken
ist:
gekennzeichnet durch die weiteren Schritte:
(c) ein Aufruftoken wird an jede der Vielzahl der
Stationen in einer vorbestimmten Reihenfolge
aufeinanderfolgend weitergegeben;
(d) jede Station wird befähigt, eine Aufrufnachricht
auf das Netz auszusenden, wenn sie im Besitz sowohl des
Aufruftoken als auch des Mastertoken ist, wobei die
Aufrufnachricht an eine Empfängerstation gerichtet wird, die mit
dem Kommunikationsmittel verbunden ist, aber nicht zu der
Vielzahl von Stationen gehört, die das Mastertoken
empfangen; und
(e) jede Empfängerstation, die eine Aufrufnachricht
empfängt, wird befähigt, eine der Vielzahl von Stationen
zu werden, die das Mastertoken und das Aufruftoken empfangen.
2. Verfahren nach Anspruch 1, bei dem jede Empfängerstation,
die die Aufrufnachricht empfängt, eine der Vielzahl von
Stationen, die das Mastertoken empfangen, dadurch wird:
daß sie eine Nachfolgereintrittnachricht zurück zu der
Station sendet, die der Empfängerstation die Aufrufnachricht
gesandt hat, wobei die Nachfolgereintrittnachricht angibt,
daß das Mastertoken von der Station, die die
Nachfolgereintrittnachricht empfängt, an die Empfängerstation
weiterzugeben ist.
3. Verfahren nach Anspruch 2, bei dem jede Station eine
Nachfolgerstationsnummer speichert, die die Station angibt,
an die das Mastertoken weiterzugeben ist, bei dem die
Aufrufnachricht die Nachfolgerstationsnummer enthält, die
bei der Station, welche die Aufrufnachricht erzeugte,
gespeichert ist, und bei dem jede Station, die die
Aufrufnachricht empfängt, die in der Aufrufnachricht enthaltene
Nachfolgerstationsnummer als ihre eigene
Nachfolgerstationsnummer speichert.
4. Verfahren nach Anspruch 1, bei dem jede Station eine
Stationsnummer und eine Nachfolgerstationsnummer speichert,
die die Station angibt, an welche sie das Mastertoken
weiterzugeben hat, und bei dem jede Station, die das Aufruftoken
hat, eine Aufrufnachricht an jede der Stationen aussendet,
die Stationsnummern zwischen der gespeicherten
Stationsnummer und der gespeicherten Nachfolgerstationsnummer haben.
5. Station für ein Kommunikationsnetz mit einer Vielzahl
solcher Stationen, die über ein Kommunikationsmittel
miteinander verbunden sind, enthaltend:
eine Sendeeinrichtung zum Aussenden einer Nachricht auf
das Netz;
eine Empfangseinrichtung zum Empfangen einer Nachricht
von dem Netz;
eine mit der Empfangseinrichtung verbundene
Detektoreinrichtung zum Bestimmen des Typs einer empfangenen
Nachricht; und
eine Nachfolgerstationsspeichereinrichtung zum Speichern
der Identität einer anderen Station am Netz, zu der die
Station Mastertokennachrichten sendet;
gekennzeichnet durch:
eine mit der Detektoreinrichtung und der
Sendeeinrichtung verbundene Einrichtung zum Bilden und Aussenden einer
Aufrufnachricht, wenn die Station eine Nachricht empfängt,
die anzeigt, daß die Station ein Aufruftoken hat, wobei die
Aufrufnachricht an eine noch andere Station am Netz für den
Zweck gerichtet ist, eine Feststellung dahingehend zu
treffen,
ob die noch andere Station eine
Kommunikationsherstellung auf dem Netz wünscht.
6. Station nach Anspruch 5, die eine mit der
Detektoreinrichtung und der Nachfolgerstationsspeichereinrichtung
verbundene Einrichtung zum Ändern der gespeicherten Identität
der Nachfolgerstation enthält, wenn eine
Nachfolgereintrittnachricht von der noch anderen Station empfangen wird,
an die die Aufrufnachricht ausgesendet wurde.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/771,834 US4667323A (en) | 1985-09-03 | 1985-09-03 | Industrialized token passing network |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3689635D1 DE3689635D1 (de) | 1994-03-24 |
DE3689635T2 true DE3689635T2 (de) | 1994-09-08 |
Family
ID=25093090
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8686111889T Expired - Fee Related DE3675849D1 (de) | 1985-09-03 | 1986-08-28 | Netzwerk mit tokenuebergabe fuer industrielle zwecke. |
DE3689635T Expired - Fee Related DE3689635T2 (de) | 1985-09-03 | 1986-08-28 | Netzwerk mit Tokenübergabe für industrielle Zwecke. |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8686111889T Expired - Fee Related DE3675849D1 (de) | 1985-09-03 | 1986-08-28 | Netzwerk mit tokenuebergabe fuer industrielle zwecke. |
Country Status (5)
Country | Link |
---|---|
US (1) | US4667323A (de) |
EP (2) | EP0213606B1 (de) |
JP (1) | JPH0650858B2 (de) |
CA (1) | CA1265855A (de) |
DE (2) | DE3675849D1 (de) |
Families Citing this family (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS582904A (ja) * | 1981-06-27 | 1983-01-08 | Omron Tateisi Electronics Co | プログラマブル・ロジツク・コントロ−ラ |
GB2180972A (en) * | 1985-09-27 | 1987-04-08 | Philips Electronic Associated | Generating addresses for circuit units |
US4747100A (en) * | 1986-08-11 | 1988-05-24 | Allen-Bradley Company, Inc. | Token passing network utilizing active node table |
EP0260392A3 (de) * | 1986-09-19 | 1992-03-11 | International Business Machines Corporation | Ein-Ausgabeschnittstellensteuerung zum Verbinden eines synchronen Busses mit einem asynchronen Bus und Verfahren zur Operationsausführung auf den Bussen |
US4888726A (en) * | 1987-04-22 | 1989-12-19 | Allen-Bradley Company. Inc. | Distributed processing in a cluster of industrial controls linked by a communications network |
US4949299A (en) * | 1987-12-04 | 1990-08-14 | Allen-Bradley Company, Inc. | Industrial control communication network and method |
US5038681A (en) * | 1988-01-19 | 1991-08-13 | Jimek International Ab | Control method and apparatus for spray dampener |
US5140586A (en) * | 1988-01-26 | 1992-08-18 | E-Systems, Inc. | Token associated data network communications protocol |
US5142623A (en) * | 1988-06-10 | 1992-08-25 | Westinghouse Electric Corp. | High performance memory imaging network for a real time process control system |
US5182798A (en) * | 1988-12-30 | 1993-01-26 | Pitney Bowes Inc. | Multiple material processing system start-up |
US5253252A (en) * | 1989-01-10 | 1993-10-12 | The Foxboro Company | Token device for distributed time scheduling in a data processing system |
CH677568A5 (de) * | 1989-03-21 | 1991-05-31 | Datawatt Bv | |
US5029159A (en) * | 1989-07-18 | 1991-07-02 | International Business Machines Corporation | Method and means for leader choosing on a token ring system |
US5023891A (en) | 1989-07-25 | 1991-06-11 | Sf2 Corporation | Method and circuit for decoding a Manchester code signal |
US5079738A (en) * | 1989-09-29 | 1992-01-07 | Rockwell International Corporation | Processor interconnect network for printing press system forming a star network |
CA2022059C (en) * | 1989-09-29 | 1997-10-07 | Michael T. Danielson | Multiple ink zero calibration for printing presses |
US4964113A (en) * | 1989-10-20 | 1990-10-16 | International Business Machines Corporation | Multi-frame transmission control for token ring networks |
US5012468A (en) * | 1989-12-28 | 1991-04-30 | Allen-Bradley Company, Inc. | Master slave industrial token passing network |
US5097470A (en) * | 1990-02-13 | 1992-03-17 | Total Control Products, Inc. | Diagnostic system for programmable controller with serial data link |
US5119374A (en) * | 1990-05-29 | 1992-06-02 | Advanced Micro Devices, Inc. | Method of and system for implementing multiple levels of asynchronous priority in FDDI networks |
US5043981A (en) * | 1990-05-29 | 1991-08-27 | Advanced Micro Devices, Inc. | Method of and system for transferring multiple priority queues into multiple logical FIFOs using a single physical FIFO |
US5122948A (en) * | 1990-06-28 | 1992-06-16 | Allen-Bradley Company, Inc. | Remote terminal industrial control communication system |
GB2249460B (en) * | 1990-09-19 | 1994-06-29 | Intel Corp | Network providing common access to dissimilar hardware interfaces |
US5245331A (en) * | 1991-02-22 | 1993-09-14 | Allen-Bradley Company, Inc. | Multiple adapter response detection circuit |
US5444705A (en) * | 1991-02-22 | 1995-08-22 | International Business Machines Corp. | Dual priority switching apparatus for simplex networks |
CA2071461C (en) * | 1991-08-30 | 1997-08-19 | Michael R. Rancourt | Method and apparatus for adjusting ink keys of printing press ink fountains |
US5412782A (en) | 1992-07-02 | 1995-05-02 | 3Com Corporation | Programmed I/O ethernet adapter with early interrupts for accelerating data transfer |
US5792157A (en) * | 1992-11-13 | 1998-08-11 | Scimed Life Systems, Inc. | Expandable intravascular occlusion material removal devices and methods of use |
US5836868A (en) * | 1992-11-13 | 1998-11-17 | Scimed Life Systems, Inc. | Expandable intravascular occlusion material removal devices and methods of use |
US5444695A (en) * | 1993-01-11 | 1995-08-22 | Forte Networks, Inc. | Token ring local area network testing apparatus providing station history information |
US5365513A (en) * | 1993-01-11 | 1994-11-15 | John Fluke Mfg. Co. | Token ring local area network testing apparatus for matching its speed to ring speed |
US5425017A (en) * | 1993-01-11 | 1995-06-13 | Forte Networks, Inc | Token ring local area network testing apparatus inserted in an active "T" co |
US5493571A (en) * | 1993-04-28 | 1996-02-20 | Allen-Bradley Company, Inc. | Apparatus and method for digital communications with improved delimiter detection |
US5400331A (en) * | 1993-04-28 | 1995-03-21 | Allen-Bradley Company, Inc. | Communication network interface with screeners for incoming messages |
US5471461A (en) * | 1993-04-28 | 1995-11-28 | Allen-Bradley Company, Inc. | Digital communication network with a moderator station election process |
US5553095A (en) * | 1993-04-28 | 1996-09-03 | Allen-Bradley Company, Inc. | Method and apparatus for exchanging different classes of data during different time intervals |
US5537549A (en) * | 1993-04-28 | 1996-07-16 | Allen-Bradley Company, Inc. | Communication network with time coordinated station activity by time slot and periodic interval number |
US5491531A (en) * | 1993-04-28 | 1996-02-13 | Allen-Bradley Company, Inc. | Media access controller with a shared class message delivery capability |
JPH0774718A (ja) * | 1993-09-02 | 1995-03-17 | Mitsubishi Electric Corp | 時分割通信制御方法 |
US5491792A (en) * | 1994-09-23 | 1996-02-13 | Forney International, Inc. | Sequence of events system using a redundant analog I/O board system |
US5870630A (en) * | 1995-07-31 | 1999-02-09 | Hewlett-Packard Company | System for online SCSI drive repair utilizing detachable secondary I/O buses pigtailed to primary I/O bus wherein each secondary I/O bus has a length in excess of 100mm |
US5881249A (en) * | 1995-07-31 | 1999-03-09 | Hewlett-Packard Company | I/O bus |
US6091764A (en) * | 1997-10-29 | 2000-07-18 | Motorola, Inc. | Method and apparatus for wireless RS232 communication |
US6169744B1 (en) * | 1998-01-07 | 2001-01-02 | 3Com Corporation | Method and protocol for a medium access control layer for local area networks with multiple-priority traffic |
JPH11308253A (ja) * | 1998-04-20 | 1999-11-05 | Honda Motor Co Ltd | ネットワーク・システム |
US6625639B1 (en) * | 1999-10-20 | 2003-09-23 | International Business Machines Corporation | Apparatus and method for processing a task in a clustered computing environment |
US6662247B1 (en) * | 1999-11-30 | 2003-12-09 | Rockwell Automation Technologies, Inc. | Protocol for extended data transfer in scan-based industrial controller I/O system |
US6751213B1 (en) * | 1999-12-24 | 2004-06-15 | Cypress Semiconductor Corporation | Token over ethernet protocol |
US7574495B1 (en) * | 2000-09-13 | 2009-08-11 | Fortinet, Inc. | System and method for managing interworking communications protocols |
US7272643B1 (en) * | 2000-09-13 | 2007-09-18 | Fortinet, Inc. | System and method for managing and provisioning virtual routers |
US7487232B1 (en) | 2000-09-13 | 2009-02-03 | Fortinet, Inc. | Switch management system and method |
US8250357B2 (en) | 2000-09-13 | 2012-08-21 | Fortinet, Inc. | Tunnel interface for securing traffic over a network |
US7389358B1 (en) * | 2000-09-13 | 2008-06-17 | Fortinet, Inc. | Distributed virtual system to support managed, network-based services |
US7444398B1 (en) * | 2000-09-13 | 2008-10-28 | Fortinet, Inc. | System and method for delivering security services |
US7236490B2 (en) | 2000-11-17 | 2007-06-26 | Foundry Networks, Inc. | Backplane interface adapter |
US7356030B2 (en) * | 2000-11-17 | 2008-04-08 | Foundry Networks, Inc. | Network switch cross point |
US7596139B2 (en) | 2000-11-17 | 2009-09-29 | Foundry Networks, Inc. | Backplane interface adapter with error control and redundant fabric |
US7181547B1 (en) | 2001-06-28 | 2007-02-20 | Fortinet, Inc. | Identifying nodes in a ring network |
US7468975B1 (en) | 2002-05-06 | 2008-12-23 | Foundry Networks, Inc. | Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability |
US7187687B1 (en) | 2002-05-06 | 2007-03-06 | Foundry Networks, Inc. | Pipeline method and system for switching packets |
US20090279558A1 (en) * | 2002-05-06 | 2009-11-12 | Ian Edward Davis | Network routing apparatus for enhanced efficiency and monitoring capability |
US20120155466A1 (en) | 2002-05-06 | 2012-06-21 | Ian Edward Davis | Method and apparatus for efficiently processing data packets in a computer network |
US7203192B2 (en) * | 2002-06-04 | 2007-04-10 | Fortinet, Inc. | Network packet steering |
US7177311B1 (en) | 2002-06-04 | 2007-02-13 | Fortinet, Inc. | System and method for routing traffic through a virtual router-based network switch |
US7376125B1 (en) | 2002-06-04 | 2008-05-20 | Fortinet, Inc. | Service processing switch |
US7161904B2 (en) * | 2002-06-04 | 2007-01-09 | Fortinet, Inc. | System and method for hierarchical metering in a virtual router based network switch |
US7116665B2 (en) * | 2002-06-04 | 2006-10-03 | Fortinet, Inc. | Methods and systems for a distributed provider edge |
US7096383B2 (en) * | 2002-08-29 | 2006-08-22 | Cosine Communications, Inc. | System and method for virtual router failover in a network routing system |
US7266120B2 (en) | 2002-11-18 | 2007-09-04 | Fortinet, Inc. | System and method for hardware accelerated packet multicast in a virtual routing system |
US6901072B1 (en) | 2003-05-15 | 2005-05-31 | Foundry Networks, Inc. | System and method for high speed packet transmission implementing dual transmit and receive pipelines |
US7139854B2 (en) * | 2003-06-10 | 2006-11-21 | Texas Instruments Incorporated | Pipelining access to serialization tokens on a bus |
US7720095B2 (en) * | 2003-08-27 | 2010-05-18 | Fortinet, Inc. | Heterogeneous media packet bridging |
US7817659B2 (en) | 2004-03-26 | 2010-10-19 | Foundry Networks, Llc | Method and apparatus for aggregating input data streams |
US8730961B1 (en) | 2004-04-26 | 2014-05-20 | Foundry Networks, Llc | System and method for optimizing router lookup |
KR100631758B1 (ko) * | 2004-05-04 | 2006-10-09 | 삼성전자주식회사 | 멀티 스트리밍 포맷을 지원하는 네트워크 i/f 카드 및그 방법 |
US7499419B2 (en) | 2004-09-24 | 2009-03-03 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
US7657703B1 (en) | 2004-10-29 | 2010-02-02 | Foundry Networks, Inc. | Double density content addressable memory (CAM) lookup scheme |
US7808904B2 (en) | 2004-11-18 | 2010-10-05 | Fortinet, Inc. | Method and apparatus for managing subscriber profiles |
US8448162B2 (en) | 2005-12-28 | 2013-05-21 | Foundry Networks, Llc | Hitless software upgrades |
US7903654B2 (en) | 2006-08-22 | 2011-03-08 | Foundry Networks, Llc | System and method for ECMP load sharing |
US8238255B2 (en) | 2006-11-22 | 2012-08-07 | Foundry Networks, Llc | Recovering from failures without impact on data traffic in a shared bus architecture |
US20090279441A1 (en) | 2007-01-11 | 2009-11-12 | Foundry Networks, Inc. | Techniques for transmitting failure detection protocol packets |
US8037399B2 (en) | 2007-07-18 | 2011-10-11 | Foundry Networks, Llc | Techniques for segmented CRC design in high speed networks |
US8271859B2 (en) * | 2007-07-18 | 2012-09-18 | Foundry Networks Llc | Segmented CRC design in high speed networks |
US8509236B2 (en) | 2007-09-26 | 2013-08-13 | Foundry Networks, Llc | Techniques for selecting paths and/or trunk ports for forwarding traffic flows |
AU2007359820B2 (en) * | 2007-10-03 | 2011-07-07 | Fujitsu Limited | Radio communication device, radio communication control device, radio communication method, radio communication program, radio communication control method, and radio communication control program |
US8090901B2 (en) | 2009-05-14 | 2012-01-03 | Brocade Communications Systems, Inc. | TCAM management approach that minimize movements |
US8599850B2 (en) | 2009-09-21 | 2013-12-03 | Brocade Communications Systems, Inc. | Provisioning single or multistage networks using ethernet service instances (ESIs) |
US8950325B2 (en) | 2010-08-12 | 2015-02-10 | Goss International Corporation | Press inking system with key sharing provision |
KR102195069B1 (ko) * | 2014-08-06 | 2020-12-24 | 삼성전자주식회사 | 패킷 송신기 및 이를 포함하는 인터페이스 장치 |
DK3453143T3 (da) * | 2016-05-02 | 2019-10-07 | Sew Eurodrive Gmbh & Co | Fremgangsmåde til initialisering af et bussystem og bussystem |
US10783026B2 (en) * | 2018-02-15 | 2020-09-22 | Honeywell International Inc. | Apparatus and method for detecting network problems on redundant token bus control network using traffic sensor |
WO2021205640A1 (ja) * | 2020-04-10 | 2021-10-14 | 株式会社Fuji | 通信システムおよび作業装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CH632365A5 (de) * | 1978-01-30 | 1982-09-30 | Patelhold Patentverwertung | Datenaustauschverfahren zwischen mehreren partnern. |
US4228495A (en) | 1978-12-19 | 1980-10-14 | Allen-Bradley Company | Multiprocessor numerical control system |
US4491946A (en) * | 1981-03-09 | 1985-01-01 | Gould Inc. | Multi-station token pass communication system |
US4442504A (en) | 1981-03-09 | 1984-04-10 | Allen-Bradley Company | Modular programmable controller |
JPS583439A (ja) * | 1981-06-30 | 1983-01-10 | Toshiba Corp | デ−タ伝送システム |
IL66800A (en) * | 1981-10-02 | 1985-05-31 | Hughes Aircraft Co | Method of providing access to a multiplexed data bus |
US4593280A (en) * | 1982-03-05 | 1986-06-03 | Burroughs Corporation | Write token regeneration in a timed token ring |
US4404557A (en) * | 1982-03-05 | 1983-09-13 | Burroughs Corporation | Timed token ring with multiple priorities |
US4506360A (en) * | 1982-03-29 | 1985-03-19 | Gould Inc. | Multi-station token pass communication system and method |
DE3268099D1 (en) * | 1982-06-15 | 1986-02-06 | Ibm | Method and apparatus for controlling access to a communication network |
US4590468A (en) * | 1983-03-10 | 1986-05-20 | Western Digital Corporation | Token access controller protocol and architecture |
US4556974A (en) * | 1983-10-07 | 1985-12-03 | Honeywell Inc. | Method for passing a token in a local-area network |
US4566097A (en) * | 1983-12-23 | 1986-01-21 | International Business Machines Corp. | Token ring with secondary transmit opportunities |
US4602365A (en) * | 1984-02-10 | 1986-07-22 | Prime Computer, Inc. | Multi-token, multi-channel single bus network |
-
1985
- 1985-09-03 US US06/771,834 patent/US4667323A/en not_active Expired - Lifetime
-
1986
- 1986-08-28 EP EP86111889A patent/EP0213606B1/de not_active Expired
- 1986-08-28 DE DE8686111889T patent/DE3675849D1/de not_active Expired - Fee Related
- 1986-08-28 EP EP89116918A patent/EP0355861B1/de not_active Expired - Lifetime
- 1986-08-28 DE DE3689635T patent/DE3689635T2/de not_active Expired - Fee Related
- 1986-09-02 JP JP61205266A patent/JPH0650858B2/ja not_active Expired - Fee Related
- 1986-09-02 CA CA000517308A patent/CA1265855A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0213606B1 (de) | 1990-11-28 |
CA1265855A (en) | 1990-02-13 |
DE3675849D1 (de) | 1991-01-10 |
JPS62110341A (ja) | 1987-05-21 |
DE3689635D1 (de) | 1994-03-24 |
EP0213606A2 (de) | 1987-03-11 |
EP0213606A3 (en) | 1988-11-02 |
JPH0650858B2 (ja) | 1994-06-29 |
EP0355861A1 (de) | 1990-02-28 |
EP0355861B1 (de) | 1994-02-09 |
US4667323A (en) | 1987-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3689635T2 (de) | Netzwerk mit Tokenübergabe für industrielle Zwecke. | |
DE3043894C2 (de) | ||
DE3750647T2 (de) | Netz mit Jetonübergabe. | |
DE69027362T2 (de) | Fairnessalgorithmus für Vollduplex-Puffereinfügungsring | |
DE69433858T2 (de) | Methode und Vorrichtung zum Austausch unterschiedlicher Arten von Daten während verschiedener Zeitintervallen | |
DE60002446T2 (de) | Verfahren und vorrichtung zur erweiterung des usb-protokollbereichs | |
DE19581234B4 (de) | Bussteuereinrichtung und Verfahren für eine hierarchische serielle Busanordnung unter Verwendung von Kommunikationspaketen | |
DE69018982T2 (de) | Verfahren zur Wegleitung von Paketen durch begrenzte Flutung. | |
DE3546683C3 (de) | Verfahren zum Betreiben einer Datenverarbeitungsanlage | |
DE3689990T2 (de) | Flexible Datenübertragung für nachrichtenorientierte Protokolle. | |
DE69317481T2 (de) | Ein-/Ausgabesteuerungssystem und Verfahren | |
DE69021186T2 (de) | "Master-Slave" industrielles Netzwerk mit Tokenübergabe. | |
DE2953444C2 (de) | Anordnung und Verfahren für ein digitales Datenübertragungsnetzwerk | |
DE69026331T2 (de) | Station zu Station Vollduplexkommunikation bei Kommunikationsnetzwerken | |
DE69432842T2 (de) | Nachrichtennetz mit zeitkoordinierter Stationsaktivität | |
DE3486426T2 (de) | Schnittstellenvorrichtung zwischen einer Rechnerstation und einem Kommunikationsnetz | |
DE69734260T2 (de) | Zugriffskontrollverfahren in einem Kommunikationssystem | |
DE3882192T2 (de) | Schnittstelleanordnung für die Verbindung zwischen einerseits getrennten Stationen und andererseits einem für den Nachrichtenverkehr zwischen diesen Stationen benutzten physikalischen Mittel. | |
DE3820544C2 (de) | Ortsbereichsnetzsystem mit einem hiermit gekoppelten Mehrcomputersystem und Verfahren zur Steuerung hiervon | |
DE68913230T2 (de) | Lokale Netzwerkverbindungsvorrichtung mit einstellbarer Betriebsart. | |
DE69223482T2 (de) | Integration von synchronen und asynchronen Daten in Ringnetzwerken | |
DE2241573A1 (de) | Digitales datenverarbeitungssystem | |
DE2913288A1 (de) | Multiprozessorsystem | |
DE10249851A1 (de) | Verfahren, Schnittstelleneinheit und Knoten zur parallelen Nutzung eines Kommunikationsnetzwerkes für Echtzeitanwendungen und Nicht-Echtzeitanwendungen | |
DE69326935T2 (de) | Verfahren und Vorrichtung zur Übertragung von einem Datenstrom mit hoher Bitfolgefrequenz über unabhängige digitale Kommunikationskanäle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |