-
Die
Erfindung betrifft ein Verfahren zur permanenten redundanten Übertragung
von Datentelegrammen in Kommunikationssystemen, insbesondere hierarchischen
Ringsystemen. Ferner betrifft die Erfindung ein entsprechendes Kommunikationssystem
und einen Teilnehmer eines solchen Kommunikationssystems.
-
Unter
einem Kommunikationssystem versteht man ein System mit mehreren
Teilnehmern, die mittels Netzwerkverbindungen zum Zweck des gegenseitigen
Austausches von Daten bzw. der gegenseitigen Übertragung von Daten untereinander
verbunden sind. Die zu übertragenden
Daten werden dabei als Datentelegramme verschickt, d.h., die Daten
werden zu einem oder mehreren Paketen zusammengepackt und in dieser Form über die
Netzwerkverbindungen an die entsprechenden Empfänger gesendet. Man spricht
deshalb auch von Datenpaketen. Der Begriff „Übertragung von Daten" wird dabei im weiteren
synonym zur oben erwähnten Übertragung
von Datentelegrammen oder Datenpaketen verwendet.
-
Teilnehmer
eines Kommunikationssystems sind beispielsweise zentrale Automatisierungsgeräte, Programmier-,
Projektierungs- und Bediengeräte,
Peripheriegeräte
wie z.B. Ein-/Ausgabe-Baugruppen, Antriebe, Aktoren, Sensoren, speicherprogrammierbare
Steuerungen (SPS) oder andere Kontrolleinheiten, Computer, oder
Maschinen, die elektronische Daten mit anderen Maschinen austauschen,
insbesondere Daten von anderen Maschinen verarbeiten. Teilnehmer
werden auch Netzwerkknoten oder Knoten genannt.
-
Unter
Kontrolleinheiten werden im Folgenden Regler- oder Steuerungseinheiten
jeglicher Art verstanden, aber auch bei spielsweise Koppelknoten
(so genannte Switches) und/oder Switch Controller. Als Kommunikationssysteme
bzw. Datennetze werden beispielsweise geschaltete Kommunikationssysteme,
wie Switched Ethernet, Industrial Ethernet, insbesondere aber auch
isochrones Realtime Ethernet, verwendet.
-
Kommunikationssysteme
mit Transferraten > 100
MB/s sind üblicherweise
geschaltete Hochleitungsdatennetze und bestehen aus einzelnen Punkt-zu-Punkt-Verbindungen
mit so genannten aktiven Knoten oder Koppelknoten, auch Switches
genannt, die jeweils zwischen die einzelnen Teilnehmer geschaltet
sind. Jeder Koppelknoten weist in der Regel mehrere Ports auf und
kann deshalb je nach Port-Anzahl mit der entsprechenden Anzahl von
Teilnehmern verbunden sein. Ein Switch kann auch selbst Teilnehmer
sein. Diese Koppelknoten oder Switches sind derzeit separate Geräte, die
jedoch verstärkt
direkt in die angeschlossenen Geräte bzw. Teilnehmer integriert
werden. Eine solche, kostengünstige
Integration der Switches bzw. Switchfunktionalität in die einzelnen Teilnehmer
bzw. Automatisierungsgeräte
wird durch die so genannte VLSI-Technologie (Very Large Scale Integration)
möglich.
Dadurch können
bei Kommunikationssystemen wesentlich größere Ausdehnungen bei günstiger
Verkabelung erreicht werden, da immer nur von Teilnehmer zu Teilnehmer
weiterverbunden wird.
-
Bei
solchen Kommunikationssystemen mit sehr vielen Teilnehmern, insbesondere
bei Linienanordnungen, bringt der aktive Knoten bzw. Switch Probleme
mit sich. Fällt
ein Teilnehmer aus, so fällt
die gesamte Linie aus. Das Gleiche gilt beim Einfügen eines
zusätzlichen
Teilnehmers, bei der kurzfristig das Kommunikationssystem aufgetrennt
werden muss. Wünschenswert
wäre das
Schließen
der Linie mit einem redundanten Pfad zu einem Ring. Bei einem Fehler
auf einer Netzwerkverbindung, beispielsweise einer Auftrennung bzw. auch
einem Ausfall eines Teilnehmers, könnte der Datenverkehr alternativ über die
verbleibenden Netzwerkverbindungen abgewickelt werden. Solche redundanten
Pfade führen
aber bei selbstständiger
Zielfindung und/oder bei Broad-/Multicast-Adressierung zu zirkulierenden
Datentelegrammen. Aus diesem Grund wird beim Hochlauf eines Kommunikationssystems
dieses auf mögliche
Zirkularitäten
untersucht und das Kommunikationssystem an einer passenden Stelle
logisch aufgetrennt. Der redundante Pfad wird nur im Stand-by-Modus
verwendet, d.h. bei Störungen
wird im Rahmen einer Neukonfiguration auf die Ersatzpfade umgeschaltet. Der
durch diese Umkonfiguration entstehende Betriebsausfall ist jedoch
für viele
Anwendungen in der Automatisierungstechnik nicht tragbar.
-
Für die Erkennung
von Zirkularitäten
in einem Kommunikationssystem ist ein Verfahren bekannt bzw. wird
von der Norm IEEE 802.1Q vorgeschrieben. Dieses Verfahren wird auch „Spanning
Tree" bzw. „Fast Spanning
Tree"-Verfahren
genannt. Je einfacher die Topologie eines Kommunikationssystems
bzw. je kleiner das Kommunikationssystem ist, umso schneller kann
ein Fehler im Kommunikationssystem erkannt und eine dynamische Umkonfiguration
durchgeführt
werden. Diese Rekonfiguration beinhaltet wiederum eine Überprüfung auf
Zirkularitäten
innerhalb des Kommunikationsnetzes und dauert, abhängig von
der Topologie und Größe, bis
in den zweistelligen Sekundenbereich. Für eine Ringanordnung eines
Kommunikationssystems sind durch spezielle Verfahren Zeiten unter
1 Sekunde möglich.
Solche Zeitdauern sind bisher in den Einsatzbereichen solcher Kommunikationsnetze
akzeptabel.
-
Mit
den derzeitigen Verfahren ist jedoch eine zeitlich völlig stoßfreie bzw.
transparente Umschaltung beim Auftreten von Fehlern nicht möglich. Um
Stoßfreiheit
und Transparenz zu gewährleisten,
müssen
Datentelegramme permanent auf disjunkten Netzwerkpfaden redundant übertragen
werden. Eine solche permanente Nutzung redundanter Netzwerkpfade
ist bei einer vollständigen
Vorabhinterlegung der Wegeinformationen eines Datentelegrammtransfers
in allen jeweils beteiligten Teilnehmern des Kommunikationssystems
möglich. Ein
solches Verfahren ist insbesondere für die isochrone Realtime Ethernet
Kommuni kation aus der
DE 10058524.8 bekannt.
Bei einer Datenkommunikation mit selbstständiger Wegesuche, also einer
adressbasierten Datenkommunikation, ist eine Lösung für einfache Ringtopologien,
insbesondere bei bzw. für
isochrone Realtime Ethernet Kommunikation aus der zum Zeitpunkt
dieser Anmeldung noch nicht veröffentlichten
deutschen Anmeldung
DE 10243384.4 bekannt.
So sind unabdingbare Voraussetzungen für eine permanente redundante Übertragung
auf disjunkten Pfaden u. a., dass zirkulierende Telegramme zuverlässig erkannt
und vernichtet werden können.
Darüber
hinaus sollte die Aufspaltung auf zwei Telegramme an der Verzweigungsstelle
in zwei disjunkte Pfade transparent erfolgen.
-
Eine
solche Lösung
ist für
hierarchische Ringsysteme bzw. Ringtopologien bekannt, bei der zur
redundanten Ankopplung eines Ringes nur zwei Knoten benötigt werden.
Der Nachteil dieser Lösung
ist jedoch, dass die jeweils gemeinsam genutzten Strecken mit der
Last beider Ringe beaufschlagt wird.
-
Der
Erfindung liegt daher die Aufgabe zugrunde, ein verbessertes Verfahren,
ein verbessertes Kommunikationssystem sowie einen verbesserten Teilnehmer
des Kommunikationssystems für
eine permanente redundante Übertragung
von Datentelegrammen insbesondere für hierarchische Ringtopologien
anzugeben.
-
Mit
dem erfindungsgemäßen Verfahren
werden alle diesbezüglichen
Anforderungen erfüllt.
Insbesondere wird dadurch das Verhalten des Netzes hinsichtlich
Lernen von Adressen in den Switches für den gesamten übrigen Verkehr
nicht verändert.
Unter „Lernen" wird folgendes verstanden:
Beim „Lernen" wird in der jeweiligen
Adresstabelle des entsprechenden empfangenden Teilnehmers die Adresse
des Absenders des empfangenen Datentelegramms und der Port des Teilnehmers
eingetragen, über
den das jeweilige Datentelegramm empfangen wurde. Bei dem erfindungsgemäßen Verfahren
mit einer Kopplung von jeweils zwei Ringsystemen über 4 Knoten
ist darüber
hinaus eine völlige
Entkopplung der Kommunikationslast beider Ringe gewährleis tet.
Das erfindungsgemäße Verfahren
kommt wegen der völligen
Entkopplung der beiden Ringe den Anforderungen der Automatisierungstechnik
besser entgegen, da es insbesondere für eine echtzeitfähige Kommunikation
skalierbarer, da leichter handhabbar ist. Die Notwendigkeit von
4 Kopplungsknoten führt
bei Switches, die in Teilnehmer integriert sind, nicht notwendigerweise
zu erhöhten
Kosten, da diese Kopplungsknoten gleichzeitig vollwertige Ringteilnehmer
sein können.
-
Das
erfindungsgemäße Verfahren
ist deshalb insbesondere für
hierarchische Ring-Systeme bzw. Ringtopologien tauglich, ohne dass
es auf irgend einem Pfad zu einer Telegramm-Vervielfachung kommt. Die Basiskonfiguration
eines solchen hierarchischen Ring-Systems mit 4 Knoten zeigt 1.
-
Von
besonderem Vorteil ist es darüber
hinaus, dass die offenbarten Verfahren in Automatisierungssystemen,
insbesondere bei und in Verpackungsmaschinen, Pressen, Kunststoffspritzmaschinen,
Textilmaschinen, Druckmaschinen, Werkzeugmaschinen, Robotern, Handlingsystemen,
Holzverarbeitungsmaschinen, Glasverarbeitungsmaschinen, Keramikverarbeitungsmaschinen
sowie Hebezeugen eingesetzt bzw. verwendet werden können.
-
Im
Weiteren werden bevorzugte Ausführungsbeispiele
der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es
zeigen:
-
1 ein hierarchisches Master-Slave-Ringsystem,
-
2 eine Prinzipskizze zur
Ankopplung eines Slave-Rings an einen Master-Ring,
-
3 eine Prinzipskizze zur
Unsymmetrie beim Lernvorgang,
-
4, 5, 6 und 7 Prinzipskizzen zur Behandlung
von RRT-Telegrammen und
-
8,9 Mögliche
Zustände
während
der Lernphase.
-
1 zeigt eine Basiskonfiguration
eines hierarchischen Ring-Systems bzw. einer hierarchischen Ringtopologie.
-
Das
gezeigte, beispielhafte Kommunikationssystem, welches insbesondere
zur Echtzeitkommunikation geeignet ist, besteht aus einem Master-Ring,
an dem wenigstens ein Slave-Ring (im Prinzip beliebig viele Slave-Ringe)
angeordnet sind.
-
Die
Erfindung basiert auf dem, bei Switches üblichen Verfahren, dass die
Ports, über
die ein empfangenes Telegramm ausgesendet werden soll, über eine
im Switch vorhandene MAC-Adress-Tabelle
bestimmt werden, d.h., anhand der Destination-MAC-Adresse eines Telegramms wird der
Eintrag gesucht und die Ports bestimmt (Dest-Port-Feld). Die Source-MAC-Adresse
eines Telegramms wird zum Lernen neuer Einträge verwendet. Wird – da noch
nicht vorhanden – ein
Eintrag nicht gefunden, so verwendet der Switch einen Default-Wert, üblicherweise
oft unknown-broadcast genannt. Dieser Default-Wert wird für Unicast-Adressen
im folgenden UC_Default_Control und für Multicast-Adressen UC_Default_Control
bezeichnet. Für
reguläre
Telegramme führt
diese Art der Zielfindung immer zu einem einzigen Weg. Dies gilt
auch für
die in 2 gezeigte Ringkopplung,
da alle Zirkularitäten
durch logische Trennstellen unterbunden sind.
-
Telegramme
die permanent redundant auf disjunkten Pfaden übertragen werden sollen, werden
im folgenden RRT-Telegramme genannt. Sie ignorieren diese logischen
Trennstellen. An den Kopplungsknoten wird der Zielfindung für reguläre Telegramme
ein zusätzlicher
Mechanismus für
RRT-Telegramme überlagert.
Dieser Mechanismus wird durch Attribut-Bits des Ports und durch
Steuerbits in einem MAC-Adress-Tabellen-Eintrag gesteu ert. Letztere
werden automatisch gelernt. Wie das Verfahren funktioniert wird
im folgenden beschrieben.
-
Jeder
Port eines Kopplungsknotens kennt zwei Attribut Bits:
- • Port
gehört
zu Ring (r-Port)
- • Port
gehört
zu einer Koppelstrecke (c-Port)
-
Sind
alle beiden Bits gesetzt, so gehört
der Port zu der Verbindungsstrecke zwischen den beiden Kopplungsknotens
eines Rings (cr-Port).
-
Ist
keines der beiden Bits gesetzt, so handelt es sich um den Port einer
nicht redundanten Verbindung (nr-Port).
-
In
einem MAC-Adress-Tabellen-Eintrag gibt es zusätzlich zum F-Bit, das einen Einspeisepunkt
charakterisiert (Feed-Bit), ein M-Bit, das die Zugehörigkeit
des durch die UniCast-MAC-Adresse repräsentierten Teilnehmers spezifiziert
(Membership-Bit). Beide Bits spezifizieren Einspeisepunkt und Mitgliedschaft
gemäß folgender
Tabelle:
-
Einträge mit M-Bit ≠ 0 oder F-Bit ≠ 0 "überleben" eine Rekonfiguration eines verkoppelten
Ring-Systems. Wird die logische Auftrennung für nicht-RRT-Telegramme an eine
andere Stelle verlegt und werden deswegen Einträge gelöscht, so bleiben diese Einträge gültig. In
das Dest-Port-Feld werden aber immer die Ports eingetragen, die
durch M- und F-Bit implizit spezifiziert sind. Das Dest-Port-Feld
wird im Rahmen eines erneuten nachfolgenden Aktualisierens auf den
aktuellen Stand gebracht. Damit
- • wird für nicht-RRT-Verkehr
die Belastung durch unknown-Broadcasts
minimiert
- • bleibt
das RRT-Lastprofil auch während
einer Rekonfiguration völlig
unverändert.
-
M-Bit
und F-Bit werden beim Empfang von RRT-Telegrammen über den
betreffenden Port automatisch gesetzt.
-
Obwohl
die Kopplung gemäß 2 völlig symmetrisch aussieht,
bedarf es einer Differenzierung zwischen einem Master-Ring und einem
Slave-Ring. Ohne eine solche Differenzierung wird das korrekte Erlernen des
Membership-Bits Laufzeit-abhängig
bzw. es käme
zu Zirkulationen.
-
Diese
notwendige Unsymmetrie besteht für
den Lernvorgang und wird anhand von 3 erklärt.
-
Damit
ein Knoten in dem benachbarten Ring bekannt gemacht werden kann,
muss ein Telegramm, dessen Zieladresse noch nicht bekannt ist, in
den anderen Ring eingespeist werden. Am Knoten MK würde es als
Mitglied des Slave-Rings 1 vermerkt werden. Abhängig von
den Zeitverhältnissen
könnte
es aber bei einem möglichen
Rückweg
im Knoten SK als Mitglied des Master-Rings vermerkt werden: Dieses
Verhalten eines RRT-Telegramms mit am Kopplungspunkt noch ungelernter
Destination, kann wie folgt verhindert werden:
- • Von einem
Slave Ring wird immer zusätzlich
in den Master-Ring
eingespeist.
- • Von
einem Master-Ring wird nicht in einen Slave-Ring eingespeist.
-
Dieses
unsymmetrische Verhalten wird durch die entsprechende Parametrierung
des Registers UC_Default_Control am Kopplungsknoten eingestellt,
d.h.
- • ein
Kopplungsknoten am Master-Ring hat in
UC_Default_Control den
c-Port
immer gelöscht,
- • ein
Kopplungsknoten am Slave-Ring hat in
UC_Default_Control den
c-Port
immer gesetzt.
-
Diese
Lösung
bedingt allerdings für
eine Kommunikation zwischen zwei Slave-Ringen ein zweistufiges Lernen,
bevor der eingeschwungene Endzustand erreicht ist.
-
Soll
dies vermieden werden, d.h. soll die Entscheidung ob lokal in einem
Slave-Ring geblieben werden kann oder nicht, bereits dann möglich sein,
wenn jeder Teilnehmer nur einmal ein Telegramm ausgesendet hat, so
muss diese damit publizierte Information an allen andern SK-Knoten
hinterlegt werden. Dies ist nur möglich, wenn die Differenzierung
zwischen Master- und Slave-Ring explizit gegeben ist (eigenes Statusbit
eines Knoten). UC_Default_Control spezifiziert dann einheitlich
immer auch den c-Port. Trifft aber ein Telegramm über eine
c-Strecke an einem SK-Knoten ein und die betreffende Destination-Adresse
ist noch nicht gelernt, so wird zwar die Source-Adresse für das Lernen
verwendet, das Telegramm selbst wird aber vernichtet.
-
Das
erreichbare Routing von RRT-Telegrammen im gelernten Zustand ist
aber unabhängig
vom Lernverfahren. Dies wird in den 4, 5, 6 und 7 dargestellt.
-
Dieses
Verhalten der RRT-Telegramme lässt
sich durch wenige zusätzliche
Regeln beschreiben.
-
Für die Zielfindung/transparente
Aufspaltung gilt:
- • Dest-Port aus Addr-Table-Entry
bzw. MC-/UC_Default_Control
(Standard für
reguläre
Telegramme),
- • ist
ein adressierter Port ein r-Port, so wird der andere r-Port dazu
geordert,
- • der
cr-Port wird ausgeblendet wenn entweder,
– das Telegramm von einem c-Port
kommt oder
– der
c-Port mit M-Bit = 1 und F-Bit = 1 als Destination spezifiziert
ist.
-
Im
letzten Fall wird dafür
der c-Port eingeblendet
- • der c-Port wird ausgeblendet,
wenn das Telegramm von einem cr-Port kommt.
-
Für ein MC-Telegramm
von einem r-Port gilt an einem Kopplungsknoten zusätzlich
- • es
werden immer der c- und der cr-Port ausgeblendet, wenn die Source-Rdresse
einen ungelernten Eintrag (M-Bit = 0, F-Bit = 0) adressiert.
-
Die
Source-Adressen von Multicast-Telegramme dürfen also nicht gelernt werden.
-
Ein
RRT-Telegramme wird immer dann vernichtet,
- • wenn es
von einem r-Port kommt und
– seine Source-Adresse einen
Eintrag mit F-Bit = 1 adressiert.
-
Die
während
der Lernphase auftretenden Zustände
sind in den 8 und 9 gezeigt.
-
Das
erfindungsgemäße Verfahren
setzt kein Store-and-Forward-Verfahren
der Datentelegramme in den Switches voraus, Datentelegramme können auch
schnellstmöglich
im Cut-through-Verfahren
weitergeleitet werden. Zur sicheren Vernichtung von verfälschten
zirkulierenden Datentelegrammen muss lediglich ein einziger Switch
innerhalb eines Kommunikationssystems, insbesondere einer Ringanordnung
im Store-and-Forward-Modus arbeiten.
-
Zusammengefasst
ist mit dem erfindungsgemäßen Verfahren
eine permanente redundante Übertragung
von Datentelegrammen auf disjunkten Pfaden insbesondere für hierarchische
Ringsysteme bzw. Ringtopologien möglich, wobei zirkulierende
Datentelegramme zuverlässig
erkannt und vernichtet werden können. Darüber hinaus
erfolgt die Aufspaltung auf zwei Datentelegramme an der entsprechenden
Verzweigungsstelle transparent, und es entsteht beim Empfänger keine
zusätzliche
Belastung durch den Empfang zweier identischer Datentelegramme,
beispielsweise durch die Zuordnung einer aktuellen Zyklusnummer
zu den empfangenen Datentelegrammen in einem zyklischen Kommunikations system.
In einem nicht zyklischen Kommunikationssystem kann dies durch softwaretechnische
Behandlung, beispielsweise der Headerkennung der Datentelegramme,
ebenfalls gewährleistet
werden. Insbesondere wird darüber
hinaus das Verhalten des Kommunikationssystems hinsichtlich „Lernen" von Adressen in
den einzelnen Teilnehmern, insbesondere den Switches, für den gesamten übrigen Datenverkehr
nicht verändert.